]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/machoXX.c: Fix compilation on non-i386.
[grub2.git] / ChangeLog
CommitLineData
3e88fbfa
VS
12013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
4
1123bed9
VS
52013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
8
ebda165f
VS
92013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/loader/macho.c: Fix compilation on non-i386.
12
fe7c20bf
VS
132013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Add missing format_arg attribute to check that printf with translated
16 messages has proper arguments.
17
f4dab3d1
VS
182013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
19
20 Use grub_xasprintf to format translated error messages containing
21 64-bit quantity.
22
24d5934d
JM
232013-12-17 Jon McCune <jonmccune@google.com>
24
25 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
26
d6c2782a
VS
272013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Unify message for unsupported relocation.
30
50d2e959
VS
312013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Mark miscompile error for translation.
34
18e76955
VS
352013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Use %I64 and not %ll when using OS printf if compiling for windows.
38
d218ec97
VS
392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Update Mac code to match new register_efi prototype.
42
b8765fa0
VS
432013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
44
45 Implement better integration with Mac firmware.
46
1f032575
VS
472013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/loader/multiboot_mbi2.c: Implement special value for
50 load_addr.
51
14829755
VS
522013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
53
54 Include serial module in default_payload.elf.
55
d45067a2
VS
562013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Add explicit thumb interwork bx in asm files.
59
60 Shouldn't matter for armv >= 5 but let's be safe.
61
30861754
VS
622013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Implement Truecrypt ISO loader.
65
e14d409b
VS
662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/lib/arg.c: Ensure at least a single space between commands.
69
ec824e0f
VS
702013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
71
72 Implement grub_file tool and use it to implement generating of config
73 in separate root.
74
296f7606
VS
752013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
76
77 Change to v1 xen grants.
78
2c384f1e
VS
792013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
82
83 GRUB relied on %ebx being preserved across hypercall which isn't true.
84
d16ff589
VS
852013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
88
89 GRUB relied on %rdi being preserved across hypercall which isn't true.
90
71669c3b
VS
912013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Implement XEN VFB support.
94
60d1dd3d
VS
952013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Remove grub_bios_interrupt on coreboot.
98
99 It's not used currently and cannot be used safely currently.
100
a8201050
VS
1012013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Update exclude.pot and mark few strings for translation.
104
6cc89597
VS
1052013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
108
109 Reported by: Jon McCune
110
840a2c05
AB
1112013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
112
113 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
114 Add verbose information which firmware directories were tried.
115
35248820
AB
1162013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
117
118 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
119 function to optionally redirect all three standard descriptors.
120 Redefine grub_util_exec, grub_util_exec_redirect and
121 grub_util_exec_redirect_null to use it.
122 * include/grub/emu/exec.h: Define it.
123 * include/grub/osdep/exec_unix.h: Delete, it is unused.
124 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
125 Use grub_util_exec_redirect_all to redirect error to NULL.
126
2a123f4c
VS
1272013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/tests/sleep_test.c: Silence spurious warning.
130
316c8d9a
VS
1312013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
132
133 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
134 linker trying to "fixup" the code.
135
8fcce8d5
VS
1362013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/kern/x86_64/xen/startup.S: Align stack.
139
6f1f6a0c
VS
1402013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Add support for converting PE+ to Elf64.
143
66a07ce2
VS
1442013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
147
cc6fb517
VS
1482013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
149
150 Remove practice of assigning random const pointers to device id.
151
152 This is not required as cache code already checks driver id as well.
153
f009f07c
VS
1542013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
157 with mingw.
158
9fdec226
VS
1592013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * include/grub/efi/api.h: Don't use call wrappers when compiled with
162 mingw or cygwin as API already matches.
163
d87cb3ae
VS
1642013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
167
3e38c31a
VS
1682013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
171 not on long.
172
f4171ebd
VS
1732013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Handle X86_64_PC64 relocation.
176
177 Those are generated by some cygwin compilers.
178
252a289c
VS
1792013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Determine the need for mingw-related stubs at compile time rather than
182 using not very significant $target_os.
183
23d2abc3
VS
1842013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
187 may not work with ELF.
188
4f979ccb
VS
1892013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
190
191 Use unix functions for temporary files and special files on cygwin.
192
37378f74
VS
1932013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Define functions explicitly rather than using --defsym in tests
196 whenever possible. Respect locality in remaining cases.
197
6a09d83e
VS
1982013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
201
e477187b
AB
2022013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
203
204 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
205 unlikely errors when getting EFI variables and make exhaustive search
206 for all BootNNNN variables to find matching one.
207
80b865bd
IC
2082013-12-15 Ian Campbell <ijc@hellion.org.uk>
209
210 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
211
04b02857
VS
2122013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
213
214 New functional test for sleep function.
215
216 This test allows to check sleep without qemu. Keep qemu version as
217 well as functional test won't notice if all clocks are going too fast
218 or too slow.
219
39711101
VS
2202013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
221
222 Add explicit sysv_abi on amd64 asm routines.
223
d99af4f0
VS
2242013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
227 num_table_entries.
228
71043684
VS
2292013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
232 functions.
233
111bf5db
VS
2342013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
237 appropriate.
238
24ca71c9
VS
2392013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
242
48ba5c0c
VS
2432013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
246 appropriate.
247
8ae67045
VS
2482013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
251
252 In case of quick removal of loopback and adding another one it may
253 get same ID, confusing the cache system.
254
ed559310
VS
2552013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
258 appropriate.
259
8fa26279
VS
2602013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
263 than converting to long.
264
6f5f3337
VS
2652013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
268
e7c418c5
VS
2692013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
272 than almost useless pointer.
273
7e47e27b
VS
2742013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Add gcc_struct to all packed structures when compiling with mingw.
277
278 Just "packed" doesn't always pack the way we expect.
279
ae8159b9
VS
2802013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
283
74e7ad66
VS
2842013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * util/grub-pe2elf.c: Fix handling of .bss.
287
814442ba
VS
2882013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
289
290 Implement windows flavour of EFI install routines.
291
5f5bb107
VS
2922013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
295
a24725cc
VS
2962013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Change grub_install_register_efi interface to pass GRUB device.
299
300 This allows grub_install_register_efi to request partition info
301 directly.
302
38933cee
VS
3032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
304
305 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
306
6d3cfe50
VS
3072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Do not use TCHAR string functions as they are not available on cygwin.
310
4bad23a1
VS
3112013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Workaround windows bug when querying EFI system partition parameters.
314
6a5fe132
VS
3152013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
318 by using bitfields.
319
bc8fcf4b
VS
3202013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
323
60b967be
VS
3242013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Make i386-* other than i386-pc compileable under cygwin.
327
6dc33377
VS
3282013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
329
330 Fix definition of grub_efi_hard_drive_device_path. Take care that
331 existing code would work even if by some reason bogus definition is
332 used by EFI implementations.
333
f2c6ff15
VS
3342013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
337
6b8a1625
VS
3382013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
341 invocation.
342
954c723a
VS
3432013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * util/config.c: Remove trailing newline from distributor in simple
346 parsing.
347
607a39f9
VS
3482013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * include/grub/efi/api.h: Rename protocol and interface to avoid
351 conflict.
352
df6fedca
VS
3532013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
356 entries.
357
f684d7e1
VS
3582013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/osdep/exec.c: Use unix version on cygwin.
361
0df77d79
VS
3622013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Implement multiboot2 EFI BS specification.
365
dafff9ce
VS
3662013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/normal/charset.c: Fix premature line wrap and crash.
369 Crash happened only in some cases like a string starting at the
370 half of the screen of same length.
371
6644d973
VS
3722013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
375 with EFI counterpart.
376
44bbfa33
VS
3772013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Propagate the EFI commits to x86-efi specific parts.
380
3e3dff24
VS
3812013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/commands/efi/lssal.c: Fix terminating condition.
384
316dda71
VS
3852013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Introduce grub_efi_packed_guid and use it where alignment is not
388 guaranteed.
389
219401b8
VS
3902013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * include/grub/efi/api.h (grub_efi_device_path): Define length as
393 unaligned u16 rather than u8[2].
394
30d00537
VS
3952013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
398 for relocation range.
399
979742bc
VS
4002013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
403 non-function pcrel21b relocation. It happens with .text.unlikely
404 section.
405
16c8f785
LL
4062013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
407
408 * make MAX_USABLE_ADDRESS platform-specific
409 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
410
3f1423e7
LL
4112013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
412
413 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
414
dd73313c
JM
4152013-12-09 Jon McCune <jonmccune@google.com>
416
417 * Add --no-rs-codes flag to optionally disable reed-solomon codes
418 in grub-install and grub-bios-setup for x86 BIOS targets.
419
eaf01c25
VS
4202013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Add missing compile and link options for sparc64-emu.
423
7a148da6
VS
4242013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Implement sparc64 trampolines (needed for sparc64-emu).
427
21eee750
VS
4282013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
431 range of R_SPARC_HI22.
432 Implement R_SPARC_LM22.
433
7b54b626
VS
4342013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
437 Do not explicitly check for symbol table as it's already checked in
438 platform-independent layer.
439
9a945e2a
VS
4402013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
443 on ia64 as __clear_cache is a dummy on ia64.
444
4f4ea1b4
VS
4452013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
448 Do not explicitly check for symbol table as it's already checked in
449 platform-independent layer.
450
fe4ae213
CW
4512013-12-09 Colin Watson <cjwatson@ubuntu.com>
452
453 * util/grub-mkconfig.in: Add missing newline to output.
454
78b2b0a1
VS
4552013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
458 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
459
d14772c4
VS
4602013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
463 compilation with GCC <= 4.2.
464 * grub-core/kern/emu/argp_common.c: Likewise.
465
388f3cd0
VS
4662013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
469 right platform rather than leaking to sparc64-emu.
470
11e4167a
VS
4712013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
474 But ensure that the variables in question are indeed unsigned.
475
fa7eb63d
VS
4762013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
479
50b3a68d
VS
4802013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Remove grub_memalign on emu.
483
fbbfb6ab
VS
4842013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
487 truncate incomplete lines but instead flushes them.
488
a19293cb
VS
4892013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
490
491 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
492 and implement windows variant.
493
d5c14e1e
VS
4942013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
495
496 Fix mips-emu compilation.
497
b75db69a
VS
4982013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * configure.ac: Check for freetype library usability.
501
c311ced5
VS
5022013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Make arm-emu work.
505
c8fd2ddf
VS
5062013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
509
c50e5f45
AB
5102013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
511
512 * docs/grub.texi (Environment): Update color_normal and color_highlight
513 defaults (light-gray instead of white).
514
bb05e313
AB
5152013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
516
517 * grub-core/normal/main.c (INIT): Set default color to light-gray
518 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
519 and apparently BIOS defaults.
520
f23bc651
VS
5212013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Transform -C option to grub-mkstandalone to --core-compress available
524 in all grub-install flavours.
525
4c4ea9c7
VS
5262013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
527
528 Merge GRUBFS and GRUB_FS variables.
529
92e9352d
AB
5302013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
531
532 Revert commit 69ca97c820, it caused failures when using OS device name
533 in grub-install. Instead just strip off parenthesis in grub-install
534 if (hdX) was passed.
535
f585c905
AB
5362013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
537
538 * util/grub-install.c (push_partmap_module): Add helper to convert
539 partmap names to module names and use it in probe_mods(). Fixes
540 failure to find partmap modules in diskfilter case.
541
5ff24907
VS
5422013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * configure.ac: Make unifont mandatory on coreboot.
545
0277eab7
VS
5462013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * configure.ac: Skip unifont 6.3 pcf and bdf.
549
4861b6c8
VS
5502013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * Makefile.am: Remove partial font files if generation failed.
553
3100cdc7
AB
5542013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
555
556 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
557 strings.
558 * include/grub/util/misc.h: Define it ...
559 * util/grub-install.c (device_map_check_duplicates): ... and use it.
560
ad73cc33
AB
5612013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
562
563 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
564 ${grub_probe}.
565
41822625
VS
5662013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Don't add -mlong-calls when compiling with clang.
569
896f483d
VS
5702013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * configure.ac: Fix a typo.
573
8c534b85
VS
5742013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
575
576 Revamp relocation handling.
577
578 Move more code to common dl.c. Add missing veneers for arm and arm64.
579 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
580
a846dd4b
VS
5812013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
584
aa437b58
MG
5852013-12-05 Mike Gilbert <floppym@gentoo.org>
586
587 * INSTALL: Raise minimum python version to 2.6.
588 * gentpl.py: Use python3-style print function.
589
b0f311f4
VS
5902013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * util/grub-install.c: Mention Boot* variable.
593
59b38922
CW
5942013-12-05 Colin Watson <cjwatson@ubuntu.com>
595
596 * grub-core/osdep/linux/hostdisk.c
597 (grub_util_find_partition_start_os): Initialise start to avoid
598 spurious compiler warning.
599
0480665b
CW
6002013-12-05 Colin Watson <cjwatson@ubuntu.com>
601
602 On Linux, read partition start offsets from sysfs if possible, to
603 cope with block device drivers that don't implement HDIO_GETGEO.
604 Fixes Ubuntu bug #1237519.
605
606 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
607 function.
608 (sysfs_partition_start): Likewise.
609 (grub_util_find_partition_start_os): Try sysfs_partition_start
610 before HDIO_GETGEO.
611
bbeee1c4
LL
6122013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
613
614 * grub-core/kern/fdt.c: Update struct size when adding node.
615
e5ed2f69
VS
6162013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Handle unaligned .bss on sparc64.
619
620 Current code improperly assumes that both __bss_start and _end are
621 aligned to 8-bytes. Eliminating this assumption and explicitly align
622 modules.
623
4a73746a
VS
6242013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
627 so it doesn't land in the middle of loaded image.
628
382b500e
VS
6292013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * configure.ac: Move all warning options that may be absent in
632 gcc >= 3.1 to optional.
633
634 Note: while this allows to compile with older GCC, official requirements
635 remain the same and no support for older GCC.
636
3a82f8bb
CW
6372013-12-04 Colin Watson <cjwatson@ubuntu.com>
638
639 Copying the themes directory in grub-shell isn't
640 parallel-test-friendly and breaks on the second test when the source
641 directory is read-only (as in "make distcheck"). Instead, add a
642 hidden --themes-directory option to grub-mkrescue et al, and use it
643 in grub-shell.
644
e3046431
VS
6452013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
648 as it's no longer necessarry.
649
bdb6090d
VS
6502013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * configure.ac: Allow compilation with older GCC for ARM.
653
b73b70eb
VS
6542013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
657 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
658 ppc.
659
8a3f0a24
VS
6602013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
663
6f07c4e4
VS
6642013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Pass font config to config.h and not by TARGET_CFLAGS as adding
667 arguments doesn't work if TARGET_CFLAGS is specified on command
668 line.
669
60d5e9cb
VS
6702013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * configure.ac: Add -Wvla if compiler supports it.
673
cd15c394
VS
6742013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
677 Remove variable length arrays.
678 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
679
bb6e299c
VS
6802013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
683
85eb579a
VS
6842013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * include/grub/types.h: Declare all byteswaps as inline functions
687 except compile-time ones.
688
689 Solves variable shadowing in constructions like
690 cpu_to_le (le_to_cpu(x) + 1).
691
47f88cc9
VS
6922013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/kern/efi/efi.c: Remove variable length arrays.
695
40b5739f
VS
6962013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
699 minutes.
700
234d9346
VS
7012013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
704 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
705
0c0eab52
CW
7062013-12-03 Colin Watson <cjwatson@ubuntu.com>
707
708 * grub-core/Makefile.core.def (setjmp): Distribute
709 lib/arm64/setjmp.S.
710
44d48847 7112013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
712
713 Add a new timeout_style environment variable and a corresponding
714 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
715 controls hidden-timeout handling more simply than the previous
716 arrangements, and pressing any hotkeys associated with menu entries
717 during the hidden timeout will now boot the corresponding menu entry
718 immediately.
719
720 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
721 generates a warning, and if it shows the menu it will do so as if
722 the second timeout were not present. Other combinations are
723 translated into reasonable equivalents.
724
10955cda
CW
725 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
726
9e4e6ddf
VS
7272013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * util/config.c: Add missing pointer adjustment.
730 Reported by: qwertial
731
5037aa9a
AB
7322013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
733
734 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
735 directly, not via `cpu' link, to fix libgrub.pp generation.
736
8a952d20
VS
7372013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
738
739 New port arm64-efi.
740
be0d4555
AB
7412013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
742
743 * docs/grub.texi (sleep): Document exit codes.
744
d74b9a1d
VS
7452013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Ensure that -mno-unaligned-access or some equivalent option is used.
748
35de6d4b
VS
7492013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
752 -march=armv3.
753
ce55ed03
VS
7542013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
757
8ddf84bf
CW
7582013-11-29 Colin Watson <cjwatson@ubuntu.com>
759
760 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
761 builds, since we don't have an EPS version of font_char_metrics.png.
762 Add leading dot to image extension per the Texinfo documentation.
763
fd0df6d0
CW
7642013-11-29 Colin Watson <cjwatson@ubuntu.com>
765
766 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
767 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
768 * util/grub-gen-widthspec.c: Likewise.
769 * util/grub-mkfont.c: Likewise.
770
69ca97c8
AB
7712013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
772
773 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
774 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
775 failed to install on (hdX).
776 * util/grub-setup.c (get_device_name): Remove, not needed after
777 above change.
778
eec893ae
VS
7792013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
782
621e167f
VS
7832013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * util/grub-fstest.c: Remove variable length arrays.
786
d54f647a
VS
7872013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/osdep/linux/ofpath.c: Check return value of read.
790
c8a0f1b2
VS
7912013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
794 computing crc32 rather than handling with md fundtions directly.
795
726409a5
VS
7962013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
799 checking fwstart.img rather than md fundtions directly.
800
422e6e88
VS
8012013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * util/grub-mkrescue.c (main): Check that fread succeeded.
804
af1faca3
VS
8052013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * conf/Makefile.common: Remove -mexplicit-relocs and
808 -DUSE_ASCII_FALLBACK on yeeloong.
809
810 -DUSE_ASCII_FALLBACK is already added by font snippets.
811 -mexplicit-relocs isn't needed is compiler/assemblera are
812 configured properly.
813 If they're not we shouldn't attempt to fix it by ourselves.
814 Binary compare between before and after shows no difference.
815
469021b4
VS
8162013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
819 sources in dependencies directly.
820
821 This was the only instance of "library" in core config. A bug was
822 reported that -fno-stack-protector wasn't passed to it. Instead of
823 figuring out why it failed just remove this construction used
824 needlessly.
825
83c256ba
VS
8262013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/osdep/unix/password.c (grub_password_get): Check that
829 fgets succeeded.
830
b67422d3
FL
8312013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
832
833 * docs/grub.texi (ls): Fix command description in case of a device name
834 passed as argument.
835
2d76b4d8
VS
8362013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Eliminate variable length arrays in grub_vsnprintf_real.
839
840 A bit tricky because this function has to continue to work without
841 heap for short strings. Fixing prealloc to 32 arguments is reasonable
842 but make all stack references use 32-bit offset rather than 8-bit one.
843 So split va_args preparsing to separate function and put the prealloc
844 into the caller.
845
4f954122
VS
8462013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
847
848 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
849 Fixes build for windows.
850
b1f742c1
VS
8512013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * gentpl.py: Don't generate platform-dependent conditionals for
854 platform-independent targets.
855
16ef26fd
CW
8562013-11-27 Colin Watson <cjwatson@ubuntu.com>
857
858 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
859 references to mdadm from otherwise generic code.
860 (grub_util_exec_pipe): Likewise.
861 (grub_util_exec_pipe_stderr): Likewise.
862 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
863 This function calls vgs, not mdadm; adjust variable names
864 accordingly.
865
cf8c80ff 8662013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
867
868 Generate Makefile.*.am directly from gentpl.py, eliminating the use
869 of Autogen. The Autogen definitions files remain intact as they
870 offer a useful abstraction.
871
5c7206e4
CW
8722013-11-27 Colin Watson <cjwatson@ubuntu.com>
873
874 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
875 into no-ops, and use it in programs that copy files but do not need
876 to take special care to sync writes (grub-mknetdir, grub-rescue,
877 grub-mkstandalone).
878
fc3f2b72
CW
8792013-11-26 Colin Watson <cjwatson@ubuntu.com>
880
881 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
882 than hardcoding /usr/local/bin/xorriso.
883
1e4b3587
VS
8842013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Add PCI command activation to all PCI drivers as required for coreboot
887 and maybe some other firmwares.
888
9208367d
VS
8892013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
892 and non-Apple variants of efiemu compile.
893
67b9b7af
AB
8942013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
895
896 * configure.ac: Add explicit check for linking format of
897 efiemu64; save it as EFIEMU64_LINK_FORMAT.
898 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
899 hardcoding linking format.
900
bee1b5ce
VS
9012013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
904 and not pkgdatadir.
905
07e3b047
CW
9062013-11-25 Colin Watson <cjwatson@ubuntu.com>
9072013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
908
909 Add a --locale-directory option to grub-install and related tools.
910
911 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
912 --locale-directory option.
913 (enum grub_install_options): Add
914 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
915 * util/grub-install-common.c (grub_install_help_filter): Handle
916 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
917 (grub_install_parse): Likewise.
918 (get_localedir): New function to check for a user-provided option
919 before trying grub_util_get_localedir.
920 (copy_locales): Use get_localedir rather than
921 grub_util_get_localedir. Handle differing locale directory layouts.
922 (grub_install_copy_files): Likewise.
923
61e1b9a4
VS
9242013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
927 Don't rely on PATH_MAX.
928
c98dd165
VS
9292013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/genmoddep.awk: Use more portable && rather than and.
932
ff1c277e
VS
9332013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
936 an object after data. While it doesn't seem right solution, it
937 works well enough and OSX isn't main compilation platform.
938
c8f7614b
VS
9392013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
942 While it doesn't seem right solution, it works well enough and
943 OSX isn't main compilation platform.
944
246a434f
VS
9452013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * configure.ac: Add -static to LDFLAGS when using apple linker to
948 prevent it from pulling in dynamic linker.
949
5c066a81
VS
9502013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
951
952 Apple assembly doesn't handle symbol arithmetic well. So define an
953 offset symbol in boot.S and use it.
954
78f961ef
VS
9552013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
956
957 Apple assembly doesn't handle symbol arithmetic well. So instead
958 of getting addres of kernel_sector + 4 define kernel_sector_high.
959 It also makes code more readable.
960
09bc0a57
VS
9612013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
962
963 With Apple assembly in .macro environvemnt you have to use $$ instead
964 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
965 to $$x on Apple and to $x on everything else.
966
b700a427
VS
9672013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
970 OBJCONV.
971
4480b95d
VS
9722013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
975 and non-Apple. This instruction is shorter and faster,
976 so no reason not to use it on both.
977
e77c81f6
VS
9782013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
981 .text when compiling for Apple.
982
971dbee5
VS
9832013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/term/arc/console.c: Add missing cast to silence warning.
986
6f2e82be
VS
9872013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
990 %dx restore the probe worked on non-existant drive. Reorganize the
991 code a little bit to free 2 bytes necessary for push/pop.
992
9eec9699
VS
9932013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
996 Add missing cast to silence warning.
997
5ae5c54c
KPA
9982013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
999
1000 * util/grub-install.c (update_nvram): Support --no-nvram flag
1001 for EFI targets.
1002
7b04fe6c
VS
10032013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1006
e67566ce
VS
10072013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * util/garbage-gen.c: Add missing include of sys/time.h.
1010
f93ddcfd
VS
10112013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Don't add -mflush-func if it's not supported by compiler.
1014
1bba40f5
VS
10152013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Move common BIOS/coreboot memory map declarations to
1018 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1019
f65e14dc
AB
10202013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1021
1022 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1023
14a94bba
VS
10242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * INSTALL: Document why older clang versions aren't appropriate.
1027
8109c5d4
VS
10282013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * INSTALL: Document about clang for mips.
1031
a92b5cb8
VS
10322013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1035 clang.
1036
4a23e2fe
VS
10372013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Add *-xen to the list of grub-install-common platforms.
1040
a3ba7410
VS
10412013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1044 3 last commits.
1045
e1c22419
VS
10462013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1049
189090ce
VS
10502013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1053 with -mcmodel=large.
1054
1a5b7b40
VS
10552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1058 range-checking for 32-bit quantities.
1059
9cf12b20
VS
10602013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * configure.ac: Compile with -fPIC when compiling with clang on
1063 mips.
1064
63a45330
VS
10652013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1068 when compiling with clang.
1069
4a0aaad0
VS
10702013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 clang emits calls to abort () under some unknown conditions.
1073 Export abort () when compiling with clang.
1074
095bb1bf
VS
10752013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * docs/grub-dev.texi: Document stack and heap sizes.
1078
3937bd96
VS
10792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * include/grub/i386/pc/memory.h: Decrease
1082 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1083 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1084 The binary doesn't change (checked). It's more to better reflect actual
1085 usage.
1086
ddb3efc9
VS
10872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1090 at compile time that enough of scratch size is available.
1091
4e42521d
VS
10922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1095 Previously we misaligned stack by 8 in startup.S and compensated
1096 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1097 right behaviour is to align stack in startup.S and keep it aligned
1098 in callwrap.S. startup.S part was committed few commits before. This
1099 takes care of callwrap.S.
1100 Reported by: Gary Lin.
1101
054efe54
VS
11022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1105 .data and .bss. May happen if compiler and assembly use different
1106 alignment.
1107
a0e1befb
VS
11082013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1111 way.
1112
c36c73f6
VS
11132013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Add support for a new magic symbol _gp_disp on mips to handle PIC
1116 binaries.
1117
6f4a19f5
VS
11182013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1121
0d8f04cd
VS
11222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1125 when rest of GRUB is compiled for hisher stepping. Instead use
1126 .set mips3/.set mips1 around cache and sync opcodes.
1127
49060520
VS
11282013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1131 do essentially the same thing, do it in similar way.
1132
c6a823e2
CW
11332013-11-21 Colin Watson <cjwatson@ubuntu.com>
1134
1135 * util/grub-mkrescue.c (main): If a source directory is not
1136 specified, read platform-specific files from subdirectories of
1137 pkglibdir, not pkgdatadir.
1138
b7f9aedf
CW
11392013-11-21 Colin Watson <cjwatson@ubuntu.com>
1140
1141 * grub-core/normal/progress.c: Remove unused file.
1142
7dd0a303
VS
11432013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1146 array.
1147
ca120e31
VS
11482013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1151 than grub.cfg.
1152
48eb35cd
VS
11532013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * coreboot.cfg: Add missing file.
1156
7f20dbbc
VS
11572013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1160
55e706c9
AK
11612013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1162
1163 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1164 selectively skipping systems.
1165
4e7d433d
CW
11662013-11-19 Colin Watson <cjwatson@ubuntu.com>
1167
1168 * Makefile.util.def (grub-mkimage): Add
1169 grub-core/osdep/aros/config.c to extra_dist.
1170 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1171 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1172 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1173 grub-core/gnulib-no-gets.diff.
1174
7d44ff7d
VS
11752013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 Add automated filesystem checking based on scripts I've used now for
1178 quite some time locally. Most of the test require root so they are
1179 skipped when run without necessarry privelegies.
1180
a8c3e5e3
CW
11812013-11-19 Colin Watson <cjwatson@ubuntu.com>
1182
1183 * util/grub-install.c (main): Adjust info messages to match
1184 installed paths of grub-bios-setup and grub-sparc64-setup.
1185
4402db3e
CW
11862013-11-19 Colin Watson <cjwatson@ubuntu.com>
1187
1188 * util/grub-install-common.c (copy_locales): Consistently use
1189 grub_util_get_localedir () rather than LOCALEDIR.
1190 (grub_install_copy_files): Likewise.
1191
7960d3e1
JT
11922013-11-19 Josh Triplett <josh@joshtriplett.org>
1193
1194 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1195 16-byte boundary, as required by the x86-64 ABI, before calling
1196 grub_main. In some cases, GCC emits code that assumes this
1197 alignment, which crashes if not aligned. The EFI firmware is also
1198 entitled to assume that stack alignment without checking.
1199
d53f4900
JT
12002013-11-18 Josh Triplett <josh@joshtriplett.org>
1201
1202 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1203 4k page boundaries as expected by firmware rather than 1k
1204 boundaries.
1205 (grub_mmap_malign_and_register): Likewise.
1206
bb2b275b
VS
12072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1210 fragmentation 512M is enough.
1211
45bf8b3a
VS
12122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1215 pointer to 32K. This is the size of cache element which is the most
1216 common allocation >1K. This way the pointer is always around blocks
1217 of 32K and so we keep performance while decreasing fragmentation.
1218
39ff43c5
VS
12192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1222 current memory when allocating large chunks. This significantly
1223 decreases memory fragmentation.
1224
60870be8
CW
12252013-11-18 Colin Watson <cjwatson@ubuntu.com>
1226
1227 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1228 but for symmetry).
1229 * tests/lzocompress_test.in: Skip if lzop is not installed.
1230 * tests/xzcompress_test.in: Skip if xz is not installed.
1231
a1f00cc5
CW
12322013-11-18 Colin Watson <cjwatson@ubuntu.com>
1233
1234 * util/grub-mkrescue.c (main): Fix typo.
1235
74e632fe
VS
12362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1239 clock frequency to 200 MHz,
1240
efb8de49
VS
12412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1244
b7526e78
VS
12452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1248 Load config file from (cbfsdisk)/etc/grub.cfg.
1249
b40ce651
VS
12502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * util/grub-install-common.c (grub_install_copy_files): Fix module
1253 destination directory.
1254
1e8e2e78
CW
12552013-11-18 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1258 files have not been built.
1259
3bf4088b
CW
12602013-11-18 Colin Watson <cjwatson@ubuntu.com>
1261
1262 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1263 Handle errors from mkstemp.
1264 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1265
35c2851c
VS
12662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1269 on primary master on pseries.
1270
ea7c1a7d
VS
12712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1274 already loaded. This saves memory needed for tests,
1275
96adefdb
VS
12762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1279 work again.
1280
5e3cb8a7
VS
12812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1284 work again.
1285
256ee7ac
VS
12862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1289 master since with some combinations of qemu and firmware only primary
1290 IDE channel is available.
1291
f8b4c3b6
VS
12922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1295 low-memory platforms where we don't have enough memory for them.
1296 * grub-core/tests/videotest_checksum.c: Likewise.
1297
4bf70320
VS
12982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1301 already loaded. This saves memory needed for tests,
1302
a284320e
VS
13032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 Fix handling of install lists.
1306
2df8f43d
VS
13072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1310
6f1bc8bc
VS
13112013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1314 the devices before accessing them.
1315
04f39f6d
VS
13162013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1319 as file argument.
1320
35d4761c
VS
13212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1324
33d02a42
VS
13252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1328 (grub_file_close): Free file->name.
1329
7bbb60cf
VS
13302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1333 (grub_load_public_key): Likewise.
1334 (grub_verify_signature_real): Likewise.
1335 (grub_cmd_verify_signature): Likewise.
1336
da93d675
VS
13372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1340 memory leak.
1341
59c943ec
VS
13422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1345 (grub_longjmp): Restore r31.
1346 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1347
4336b5d8
VS
13482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1351 modules to be in line with make_image_abs.
1352
44ce3a93
VS
13532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1356
1357 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1358
7d400406
IC
13592013-11-17 Ian Campbell <ijc@hellion.org.uk>
1360
1361 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1362
77dae919
VS
13632013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1366 to leave some memory to firmware.
1367
0ab8e025
VS
13682013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1371 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1372 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1373 Load gfxmenu.
1374
b80c2d6d
VS
13752013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1378 now needs full arguments.
1379
6aa6077b
VS
13802013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * util/grub-mkrescue.c (main): Add trailing \n in
1383 .disk_label.contentDetails to be in line with previous shell script.
1384
66c00cb1
VS
13852013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1388
3a129dba
VS
13892013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * util/grub-install-common.c (grub_install_parse): Recognize
1392 --compress=none like shell script did.
1393
8df6eff6
VS
13942013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * include/grub/misc.h: Replace check for __sparc64__ with one for
1397 __sparc__ as __sparc64__ isn't actually defined.
1398
889ebe92
VS
13992013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1402 counterpart of fixing the naming of escc ports.
1403
d4d55b29
VS
14042013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/grub-install-common.c (platforms): Fix the order of entries and
1407 remove useless field val.
1408
55e2c84f
VS
14092013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * util/grub-install.c: Add new option --no-bootsector to skip
1412 installing of bootsector. Accept --grub-setup=/bin/true as
1413 backwards-compatible synonym.
1414
cd46aa6c
VS
14152013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1416
1417 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1418 order of qsort arguments (number of elements vs. element size).
1419
14202013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1423 the function of these files exceeds what can be sanely handled in shell
1424 in posix-comaptible way. Also writing it in C extends the functionality
1425 to non-UNIX-like OS and minimal environments.
1426
9ef81064
VS
14272013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1430 compiling to thumb2.
1431 * grub-core/kern/arm/cache_armv7.S: Likewise.
1432 * grub-core/lib/arm/setjmp.S: Likewise.
1433
11a77932
LL
14342013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1435
1436 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1437 in grub_uboot_syscall
1438
080603f0
VS
14392013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Decrease stack usage in lexer.
1442
1443 We have only 92K of stack and using over 4K per frame is wasteful
1444
1445 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1446 as macros so that compiler would remove useless structure on stack.
1447 Better solution would be to fix flex not to put this structure on
1448 the stack but flex is external program.
1449
4f84ae0e
VS
14502013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Decrease stack usage in signature verification.
1453
1454 We have only 92K of stack and using over 4K per frame is wasteful
1455
1456 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1457 rather than stack.
1458 (grub_verify_signature_real): Likewise.
1459
e6a6182d
VS
14602013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Decrease stack usage in mdraid 0.9x.
1463
1464 We have only 92K of stack and using over 4K per frame is wasteful
1465
1466 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1467 rather than stack.
1468
1a454efe
VS
14692013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Decrease stack usage in BtrFS.
1472
1473 We have only 92K of stack and using over 4K per frame is wasteful
1474
1475 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1476 rather than stack.
1477
7b5d51d8
VS
14782013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Decrease stack usage in JFS.
1481
1482 We have only 92K of stack and using over 4K per frame is wasteful
1483
1484 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1485 stack. Note: this function is recursive.
1486 (grub_jfs_read_inode): Read only part we care about.
1487
593865b9
LL
14882013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1489
1490 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1491 handling
7b5d51d8 1492
31c0cd43
AB
14932013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1494
1495 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1496
c2fdb331
AB
14972013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1498
1499 * docs/grub.texi (Environment): Document cmdpath.
1500
9e18dfe2
AB
15012013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1502
1503 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1504 Remove "unused" attribute from arguments, they are used.
1505
59ba9d14
CW
15062013-11-15 Colin Watson <cjwatson@debian.org>
1507
1508 * .gitignore: Only ignore grub-mk* at the top level.
1509
23012db9
CW
15102013-11-15 Colin Watson <cjwatson@ubuntu.com>
1511
1512 * util/grub-reboot.in (usage): Fix a typo.
1513
6fcec439
VS
15142013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 Replace libgcc version of ctz with our own.
1517
1518 On upcoming arm64 port libgcc ctz* are not usable in standalone
1519 environment. Since we need ctz* for this case and implementation is
1520 in C we may as well use it on all concerned platforms.
1521
a9f25a08
VS
15222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * configure.ac: Probe for linking format rather than guessing it based
1525 on target_os.
1526
c7995256
VS
15272013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1530 "1" prior to handoff.
1531
1532 Reported by: M A Young.
1533
e1aa5b66
VS
15342013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1537 \0 to all files.
1538
1539 Reported by: M A Young.
1540
da5ed5cf
VS
15412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1544 compilation on NetBSD.
1545
5757a93e
VS
15462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * acinclude.m4: Don't add -P on initial nm test.
1549
1550 Note: even though this patch postdates Andrey's it bears 14 Nov as
1551 date due to timezone difference.
1552
a5986276
AB
15532013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1554
1555 * grub-core/Makefile.core.def (signature_test): Add missing
1556 tests/signatures.h.
1557
0de172a0
CW
15582013-11-14 Colin Watson <cjwatson@ubuntu.com>
1559
1560 * util/grub-install_header: Set localedir here, since this file is
1561 where it's used.
1562 * util/grub-install.in: Remove setting of localedir.
1563 * util/grub-mkrescue.in: Likewise.
1564
da45f43c
VS
15652013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1568
20aea949
VS
15692013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * configure.ac: Move nm checks to the end.
1572 Call grub_PROG_NM_WORKS.
1573 * acinclude.m4: New check grub_PROG_NM_WORKS.
1574 Use $TARGET_CFLAGS -c when compiling test binary.
1575
1326b9ae
CW
15762013-11-14 Colin Watson <cjwatson@ubuntu.com>
1577
1578 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1579 unused variables.
1580
1fe26ab4
MG
15812013-11-14 Matthew Garrett <mjg@redhat.com>
1582
1583 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1584 cmdpath to firmware directory.
1585
83e9c273
VS
15862013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1589 at the start of second iteration.
1590
ec525c18
VS
15912013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1594
93fcc7ad
VS
15952013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * Makefile.am (default_payload.elf): New target for easier coreboot
1598 build.
1599
57ffe934
VS
16002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1603 clang (not necessarry with -no-integrated-as).
1604 * include/grub/symbol.h [__arm__]: Likewise.
1605
2312f06c
VS
16062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * configure.ac: Use -no-integrated-as on arm with clang.
1609 * INSTALL: Mention ARM compilation with clang.
1610
2416415c
VS
16112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1614 -mthumb-interwork.
1615
5da55172
CW
16162013-11-14 Colin Watson <cjwatson@ubuntu.com>
1617
1618 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1619 code for indirect block handling.
1620
1621 Saves 185 bytes on compressed image.
1622
da770328
PFS
16232013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1624
1625 Fix make clean.
1626
1627 * Makefile.am: Remove build-grub-* in make clean.
1628
f02e6b56
PFS
16292013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1630
1631 New files to gitignore.
1632
1633 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1634 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1635
035a26c1
LL
16362013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1637
1638 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1639
bc8a6137
LL
16402013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1641
1642 * .gitignore: fix rules for .dep* and add *.a post git migration
1643
6fe506b0
CW
16442013-11-13 Colin Watson <cjwatson@ubuntu.com>
1645
1646 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1647 to match INSTALL.
1648
81a2e438
CW
16492013-11-13 Colin Watson <cjwatson@ubuntu.com>
1650
1651 * grub-core/kern/misc.c: Don't redirect divisions in the
1652 GRUB_UTIL case.
1653 * include/grub/misc.h: Likewise.
1654
9b45c073
CW
16552013-11-13 Colin Watson <cjwatson@ubuntu.com>
1656
1657 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1658 systems that require checking the return value of write.
1659
11b2a9b7
CW
16602013-11-13 Colin Watson <cjwatson@ubuntu.com>
1661
1662 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1663 efibootmgr quiet when --debug is not used, rather than when it is.
1664
d743d22d
CW
16652013-11-13 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * gentpl.py (define_macro_for_platform_dependencies): Remove
1668 first (and thus unused) of two definitions for this function.
1669 (platform_dependencies): Likewise.
1670
11da14b5
CW
16712013-11-13 Colin Watson <cjwatson@ubuntu.com>
1672
1673 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1674 functions, we only need to check this for the target, not the host.
1675 * configure.ac (grub_apple_cc): Likewise.
1676
2bdd0719
VS
16772013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1680 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1681 asm to stay in arm even if surrounding is thumb.
1682
5e77d9cf
VS
16832013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1686 helper functions are needed for thumb.
1687
7d511625
VS
16882013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1691 level / 3 division explicitly unsigned. Saves few bytes.
1692
81023dbd
VS
16932013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1696
b2e9294f
VS
16972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1700 division.
1701
16a22c38
VS
17022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1705 grub_uboot_boot_data to asm part.
1706
c9cd02c9
VS
17072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1710 literal load.
1711 (grub_uboot_syscall): Save/restore r9 and align stack.
1712
81498615
VS
17132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1716
ea57de18
VS
17172013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1720 occurencies with END.
1721
d0d1e3da
CW
17222013-11-13 Colin Watson <cjwatson@ubuntu.com>
1723
1724 * util/grub-editenv.c (help_filter, argp): Document how to delete
1725 the whole environment block.
1726 Reported by Dan Jacobson. Fixes Debian bug #726265.
1727
3809f016
CW
17282013-11-13 Colin Watson <cjwatson@ubuntu.com>
1729
1730 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1731 sectioning.
1732
46d8a203
JT
17332013-11-13 Josh Triplett <josh@joshtriplett.org>
1734
1735 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1736 increment/decrement.
1737
513eeb61
VS
17382013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1741 compiling with clang.
1742
bc379c1a
VS
17432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1746 ".".
1747
17482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1749
16057d6b
VS
1750 Redirect all divisions to grub_divmod64.
1751
f649a6a8
VS
17522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1755
ef28ee8b
VS
17562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Add missing includes of loader.h.
1759
300f48c5
VS
17602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * configure.ac: Allow disabling themes.
1763
2d357558
LS
17642013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1765
1766 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1767
0c62a5b2
VS
17682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1771 until it becomes operational.
1772
b0720b49
VS
17732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/Makefile.core.def (legacy_password_test): Disable
1776 on platforms where no legacycfg is compiled.
1777 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1778 load legacy_password_test.
1779
d5bab2c0
VS
17802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1783
3ea0ccb3
VS
17842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1787
08772054
VS
17882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1791 strict-aliasing warning.
1792 (fsync): Silence cast warning.
1793
1dcb2715
VS
17942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/commands/verify.c: Remove variable length arrays.
1797 Load gcry_dsa/gcry_rsa automatically.
1798
61c22fdf
VS
17992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/tests/signature_test.c: New test.
1802
431e57a7
VS
18032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1806 API.
1807
b521bb81
VS
18082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1811 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1812
7d06b24e
VS
18132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1816
3bbeade4
VS
18172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/fs/proc.c: Allow \0 in proc files.
1820
ba82db7a
VS
18212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1824
801564c8
VS
18252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1828
ac8cac1d
VS
18292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/fs/ext2.c: Remove variable length arrays.
1832
4b85f122
VS
18332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1836 length arrays.
1837
c35fcdc0
VS
18382013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1841 * grub-core/disk/cryptodisk.c: Likewise.
1842 * grub-core/disk/geli.c: Likewise.
1843 * grub-core/disk/luks.c: Likewise.
1844
15decd26
VS
18452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/tests/legacy_password_test.c: New test.
1848 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1849
9c6482b8
VS
18502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1853
41f26e0e
VS
18542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/tests/pbkdf2_test.c: New test.
1857
2def6616
VS
18582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1861
9e34a34e
VS
18622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/io/lzopio.c: Remove variable length arrays.
1865
5ccaf904
VS
18662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * include/grub/crypto.h: Add maximums on hash size and cipher block
1869 size.
1870
44a387e0
VS
18712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1874
a388e255
VS
18752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/tests/xnu_uuid_test.c: New test.
1878
a1ef7718
VS
18792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1882 covers it).
1883
65ddb300
VS
18842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/commands/hashsum.c: Remove variable length arrays.
1887
31747dd5
VS
18882013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1891 condition.
1892 * tests/grub_func_test.in: Increase memory allocation.
1893
6a74c4df
VS
18942013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1897 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1898 sys/mount.h.
1899
394c3e0a
VS
19002013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1903 (grub_util_get_fd_size_os): ...this.
1904 (grub_hostdisk_flush_initial_buffer): New empty function.
1905
60d31116
VS
19062013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1909 without --defined-only.
1910
8445b011
VS
19112013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1914 rip-relative addressing in prologue.
1915
8506a641
VS
19162013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1919 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1920
66acd9d6
VS
19212013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1924 Add missing semicolon.
1925
348d0535
VS
19262013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1929
0d2d30bb
VS
19302013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * configure.ac: Check for lzma.h for enabling liblzma and allow
1933 manual disabling.
1934
631187be
VS
19352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Add missing includes of loader.h.
1938
e756ec82
FZ
19392013-11-11 Fam Zheng <famcool@gmail.com>
1940
1941 * util/grub.d/30_os-prober.in: Add minix entry.
1942
87d62d7d
VS
19432013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1946 right buffer for temporary load.
1947
5460cfeb
VS
19482013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1951
89977306
VS
19522013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1955 payload.
1956
3617c59b
VS
19572013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1960 not Types.h.
1961 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1962 environment.
1963 (LzmaDec_InitDicAndState): Make static.
1964
881c6a10
VS
19652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1968
2024ade2
VS
19692013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1972
1973 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1974
674ad4f6
VS
19752013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * docs/grub-dev.texi: Replace bzr references with git ones.
1978
5b99970e
AB
19792013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1980
1981 * docs/grub.texi (Simple configuration): Remove reference to
1982 grub-reboot from saved default entry description - grub-default
1983 does not use it anymore.
1984
3c2304d5
VS
19852013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1988 compiled with.
1989
80cfd940
AB
19902013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1991
1992 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1993
33690255
VS
19942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Fix grub_machine_fini bitrot.
1997
1998 Reported by: Glenn Washburn.
1999
c61471fc
VS
20002013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2003
54da019f
VS
20042013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2007 -DELF.
2008 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2009 instead of ELF*.
2010
20112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2012
2013 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2014 Add -march=core2 when testing compile of efiemu64.
2015
2016 Thanks Andrey Borzenkov for spotting this.
2017
9612ebc0
VS
20182013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2021 XEN PV environment and load kernels.
2022
1a46a3a4
VS
20232013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2026 * grub-core/loader/multiboot_mbi2.c: Likewise.
2027
2df12551
VS
20282013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2031 handling.
2032
3c980381
VS
20332013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2036
2037 Tested by: Denis 'GNUtoo' Carikli.
2038
800f63d3
VS
20392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2042
9f8acdaa
VS
20432013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2044
5620eb53
VS
2045 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2046 Use to get rounded angle rather than truncated.
2047
20482013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2051 RTS/CTS flow control.
2052
2dc1eb6c
VS
20532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2056 divisions.
2057
b9563c94
VS
20582013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2061 Use grub_fatal rather than divide by zero.
2062 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2063
d6d8e9a9
VS
20642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2067 truncate.
2068 (grub_fixed_fsf_divide): Likewise.
2069
d06de6c8
VS
20702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2073 division by-zero and senseless negative divisions.
2074
6af7d49b
VS
20752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2078 division by-zero and senseless negative divisions.
2079 (circprog_set_property): Don't accept negative num_ticks.
2080
bcfa6d72
VS
20812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2084 division by-zero and senseless negative divisions.
2085
dd7f792c
VS
20862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * configure.ac: Use elf_*_fbsd on kfreebsd.
2089
d061fda7
VS
20902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/tests/div_test.c: New test.
2093
4db22500
VT
20942013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2095
2096 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2097 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2098 * grub-core/gfxmenu/view.c: Likewise.
2099 * grub-core/video/fb/video_fb.c: Introduce new functions:
2100 grub_video_set_area_status, grub_video_get_area_status,
2101 grub_video_set_region, grub_video_get_region.
2102 * grub-core/video/bochs.c: Likewise.
2103 * grub-core/video/capture.c: Likewise.
2104 * grub-core/video/video.c: Likewise.
2105 * grub-core/video/cirrus.c: Likewise.
2106 * grub-core/video/efi_gop.c: Likewise.
2107 * grub-core/video/efi_uga.c: Likewise.
2108 * grub-core/video/emu/sdl.c: Likewise.
2109 * grub-core/video/radeon_fuloong2e.c: Likewise.
2110 * grub-core/video/sis315pro.c: Likewise.
2111 * grub-core/video/sm712.c: Likewise.
2112 * grub-core/video/i386/pc/vbe.c: Likewise.
2113 * grub-core/video/i386/pc/vga.c: Likewise.
2114 * grub-core/video/ieee1275.c: Likewise.
2115 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2116 * include/grub/video.h: Likewise.
2117 * include/grub/video_fb.h: Likewise.
2118 * include/grub/fbfill.h: Updated render_target structure.
2119 grub_video_rect_t viewport, region, area
2120 int area_offset_x, area_offset_y, area_enabled
2121 * include/grub/gui.h: New helper function
2122 grub_video_bounds_inside_region.
2123 * docs/grub-dev.texi: Added information about new functions.
2124
c6b755df
VS
21252013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2128 for alignment.
2129
e2a68100
VS
21302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2133 missing attribute.
2134 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2135
c4f11a2a
VS
21362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2139 simple division on arm and ia64.
2140
e0a7bffa
VS
21412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2144 link with libgcc.
2145
38b864ea
VS
21462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2149
12359faf
VS
21502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2153 prefix symbol, not @.
2154
9fdc64a9
VS
21552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * INSTALL: Add note about older gcc and clang.
2158
665c575b
VS
21592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2162
47dcf7b1
VS
21632013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2166 NULL pointer dereference.
2167
d59849b2
VS
21682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2171 clang.
2172
7a3f4a18
VS
21732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2176 warnings.
2177
7f084087
VS
21782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2181 function.
2182 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2183 * grub-core/disk/geli.c (ascii2hex): Likewise.
2184
d5524ca8
VS
21852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * configure.ac: Run linker tests without -Werror.
2188 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2189 Change all occurences of -static-libgcc resp -lgcc to
2190 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2191
390cd7ca
VS
21922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2195
60375a88
VS
21962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 Allow compiling with clang (not really supported though).
2199
2200 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2201 unconditionally.
2202 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2203 Add -mrtd -mregparm=3 on i386 when not using clang.
2204 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2205
dd07e0c4
VS
22062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2209 bindings.
2210 * grub-core/lib/reed_solomon.c: Likewise.
2211 * include/grub/i386/gdb.h: Likewise.
2212 * include/grub/i386/pc/int.h: Likewise.
2213 * include/grub/i386/pc/pxe.h: Likewise.
2214 * include/grub/ieee1275/ieee1275.h: Likewise.
2215
9d3ae8ec
VS
22162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Import libgcrypt 1.5.3.
2219
c12936c5
VS
22202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * configure.ac: Don't add -Wcast-align on x86.
2223
cdc17f60
VS
22242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * configure.ac: Add -freg-struct-return on all platforms that
2227 support it.
2228
b35ec299
VS
22292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * acinclude.m4: Use -Werror on parameter tests.
2232 * configure.ac: Likewise.
2233
05f3a0d7
VS
22342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2237
c966a489
VS
22382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * configure.ac: Check that -malign-loops works rather than assuming that
2241 either -falign-loops or -malign-loops work.
2242
bb0c57ec
VS
22432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2246
24f4e57c
VS
22472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * configure.ac: Prevent cflags leaking to subsequent tests by always
2250 resetting cflags to target_cflags in target tests.
2251
ac319fbc
VS
22522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2255 function.
2256
4bfe934c
VS
22572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2260
40a5bfde
VS
22612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2264
a67c755e
VS
22652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/normal/cmdline.c (grub_cmdline_get):
2268 Remove nested functions.
2269
87a04a2d
VS
22702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * tests/test_sha512sum.in: Make it work on emu.
2273
c03995d2
VS
22742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2277 functions.
2278 (grub_bidi_line_logical_to_visual): Likewise.
2279
ec0ebb3f
VS
22802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Remove vestiges of -Wunsafe-loop-optimisations.
2283
2284 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2285 -Wno-unsafe-loop-optimisations.
2286 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2287 pragma.
2288 * grub-core/io/gzio.c: Likewise.
2289 * grub-core/script/parser.y: Likewise.
2290 * grub-core/script/yylex.l: Likewise.
2291 * util/grub-mkfont.c: Likewise.
2292
6ab537e3
VS
22932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * util/grub-mkfont.c (process_cursive): Remove nested function.
2296
e6c368d4
VS
22972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2300 (grub_boot_time): Likewise.
2301
4f1cfd22
VS
23022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * include/grub/symbol.h (FUNCTION): Use @function rather than
2305 "function".
2306 (VARIABLE): Likewise.
2307
6d5a4cee
VS
23082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2311
f06c2172
VS
23122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2315 (parse_dhcp_vendor): Likewise.
2316
7cb24eb5
VS
23172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2320
f30c692c
VS
23212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2324 Define after defining type and not before.
2325
8b66bb5d
VS
23262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2329 type.
2330 (grub_gcm_decrypt): Likewise.
2331 (algo_decrypt): Likewise.
2332 (grub_zfs_decrypt_real): Transform error type.
2333
5d17fd0f
VS
23342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2337
ac35a0f7
VS
23382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2341 (grub_usbms_cbi_reset): Likewise.
2342 (grub_usbms_bo_reset): Likewise.
2343 (grub_usbms_reset): Likewise.
2344 (grub_usbms_attach): Likewise.
2345 (grub_usbms_transfer_cbi): Likewise.
2346
3ee08697
VS
23472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2350 "checksum = checksum;".
2351
70bb6c85
VS
23522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2355 entry_type.
2356
c7f34744
VS
23572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2360 BIOS disk check.
2361
3f63b4d8
VS
23622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2365 type.
2366 (grub_ehci_fini_hw): Likewise.
2367 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2368
dac6ce73
VS
23692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2372 return grub_usb_err_t for cosistency. All users updated.
2373
5701750c
VS
23742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2377 assigning to itself.
2378
9e236169
GLD
23792013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
23802013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2381
2382 Issue separate DNS queries for ipv4 and ipv6
2383
2384 Adding multiple questions on a single DNS query is not supportted by
2385 most DNS servers. This patch issues two separate DNS queries
2386 sequentially for ipv4 and then for ipv6.
2387
2388 Fixes: https://savannah.gnu.org/bugs/?39710
2389
2390 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2391 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2392 * (grub_net_dns_lookup): Now using separated dns packages.
2393 * (grub_cmd_nslookup): Add error condition.
2394 * (grub_cmd_list_dns): Print DNS option.
2395 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2396 --prefer-ipv4, and --prefer-ipv6.
2397 * include/grub/net.h (grub_dns_option_t): New enum.
2398 * (grub_net_network_level_address): option added.
2399
339eacce
VT
24002013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2401
2402 * grub-core/video/fb/video_fb.c: Merge two blit functions
2403 into one.
2404
810f991b
VS
24052013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/term/terminfo.c: Add sequences for home and end.
2408
386571a2
VS
24092013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2412 graphics console.
2413
3fe63754
VS
24142013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2417 add mode 0x12.
2418
76681e71
VS
24192013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2422 e-mail by Per Öberg.
2423
46522fb7
VS
24242013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2427 name.
2428
e7d09ac4
AB
24292013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2430
2431 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2432 emu platforms.
2433 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2434
67508925
VS
24352013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * docs/grub.texi: Document usage of menuentry id.
2438
0c62124e
VS
24392013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2442
9b5d4eed
PL
24432013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2444
2445 * grub-core/commands/i386/nthibr.c: New command.
2446
79054c1d
VS
24472013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2450
44d47bbe
VS
24512013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2454 coordinate.
2455
323de05b
VS
24562013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Support GRUB_DISABLE_SUBMENU config.
2459
2460 Inspired by patch from Prarit Bhargava.
2461
5a01722e
VS
24622013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * docs/grub.texi: Mention RSA support.
2465
1106c3f0
VS
24662013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/commands/verify.c: Add RSA support.
2469
a1dcc2cb
VS
24702013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2473 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2474 device is known to be ATAPI.
2475
ee7fb780
MF
24762013-11-03 Mike Frysinger <vapier>
2477
2478 * configure.ac: Don't add target-prefix.
2479
5ade4a42
VS
24802013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2483 variables.
2484
6cd66043
VS
24852013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2488 if language is English.
2489
090d7c81
VS
24902013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2493
dd614590
VS
24942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * configure.ac: Don't add -m32/-m64 on emu.
2497
a8686589 24982013-11-02 neil
2499
2500 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2501 broken linux headers.
2502
fb9f12a0
VS
25032013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2506
e25f8e1f
VS
25072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2510 Reed-Solomon recovery if more than half of redundancy info is 0.
2511
4685200f
VS
25122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * util/grub-mount.c: Handle symlinks to directories.
2515
1397f0b5
VS
25162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2519 find_file recursively for symlink.
2520
8b3e6eb6
VS
25212013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * tests/util/grub-shell.in: Copy themes.
2524
a0c9d5c6
VS
25252013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2528
5cf9459c
VS
25292013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * configure.ac: Use 0x8000 for address instead of 8000.
2532
e7b66a28
VS
25332013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2536 signature.
2537
203f53fb
VS
25382013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2541 variable.
2542
02663ee9
VS
25432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2546
f169f65e
VS
25472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2550 file_progress_read_hook.
2551 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2552
2855a0fc
VS
25532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2556 and double.
2557
bf0f3a8c
VS
25582013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2561
cb72aa18
VS
25622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Rewrite blocklist functions in order to get progress when
2565 reading large extents and decrease amount of blocklist hook calls.
2566
896f9135
VS
25672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2570 of SI suffixes.
2571
89295a06
VS
25722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 Support --base-clock for serial command to handle weird cards with
2575 non-standard base clock.
2576
eb03ede0
VS
25772013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2580 strncpy.
2581 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2582 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2583 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2584 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2585 + strcpy rather than strncpy.
2586
8fbe5c7d
VS
25872013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2590 (check_pool_label): Likewise. Fixes overflow.
2591 (nvlist_find_value): Fix comparison.
2592
e54b8f53
VS
25932013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2596 more appropriate functions.
2597
fa9b3dca
VS
25982013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2601 realloc.
2602
9a021c55
VS
26032013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2606
80e8b13a
VS
26072013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2610 on core size.
2611
b61599ac
VS
26122013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2615
a602dc54
VS
26162013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2619 (initialize_tables): reset tl and td to NULL after freeing.
2620
93c12075
VS
26212013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2624
1ca4b75e
VS
26252013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2628 of supported tags.
2629
329550c4
VS
26302013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2633
00bfa988
VS
26342013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2637 quirks.
2638
81afc5cc
VS
26392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2642 a page in protected space.
2643
cb3c4a47
VS
26442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2647 allocate space for zero-sized modules.
2648
954f7bf5
VS
26492013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2652
526d3d25
FL
26532013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2654
2655 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2656
74124c34
VS
26572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2660 safeguards. Fixes a crash with i386/pc/console.c.
2661
5177391e
VS
26622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2665 and grub_hostfs_init.
2666
64db14b0
VS
26672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2670 windows method on other platforms without good stat as well.
2671
effe2036
VS
26722013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2675
82591fa6 26762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2677
82591fa6
VS
2678 Make / in btrfs refer to real root, not the default volume.
2679 Modify mkrelpath to work even if device is mounted with subvolid option.
2680
26812013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2682
2683 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2684 extra_dist.
2685 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2686 extra_dist.
2687
30fd7198
VS
26882013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2691 fails.
2692
8d179dae
BC
26932013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2694
2695 * docs/autoiso.cfg: New file.
2696
3bc9c8cf
VS
26972013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2700 COND_GRUB_PE2ELF conditions.
2701
8b46b0ea
VS
27022013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2705 "vnd", "rd" and "fd" disks.
2706
442b86de
VS
27072013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 Move grub_disk_write out of kernel into disk.mod.
2710
04dea7e6
VS
27112013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2714 handling.
2715
27162013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2717
2718 * grub-core/kern/misc.c (grub_abort): Make static
2719
04dea7e6 27202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2721
2722 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2723 transform invalid unicode codepoints.
2724
04dea7e6 27252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2726
2727 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2728 \0 checking.
2729
03dcac7f
VS
27302013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2733
c81acb7f
VS
27342013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Consolidate cpuid code.
2737
c1bee646
VS
27382013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Move cpuid code to cpuid.h and TSC code to tsc.c.
2741
f37bf9c7
GS
27422013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2743
2744 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2745
4021132b
GS
27462013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2747
2748 * util/grub-mkconfig.in: Replace $0 with $self.
2749 * util/grub-reboot.in: Likewise.
2750 * util/grub-set-default.in: Likewise.
2751
3ace8d75
BC
27522013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2753
2754 * docs/osdetect.cfg: New file.
2755
1e6ad6a6
BC
27562013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2757
2758 * tests/util/grub-shell.in: Add new --debug option.
2759
188929eb
BC
27602013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2761
2762 * tests/test_unset.in: New test.
2763
7994a09a
BC
27642013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2765
2766 * tests/test_sha512sum.in: New test.
2767
2a8a7585
VS
27682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2771 * include/grub/misc.h: Remove strncat.
2772 * grub-core/lib/posix_wrap/string.h: Likewise.
2773
cf8d6bbd
VS
27742013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2777 Try to handle more than 0xFFFF packets.
2778 Reported by: Bernhard Übelacker <bernhardu>.
2779 He also spotted few overflows in first version of this patch.
2780
6d1fc99a
VS
27812013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * tests/date_unit_test.c: New test.
2784
10bafa1c
VS
27852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2788 of first three years after start of validity of unixtime.
2789
b1c6d037
VS
27902013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2793 division as the one making more sense.
2794 (update_screen): Likewise.
2795 (complete): Likewise.
2796
5f4028d4
VS
27972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2800
a2856736
VS
28012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 Make char and string width grub_size_t rather than grub_ssize_t.
2804
0a7e52b2
VS
28052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2808 unsigned.
2809 (grub_history_replace): Likewise.
2810
42829573
VS
28112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2814 appropriate.
2815
3523b8d8
VS
28162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2819 appropriate.
2820
d43c6489
VS
28212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2824 Use unsigned divisions rather than signed variants.
2825
f690f8b0
VS
28262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2829 unsigned arithmetics.
2830 Add missing break.
2831
74ff2c05
VS
28322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2835
fb56391e
VS
28362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2839 rather than signed one.
2840 (recovery): Likewise.
2841
40f29060
VS
28422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2845
c64577a5
VS
28462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2849 than signed.
2850
c16535a8
JM
28512013-10-25 Jon McCune <jonmccune@google.com>
2852
2853 * docs/grub.texi: Cleanup security documentation around signatures.
2854
6673d8e7
VS
28552013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2858
a105d375
VS
28592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2862 than int.
2863
af81ed88
VS
28642013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2867 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2868 functions when compiling for kernel.
2869
ea899a57
VS
28702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2873 unsigned long long when using %llu.
2874
c6dc6fa1
VS
28752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2878 terminal after updating progress.
2879
ad2dc003
VS
28802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2883 argument. We don't disable Gate A20 in this code.
2884
b46684ae
VS
28852013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2888 Conceptually based on change in branch "vbe-on-coreboot".
2889
f70d5c07
RM
28902013-10-24 Robert Millan <rmh@gnu.org>
2891
2892 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2893 numeric constants with their symbolic equivalent.
2894 Taken from branch "vbe-on-coreboot".
2895
bca274b4
VS
28962013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2899
238f0489
VS
29002013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2903 divmod64 for offset division.
2904
863c590b
PFS
29052013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2906
2907 Rename .bzrignore to .gitignore. Add "*.o" rule.
2908
2909 * .bzrignore: Renamed to...
2910 * .gitignore: ...this.
2911
84a0e969
PFS
29122013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2913
2914 Add new progress module that displays the load progress of files.
2915
2916 * grub-core/lib/progress.c: New file.
2917 * grub-core/Makefile.core.def (progress): New module.
2918 * grub-core/kern/file.c (grub_file_open): File name added.
2919 * (grub_file_read): Progress hook added.
2920 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2921 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2922 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2923 * include/grub/file.h (struct grub_file): Add progress module members.
2924 * include/grub/term.h (struct grub_term_output): Likewise.
2925 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2926 Terminal velocity added.
2927 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2928 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2929 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2930 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2931 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2932 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2933 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2934 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2935 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2936 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2937 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2938 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2939
0d711431
VS
29402013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 Verify signatures of signatures unless --skip-sig is specified.
2943
f8401f76
VS
29442013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2947 \0 checking.
2948
2949 Saves 70 bytes on compressed image.
2950
ac1feb61
VS
29512013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2954 check.
2955
2956 Saves 10 bytes on compressed image.
2957
00f72e89
VS
29582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/kern/misc.c (grub_isprint): Move to ...
2961 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2962
2963 Saves 20 bytes on compressed image due to remving exporting.
2964
067e6ae7
VS
29652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2968
2969 Saves 5 bytes on compressed image.
2970
64a6c791
VS
29712013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2974 function get_utf8.
2975
2976 Saves 379 bytes on compressed image.
2977
979d9f52
VS
29782013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2981
1437da54
VS
29822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2985
2986 Saves 40 bytes on compressed image.
2987
d9ee2269
VS
29882013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2991 mask rather than 64-bit type.
2992
2993 Saves 20 bytes on compressed image.
2994
63efa602
VS
29952013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2998 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2999
47601ffe
VS
3000 Saves 273 bytes on compressed image.
3001
2cc679ad
VS
30022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3005 variable length arrays.
3006
3007 Saves 50 bytes on compressed image.
3008
2e4659b8
VS
30092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3012
2a40badf
VS
30132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/fs/ufs.c: Remove variable length arrays.
3016
1ba6b9b9
VS
30172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3020
f3e39341
VS
30212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/fs/zfs.c: Remove variable length arrays.
3024 Reduces zfs.mod by 160 bytes (208 compressed).
3025
71523935
VS
30262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3029
28153eb8
VS
30302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/net/arp.c: Remove variable length arrays.
3033 * grub-core/net/bootp.c: Likewise.
3034 * grub-core/net/dns.c: Likewise.
3035 * grub-core/net/icmp6.c: Likewise.
3036 * grub-core/net/net.c: Likewise.
3037
88ce4cd7
VS
30382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/fs/ntfs.c: Remove variable length arrays.
3041 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3042 compressed).
3043
66123940
VS
30442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/fs/hfs.c: Remove variable length arrays.
3047 Reduces hfs.mod by 8 bytes (52 compressed).
3048
0927e5bd
VS
30492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3052 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3053 compressed).
3054
9c12ac97
VS
30552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3058 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3059 compressed).
3060
97ec2d71
VS
30612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3064 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3065 compressed).
3066
156e4ea0
VS
30672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/xfs.c: Remove variable length arrays.
3070 Reduces xfs.mod by 40 bytes (43 compressed).
3071
3b502c29
VS
30722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/fs/fshelp.c: Remove variable length arrays.
3075 Reduces fshelp.mod by 116 bytes (23 compressed).
3076
c7037f1d
VS
30772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/normal/completion.c: Remove variable length arrays.
3080 * grub-core/normal/menu_entry.c: Likewise.
3081
3082 Reduces normal.mod by 496 bytes.
3083
a07e6ad0
VS
30842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3087 by 356 bytes (158 compressed).
3088
2359bf88
VS
30892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3092 by 364 bytes (169 compressed).
3093
d28e1163
VS
30942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3097 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3098 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3099
e89c2d48
VS
31002013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3103 bitmasks to small structures of size chosen to fit in registers.
3104
7abdac8e
VS
31052013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * conf/Makefile.common: Use -freg-struct-return on i386. This
3108 decreases code size and improves performance.
3109
518864c0
VS
31102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3113
bbd2b539
VS
31142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3117 "(null)" string.
3118 Simplify expressions to save around 256 bytes in kernel.img.
3119 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3120
99519c15
VS
31212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3124 Use GRUB_UTIL_FD_O_* rather than O_*.
3125
20285765
VS
31262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Add haiku-specific functions.
3129
887c0bb6
VS
31302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3133
cd78a56f
VS
31342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 Move stat () and device mode checking into OS-dependent files as
3137 long as performance doesn't suffer.
3138
a4012f07
VS
31392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Split make_system_path_relative_to_its_root into separate file
3142 relpath.c from getroot.c as it's common between unix and haiku
3143 but otherwise haiku doesn't use any functions from unix getroot.c.
3144
31de274d
VS
31452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3148 New function.
3149 (grub_util_is_special_file): Likewise.
3150
40346de6
VS
31512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3154 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3155
d3923ab9
VS
31562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3159 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3160
663f6eb1
VS
31612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3164 (load_image): Likewise.
3165
44d1c20a
VS
31662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * util/grub-render-label.c: Move backend part to ...
3169 * util/render-label.c: ... here.
3170
d0a116ee
VS
31712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3174 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3175
b47fcae6
VS
31762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3179
0f7c00c1
VS
31802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3183 CD-ROM in case when it's declared as having subpartitions.
3184
29013cba
VS
31852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 Don't add -lm on haiku.
3188
3189 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3190 and empty on haiku.
3191 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3192 -lm.
3193
e8559d24
VS
31942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * configure.ac: Use -melf_*_haiku as target on haiku.
3197
8104063c
VS
31982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * Makefile.util.def: Add util/setup.c to extra_dist.
3201
fc3182c7
VS
32022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3205 unknown types through.
3206
f90a3cc0
VS
32072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3210 (grub_util_check_char_device): Likewise.
3211 * include/grub/emu/getroot.h: Likewise.
3212
1e3e7419
VS
32132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3216 memset rather than inline static function.
3217
92c88fc8
VS
32182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3221 not doing embedded decompressor.
3222
3cd910a2
VS
32232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3226 shadowing.
3227 * grub-core/kern/disk.c: Likewise.
3228 * grub-core/kern/misc.c: Likewise.
3229 * include/grub/parser.h: Likewise.
3230 * include/grub/script_sh.h: Likewise.
3231 * include/grub/zfs/zfs.h: Likewise.
3232
7b3aca00
VS
32332013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3236
97dfe7e4
VS
32372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3240 defined before trying to use it.
3241
bf919aa9
VS
32422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3245 warning.
3246
f4ccf29d
VS
32472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3250 Use __unused__ rather than __used__ on gcc < 3.2.
3251
0d3a6f85
VS
32522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3255 gcc < 4.0.
3256 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3257
757e3eb7
VS
32582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3261
fb320faf
VS
32622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3265 * include/grub/emu/misc.h: Likewise.
3266
ea73acd2
VS
32672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3270 cur_color.
3271
71237a6f
VT
32722013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3273
3274 * grub-core/tests/checksums.h: Regenerated due to progress bar
3275 get_minimal_size changes.
3276
3d46c22f
BC
32772013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3278
3279 Added `tr' command support.
3280
3281 * grub-core/commands/tr.c: New file.
3282 * grub-core/Makefile.core.def: Build rules for new module.
3283
3284 * tests/grub_cmd_tr.in: New test.
3285 * Makefile.util.def: Build rules for new test.
3286
47e0a61f
VT
32872013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3288
3289 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3290
946fd073
VT
32912013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3292
3293 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3294 * docs/gurb.texi: Likewise.
3295
9c13c576
VT
32962013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3297
3298 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3299 Pixmap highlighted section with east and west slices was displayed
3300 incorrectly due to negative width of the central slice.
3301
ad543f12
VT
33022013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3303
3304 * docs/grub.texi: Graphical options information update.
3305 Removed outdated. Updated current. Inserted missed.
3306
6176a0cd
VS
33072013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * docs/grub.texi: Mention few new platform-specific commands.
3310
9688cae2
VS
33112013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3314 currently used so this doesn't really have any effect.
3315 Reported by: Douglas Ray <dougray>
3316
f7b69a3f
VS
33172013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3320 compilation but prevents gcc from displaying messages in non-Latin
3321 alphabets.
3322 * conf/Makefile.common: Likewise.
3323
ceca6ddf
HY
33242013-10-16 Hiroyuki YAMAMORI
3325
3326 Handle Japanese special keys.
3327 Reported by: Hiroyuki YAMAMORI.
3328 Codes supplied by: Hiroyuki YAMAMORI.
3329
ac48d334
VT
33302013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3331
3332 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3333
b2b71bff
VT
33342013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3335
3336 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3337 * docs/grub.texi: Likewise.
3338
669fc449
VS
33392013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3342 value in case of incomplete read.
3343 (grub_util_fd_write): Likewise.
3344
59381678
VS
33452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3348
bacfefbb
VS
33492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * util/grub-editenv.c (create_envblk_file): More from here ...
3352 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3353
f7c49570
VS
33542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3357 canonicalize file name before doing the rest.
3358
7b83ca44
VS
33592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3362 mingw32.
3363
df1e64c9
VS
33642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 Define grub_util_is_directory/regular/special_file and
3367 use OS-dependent versions rather than to rely on stat().
3368
ec16e026
VS
33692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * util/grub-mkimage.c: Move backend part to ...
3372 * util/mkimage.c: ... here.
3373
4b4eeb3c
VS
33742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Allow compilation with mingw64 albeit with warnings due to lack of
3377 %llx/%llu.
3378
3379 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3380 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3381 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3382 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3383 on mingw64.
3384 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3385
f4e0adc0
VS
33862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 Remove leftover references to some of the system headers.
3389
e0127364
VS
33902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3393 read.
3394
20d53541
VS
33952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3398 of strerror.
3399
5a869940
VS
34002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Split out blocklist retrieving from setup.c to
3403 grub-core/osdep/blocklist.c and add windows implementation since
3404 generic version doesn't work on NTFS on Windows due to aggressive
3405 unflushable cache.
3406
c06c7520
VS
34072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3410 files.
3411
8f53bb3f
VS
34122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3415 Cut tailing newline. Remove arbitrary limitation. Always use
3416 grub_util_tchar_to_utf8.
3417
148f1007
VS
34182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3421 * tests/printf_unit_test.c (printf_test): Add %% tests.
3422 Reported by: Paulo Flabiano Smorigo.
3423
af3b06be
VS
34242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3427 implement fsync.
3428
27f9d02e
VS
34292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3432 use nvlist_lookup_string and don't use nvlist_print.
3433
f6a81f0a
VS
34342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3437 closedir to handle filename charset translation.
3438
d7750b32
VS
34392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * include/grub/emu/hostdisk.h: Move file operations to
3442 * include/grub/emu/hostfile.h: ... here.
3443
2859196e
VS
34442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3447 unicode path.
3448
c018c968
VS
34492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3452
7e45abce
VS
34532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3456 and remove export.h.
3457
23934da2
VS
34582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/kern/emu/error.c: Removed.
3461 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3462 explicitly as it's already in libgnu.a.
3463
c11ebcc8
VS
34642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3467 config-util.h include.
3468
70671037
VS
34692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 Split emunet into platform-dependent and GRUB-binding parts. Keep
3472 platform-dependent part in kernel for easy access to OS functions.
3473
25ac643a
VS
34742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3477 open/read/write.
3478
69ca5876
VS
34792013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/osdep/windows/emuconsole.c: New file.
3482
d9d68ef0
AB
34832013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3484
3485 * conf/Makefile.extra-dist: Add osdep/*/init.c
3486
58e211cc
VS
34872013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3490
588744d0
VS
34912013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * util/grub-probe.c (probe): Separate different drives in hint-str
3494 by spaces and not newlines.
3495 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3496
44016e52
AB
34972013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3498
3499 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3500 Handle CD-ROMs.
3501
6de9ee86
VS
35022013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Pass-through unknown E820 types. It required reorganisation of mmap
3505 module.
3506
f8f3f155
AB
35072013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3508
3509 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3510
b73249d2
VS
35112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3514 fseeko.
3515
dac86b18 35162013-10-14 qwertial <qwertial>
3517
3518 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3519
17614b84
JM
35202013-10-14 Jon McCune <jonmccune@google.com>
3521
3522 * docs/grub.texi: Document new signatures possibility.
3523
6de292cb
VS
35242013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3527
84379b61
VS
35282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3531 missing prototype.
3532 (grub_util_tchar_to_utf8): Likewise.
3533
21d85db1
VS
35342013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3537 * grub-core/kern/emu/main.c: Add missing include.
3538 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3539 Don't call grub_util_init_nls.
3540 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3541 Likewise.
3542
66a1b3ee
VS
35432013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3546 stat.
3547
e19bec17
VS
35482013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3551
ee8c1b29
VS
35522013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3555
bb338aaf
VS
35562013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Add a wrapper for fopen. On unix-like systems just pass-through. On
3559 windows use unicode version.
3560
ae5540d3
VS
35612013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 Move set_program_name and init_nls to host_init. On windows
3564 fix in this fuction console and argument charset as well.
3565
4cd3c4fe
AB
35662013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3567
3568 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3569 GRUB_ENABLE_CRYPTODISK.
3570
3571 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3572 GRUB_ENABLE_CRYPTODISK.
3573 * util/grub-mkconfig_lib.in: Likewise.
3574
78170f3e
CCZ
35752013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3576
3577 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3578
3414b6c0
MC
35792013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3580
3581 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3582 error when enabling debug.
3583
6d0740e8
IB
35842013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3585
3586 * configure.ac: Use -melf_*_obsd on openbsd.
3587
ff2d4dc4
VS
35882013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3591
eac6ae82
VS
35922013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * include/grub/misc.h: Use gnu_printf rather than printf as format
3595 template since our functions are independent of libc.
3596
ba9baabe
VS
35972013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * util/grub-setup.c (setup): Move copying of partition table as
3600 futher up as possible to avoid possible overwrite by floppy routines.
3601
36022013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3603
3604 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3605
145e2369
VT
36062013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3607
3608 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3609 * docs/grub.texi: Likewise.
3610
3530bc9d
VS
36112013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3614 it's mostly unused. Move vestiges to the callers.
3615
fb9f59c3
VS
36162013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3619 version of salt and hash. Use grub_snprintf rather than snprintf.
3620
9be1c255
VS
36212013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * docs/grub.texi: Fix problem with braces.
3624
ed8c0887
VS
36252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * conf/Makefile.extra-dist: Fix extra-dist list.
3628 * grub-core/Makefile.core.def: Likewise.
3629
f72ab14e
VS
36302013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * docs/grub.texi: Document disk names used on Windows and AROS.
3633
2fe53a22
VS
36342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3637 with AROS devs.
3638 * grub-core/osdep/aros/hostdisk.c: Likewise.
3639
71c1d67a
VS
36402013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Avoid including hostfile.h when not necessarry as it pulls
3643 in OS-specific headers which may redefine generic names
3644 like "far".
3645
ad297ec7
VT
36462013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3647
3648 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3649 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3650 scrollbar_bottom_pad
3651 * docs/grub.texi: Likewise.
3652
6e9e5dc9
VT
36532013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3654
3655 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3656
761c718b
VS
36572013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3660
37149a2f
VS
36612013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3664 Removed.
3665 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3666 Made static.
3667
3837a151
VS
36682013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3671 leftover.
3672
caca1c70
VS
36732013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 Move OS-specific driver configuration to grub_util_fd_open. This
3676 moves OS-dependent parts from kern/emu/hostdisk.c to
3677 grub-core/osdep/*/hostdisk.c.
3678
f7676b70
VS
36792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * util/grub-mkimage.c (generate_image): Use size_t instead of
3682 grub_size_t.
3683 * util/grub-mkimagexx.c (locate_sections): Likewise.
3684 (load_image): Likewise.
3685
22f98db2
VS
36862013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3689 size_t.
3690 (grub_util_write_image): Likewise.
3691
b102ce69
VS
36922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3695 get random when no RNG is available.
3696 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3697
acbbe5cb
VS
36982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * include/grub/util/lvm.h: Removed.
3701
2112fb3f
VS
37022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3705 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3706
79f78fbf
VS
37072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3710
c2e6f705
VS
37112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3714
aabe433a
VS
37152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/net/drivers/emu/emunet.c: Move to ..
3718 * grub-core/osdep/linux/emunet.c: ..here.
3719
9a2c903f
VS
37202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/ieee1275/ofpath.c: Move to ...
3723 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3724 * grub-core/osdep/basic/ofpath.c: ..here.
3725
4a445f58
VS
37262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 Move password-querying (util-version) routines to grub-core/osdep.
3729
c1ca4244
VS
37302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 Move sleep routines to grub-core/osdep.
3733
672fa55e
VS
37342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Move OS-dependent files to grub-core/osdep and document it.
3737
a5b0365a
VS
37382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3741 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3742
29072e99
VS
37432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3746
f8772ea7
VS
37472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * util/misc.c: Remove leftover inclusion of malloc.h.
3750
a1a315e7
VS
37512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * include/grub/setjmp.h: Remove leftover GRUBOF.
3754
cef86fef
VS
37552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/raid.c: Fold into ...
3758 * util/getroot_linux.c: ... here. Make all functions static.
3759
c4cf25ee
VS
37602013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3763 macros to GRUB ones.
3764
53a5f5c2
VT
37652013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3766
3767 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3768 occasional bug. If there are too many boot entries or too low
3769 scrollbar height then we need to use another formula to calculate
3770 the position and size of the scrollbar thumb.
3771
de300af2
VS
37722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3773
c4cf25ee 3774 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3775
c5827364
VT
37762013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3777
3778 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3779 * docs/grub.texi: Likewise.
3780
dd2ed8b0
VT
37812013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3782
3783 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3784 viewport.
3785
7286c384
VT
37862013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3787
ffdfc1f3
VT
3788 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3789 minimal width calculations.
7286c384 3790
ea547e14
VS
37912013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * docs/grub.texi: Update note on colors on emu console.
3794
b726be76
VS
37952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3798 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3799 it's FS and not GRUB limitation.
3800
a5f6ade6
VS
38012013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3804
3b0f3aa2
VS
38052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3808
1db38304
ST
38092013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3810
3811 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3812 kernels by version order.
3813
fb295fc0
VS
38142013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3817
47345010
VS
38182013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Add AROS hostdisk and getroot routines.
3821
bf25f879
VS
38222013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Make cryptodisk and diskfilter probe data retrievable programmatically
3825 and not just printable.
3826
24ca4512
VS
38272013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Split random retrieving code into separate files.
3830
c7c177f0
VS
38312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3834 R_ARM_V4BX.
3835
d71b45ae
VS
38362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3839 condition.
3840 * grub-core/tests/fake_input.c: Likewise.
3841 * grub-core/tests/cmdline_cat_test.c: Likewise.
3842
e44b9a83
VS
38432013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/video/capture.c: Do not do finalization when .fini
3846 is called as there is explicit capture_end.
3847
4fa60739
VS
38482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3851 changing windows to avoid crash.
3852
17c8bc37
VS
38532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3856
9d4d7977
VS
38572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * po/exclude.pot: Add several strings to exclude.
3860
0caa407c
VS
38612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3864
9ae393da
VS
38652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3868 ./util/grub-gen-asciih.c to exclude list.
3869
498d5033
VS
38702013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3873 and don't mark error strings for translation.
3874
7d93298f
VS
38752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3878 properly in case of missing block size.
3879
b2cae20c
VS
38802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/lib/arm/setjmp.S: Add missing license section.
3883
3896d6b4
VS
38842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * po/swiss.sed: Add replacement for key names and for term computer.
3887
ebc1da55
VT
38882013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3889
3890 * grub-core/gfxmenu/theme_loader.c: New global options for the
3891 theme background image handling. desktop-image-scale-method,
3892 desktop-image-h-align, desktop-image-v-align.
3893 * grub-core/gfxmenu/view.c: Likewise.
3894 * include/gfxmenu_view.h: Likewise.
3895 * include/bitmap_scale.h: Proportional scale functions introduced.
3896 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3897 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3898 cases of unexpected input variables for scale functions.
3899 * docs/grub.texi: Updated documentation for new options.
3900
c5739143
VS
39012013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3904
be74aeb3
VT
39052013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3906
3907 * grub-core/tests/checksums.h: Corrected due to changes in
3908 bilinear interpolation function.
3909
d999ac72
VT
39102013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3911
3912 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3913 to eliminate artefacts in bilinear interpolation.
3914
2b131610
VS
39152013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/video/readers/tga.c: Support paletted tga.
3918
de6e5ff8
VS
39192013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3922 incorrect cbcr setting when in color mode.
3923
fa31ee9c
VS
39242013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/video/readers/png.c: Support paletted images and clean up
3927 greyscale support.
3928
e84f8188
VS
39292013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3932 usage of wrong table which resulted in mishandling of 4-byte
3933 sequences.
3934
39352013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3936
3937 * grub-core/term/terminfo.c: Add Home and End key sequences.
3938
d72bff09
VS
39392013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3942 Fix formula for computing total number of bytes.
3943
29648c5d
VS
39442013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3947 image processing, fix big-endian and support grayscale.
3948
4a876492
VS
39492013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3952 Correctly will with maximum transparency when using index color.
3953
3ccf16df
VS
39542013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/video/readers/png.c: Support grayscale
3957
39582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3959
3960 * grub-core/video/readers/jpeg.c: Support grayscale.
3961
3ccf16df 39622013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3963
3964 * grub-core/commands/loadenv.c: Support skipping signature check
3965 and variable names filtering.
3966
30b7f58f
VS
39672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3970 * grub-core/kern/emu/hostfs.c: Likewise.
3971 * util/getroot_unix.c: Likewise.
3972
bab7b1eb
VS
39732013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3976 Migrate all explicit defines to this new one.
3977
43b1c99d
VS
39782013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3981 grub_util_fd_strerror when using grub_util_fd_*.
3982 (grub_util_fd_open_device): Likewise.
3983 (grub_util_biosdisk_read): Likewise.
3984 (grub_util_biosdisk_write): Likewise.
3985 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3986 (grub_util_fd_strerror): Likewise.
3987 (grub_util_fd_sync): Likewise.
3988 (grub_util_fd_close): Likewise.
3989 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3990 (grub_util_fd_close): Likewise.
3991 (grub_util_fd_strerror): Likewise.
3992 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3993 function proto rather than macro.
3994 (grub_util_fd_sync): Likewise.
3995 (grub_util_fd_open): Likewise.
3996 (grub_util_fd_strerror): New proto.
3997
e8fd80bc
VS
39982013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4001 platforms on which it doesn't work.
4002
bf645fda
VS
40032013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4006 stat immediately to where it's used.
4007
5177ba14
VS
40082013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * util/getroot.c (grub_util_check_block_device): Move to ...
4011 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4012 * util/getroot.c (grub_util_check_char_device): Move to ...
4013 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4014
9db826e1
VS
40152013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4018 disk closing logic.
4019
49120085
AB
40202013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4021
4022 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4023
b3328b68
AB
40242013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4025
4026 * docs/grub.texi (File name syntax): Document ZFS filenames
4027 (/volume@snapshot/...).
4028
3fff48ab
VS
40292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4032 Always return full path. Fixes a problem with mkrelpath.
4033
39cfdaa9
PFS
40342013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4035
4036 * util/grub-install.in: Add GPT PReP support.
4037 * util/grub-probe.c (probe): Support GPT partition type.
4038 (main): Support -t gpt_parttype.
4039
7c680e1f 40402013-09-23 Aleš Nesrsta <starous@volny.cz>
4041
4042 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4043
890bdabe
MM
40442013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4045
4046 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4047
9c262ff9
TH
40482013-09-23 Tim Hardeck <thardeck>
4049
4050 * util/grub.d/10_hurd.in: Filter out character for the class.
4051 * util/grub.d/10_kfreebsd.in: Likewise.
4052 * util/grub.d/10_linux.in: Likewise.
4053 * util/grub.d/20_linux_xen.in: Likewise.
4054
d755342a
MC
40552013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4056
4057 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4058 "changed".
4059
68b77707
JT
40602013-09-23 Josh Triplett <josh@joshtriplett.org>
4061
4062 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4063 boot partition.
4064
efa68bfa
VS
40652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4068 doesn't use posix_wrap. Keep literal -fno-builtin however.
4069
d9104204
VS
40702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4073
c248781a 40742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
40752013-09-23 neil
4076
5830df88 4077 * configure.ac: Do not enable -Wmissing-noreturn as its
4078 usefulness is limited and creates problems on some OS notably with
4079 code generated by bison.
4080
40812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
40822013-09-23 neil
4083
4084 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4085 supported by all gcc and when it is, it's already enabled by -Wall.
4086
621bed69
VS
40872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4090 desactivated use of EDID at all.
4091
71764dc8 40922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
40932013-09-23 neil
4094
4095 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4096 video if no text is available.
4097
affce7d4 40982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
40992013-09-23 neil
4100
4101 * configure.ac: Substitute TARGET_RANLIB.
4102
41032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41042013-09-23 neil
affce7d4
VS
4105
4106 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4107
4108 Based on patches from AROS.
4109
0e8daad0 41102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 41112013-09-23 neil
0e8daad0
VS
4112
4113 * grub-core/Makefile.am: Override STRIP and RANLIB.
4114 * configure.ac: compute TARGET_RANLIB.
4115 * INSTALL: Document TARGET_RANLIB
4116
4117 Based on patches from AROS.
4118
3f7d9c82
VS
41192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4122 that floppies are unpartitioned.
4123
bca8873a
VS
41242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4127 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4128
41292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4132 less nice but more portable.
4133 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4134
a47a78be
VS
41352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4138 for cheat_fd.
4139 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4140 functions.
4141 (grub_cryptodisk_cheat_insert): Likewise.
4142 (grub_cryptodisk_close): Likewise.
4143
e85a5d5c
VS
41442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4147 Use windows path for DEFAULT_DIRECTORY.
4148
dad9fa6b
VS
41492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4152 difference was likely just gcc version, not anything mingw-related.
4153
7e518ca8
VS
41542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Use Winapi on both cygwin and mingw32 to share more code between both.
4157
d68d0157
AB
41582013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4159
4160 * util/grub-install.in: Add --grub-editenv option.
4161 * util/grub-install_header (grub_compress_file): Explicitly check for
4162 plain file to avoid cp error.
4163
775b284d
AB
41642013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4165
4166 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4167 names; fix LVM driver name (lvm, not lv).
4168 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4169 names.
4170
3ff4063d
VS
41712013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4174 files rather than one file with loads of #if's.
4175 * util/getroot.c: Likewise.
4176
287faafe
VS
41772013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4180
d1983764
VS
41812013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4184 GNU/Hurd to the list of checked PRNG.
4185
15ce95c4
VS
41862013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4189
207862dd 41902013-09-21 Ales Nesrsta <starous@volny.cz>
4191
7c680e1f 4192 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4193
63653cfd
VS
41942013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4197 * grub-core/disk/lvm.c: Add LVM UUIDs.
4198 * util/getroot.c: Use LVM UUIDs whenever possible.
4199
f5d3e7ef
AB
42002013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4201
4202 * docs/grub.texi (Networking commands): Add documentation for
4203 network related commands.
4204
53c6b7d6
VS
42052013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4208 to determine if device is handled by devmapper.
4209 (convert_system_partition_to_system_disk): Likewise.
4210 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4211 already done in grub_util_open_dm.
4212
e70d6736
LL
42132013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4214
4215 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4216 Clean up stack manipulation (sync_caches_armv*)
4217
90379808
VS
42182013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * util/lvm.c: Remove since unused. Remove remaining references.
4221
386701a8
VS
42222013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 Handle the case of partitioned LVM properly.
4225
4226 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4227 Stop on meeting LVM, mpath or DMRAID.
4228 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4229 (read_device_map): Likewise.
4230 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4231 device is full disk rather than erroring out on LVM and similar cases.
4232
53070787
VS
42332013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4236
1bc783bd
VS
42372013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4240 4K before the end.
4241 Reported by: Leif Lindholm
4242
436ad5c3
PW
42432013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
42442013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4247 codes.
4248
607319c9
CW
42492013-09-18 Colin Watson <cjwatson@ubuntu.com>
4250
4251 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4252 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4253
d404d154
DR
42542013-09-18 Douglas Ray <dougray@cpan.org>
4255
4256 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4257 as secure.
4258
28851ef6
AN
42592013-09-18 Aleš Nesrsta <starous@volny.cz>
4260
4261 * docs/grub.texi: Fix broken link.
4262
897c3bc6
MC
42632013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4264
4265 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4266 to break endless loop.
4267
f1630459
VS
42682013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * util/grub-fstest.c: Fix several printf formats.
4271 * util/grub-mkimage.c: Likewise.
4272 * util/grub-mkimagexx.c: Likewise.
4273 * util/grub-script-check.c: Likewise.
4274
64463dfd
VS
42752013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4278 error.
4279
48972495
VS
42802013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4283
5dd5e64b
VS
42842013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4287 removed in current versions cygwin_conv_*.
4288
1c1f31e5
VS
42892013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * configure.ac: Disable efiemu runtime on cygwin.
4292
c546a259
VS
42932013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4296 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4297
81690478
VS
42982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4301 error message.
4302
6b87c10a
VS
43032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4306 windows variant.
4307 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4308 data.
4309
8f0baaac
VS
43102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4313 when on x86 and not cygwin.
4314 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4315 -Wl,-melf_x86_64.
4316
b224c266
VS
43172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * configure.ac: Set CPP to build one when checkoing for freetype for
4320 build.
4321
506b336b
VS
43222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4325 [!GRUB_BUILD]: Remove has_argument.
4326
8c8c87b7
VS
43272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4330 Replace with a dummy.
4331
7dc5ca13
VS
43322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * configure.ac: Don't change host_os from mingw to cygwin.
4335
c3302aa5
VS
43362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * configure.ac: Change target_os from windows to cygwin.
4339
7b780018
VS
43402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4343
4344 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4345 (build-grub-gen-asciih): Likewise.
4346 (build-grub-gen-widthspec): Likewise.
4347 * Makefile.util.def (grub-pe2elf): Remove.
4348 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4349 * configure.ac: Separate tests for build.
4350 Move ./build-grub-pe2elf to grub-core.
4351 Fix typo.
4352 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4353 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4354 defined.
4355 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4356 constants.
4357 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4358 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4359 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4360
984cfd8a
VS
43612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4364 mingw32 as well based on grub_util_get_disk_size.
4365 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4366 grub_util_get_fd_size.
4367 (sync): Removed.
4368 (fsync): Moved to ...
4369 * grub-core/kern/emu/misc.c (fsync): ... here.
4370
f82d79c9
VS
43712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * include/grub/mm.h (grub_extend_alloc): Remove.
4374 * grub-core/loader/i386/pc/plan9.c: Use own version of
4375 grub_extend_alloc with appropriate types.
4376
fd7dd66d
VS
43772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4380
43ffba7c
VS
43812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4384
3c7eac44
VS
43852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 Fix dependencies on cygwin.
4388
4389 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4390 dependencies when used and defined.
4391 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4392
bdb5ba47
VS
43932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4396 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4397
ed7fbf43
VS
43982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4401 implementation available to cause compile-time rather than runtime
4402 error.
4403
fc46e9fc
VS
44042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * util/grub-fstest.c: Don't check for symlinks on windows.
4407
7f68269a
VS
44082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * INSTALL: Mention unavailability of man pages when cross-compiling.
4411
8ed358e0
VS
44122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4415 and gcry_log_bug.
4416 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4417
fc97214f
VS
44182013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * INSTALL: Document cross-compilation.
4421 * acinclude.m4: Determine whether nm support -P and --defined-only.
4422 * configure.ac: Add TARGET_ to all variables pertaining to target
4423 that don't have it yet.
4424 * gentpl.py: Likewise.
4425 * grub-core/Makefile.am: Likewise.
4426 * grub-core/genmod.sh.in: Likewise.
4427 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4428 as well.
4429
ca1fb563
IB
44302013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4431
4432 * configure.ac: Remove -Wempty-body. It's not essential and needs
4433 recent gcc.
4434
0031b229
IB
44352013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4436
4437 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4438 * util/getroot.c: Likewise.
4439
54ea2f44
VS
44402013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/disk/ahci.c: Add needed explicit cast.
4443 * grub-core/lib/backtrace.c: Likewise.
4444 * grub-core/net/ip.c: Likewise.
4445 * grub-core/net/tcp.c: Likewise.
4446 * grub-core/net/udp.c: Likewise.
4447
3c601f8c
VS
44482013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4451
1d679dda
VS
44522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * util/import_gcry.py: Add final newline in visibility.h.
4455
00c28dd9
VS
44562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * conf/Makefile.common: Fix typo.
4459
32af299a
VS
44602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4463
e733cf52
VS
44642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * Makefile.am (widthspec.h): Fix typo.
4467 * util/grub-gen-widthspec.c: Likewise.
4468
c6b066f2
VS
44692013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 Move ascii.h and widthspec.h generation to a separate build-time-only
4472 tool.
4473
ad1fe3f9 44742013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4475
4476 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4477 Always fill bootdisk info and improve check for NetBSD disklabel.
4478
92a52dd4
VS
44792013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * conf/Makefile.extra-dist: Add util/bin2h.c.
4482 Reported by: floppym.
4483
b2e9d276
VS
44842013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4487
7b966834
VS
44882013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * configure.ac: Disable unifont and starfield if no freetype was found.
4491
d5c1eef1
VS
44922013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4495 on NetBSD and OpenBSD.
4496
66345b50 44972013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4498
4499 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4500
66345b50 45012013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4502
4503 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4504 reduced. Inheritant options are processed during the theme loading.
4505
66345b50 45062013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4507
4508 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4509
369508b3
AS
45102013-08-14 Avik Sil <aviksil@in.ibm.com>
4511
4512 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4513
45142013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4515
4516 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4517 using qemu.
4518
6f27a3f6
PFS
45192013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4520
4521 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4522 remove-potcdate.sed.
4523
c6ed362a
AB
45242013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4525
4526 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4527 unused attribute from pull argument.
4528
5e7d9464
AB
45292013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4530
4531 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4532 memory leak.
4533
dea55e2a
AB
45342013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4535
4536 * util/getroot.c (pull_lvm_by_command): add --separator option
4537 to vgs call to disable padding of output to 10 characters.
4538
f0b94ded
VS
45392013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4542 here ...
4543 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4544 here.
4545
b828fb5d
VS
45462013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4549 length.
4550
7c9d0c39
VS
45512013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4554 full Canadian cross. Tested with build=x86_64, host=arm,
4555 target=ppc-ieee1275.
4556
816719c8
VS
45572013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * configure.ac: Error if no $BUILD_CC could be found.
4560 Reported by: DevHC.
4561
2af2353b
VS
45622013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4565 i386-multiboot.
4566
797abd0a
VS
45672013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4570 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4571
36e87d25
CW
45722013-08-13 Colin Watson <cjwatson@ubuntu.com>
4573
4574 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4575 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4576 falling back to the partition device, otherwise a later call to this
4577 function may fail spuriously.
4578 Reported by Axel Beckert. Fixes Debian bug #708614.
4579
273349fe
GS
45802013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4581
4582 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4583
418f86c6
GS
45842013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4585
4586 Prevent shadowing of stdlib's devname(3) on BSD.
4587
4588 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4589 and devlast to diskname and disklast, respectively.
4590
c137aea0
CW
45912013-08-11 Colin Watson <cjwatson@ubuntu.com>
4592
4593 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4594
272dc8df 45952013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4596
4597 * docs/grub.texi: Introduce terminal window position options:
4598 terminal-left: terminal window's left position
4599 terminal-top: terminal window's top position
4600 terminal-width: terminal window's width
4601 terminal-height: terminal window's height
4602 terminal-border: terminal window's border width
4603 * grub-core/gfxmenu/theme-loader.c: Likewise.
4604 * include/grub/gfxmenu_view.h: Likewise.
4605 * po/exlude.pot: Likewise.
4606 * grub-core/gfxmenu/view.c: Likewise.
4607 Also updated minimal window size.
4608 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4609 * grub-core/tests/checksums.h: Update (terminal window height
4610 is adjusted now for low resolution screen)
b4743461 4611
748a4533
VS
46122013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4615 position).
4616
fca5f944
VS
46172013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * po/exclude.pot: Add few recent exceptions.
4620
4f47d809
VS
46212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * tests/grub_func_test.in: Add unicode.pf2.
4624
a62ae90c
VS
46252013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4628 standard rather than noral color, in line with other terminals.
4629
4ed41392
VS
46302013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4633 analysis.
4634
3719fbc5
VS
46352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4638
459b1d91
VS
46392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4642 inappropriate printf.
4643
f4e1ab9d
AB
46442013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4645
4646 * .bzrignore: Remove grub-core/lib/dtc-grub,
4647 grub-core/Makefile.libfdt.def
4648 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4649
fa471bfa
VS
46502013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * include/grub/video.h (grub_video_register): Keep double-linked as
4653 well as single-linked invariants.
4654 Reported by: qwertial.
4655
d65be02b
VS
46562013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/commands/nativedisk.c (get_uuid): Handle
4659 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4660
ba8bc620
VT
46612013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4662
4663 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4664 maximum of NW, N, NE heights instead of N's height and maximum of
4665 NW, W, SW widths instead of W's width. (So the box will be always
4666 correctly drawn)
4667
4f0ad029
GS
46682013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4669
4670 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4671 Fix misuse of variable count.
4672
43d53b72
LL
46732013-07-18 Leif Lindholm <leif.lindholm@arm.com>
46742013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
46752013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4676
43d53b72
LL
4677 New ports to arm-uboot and arm-efi.
4678 Mostly by Leif Lindholm with some additions from
4679 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4680
88f8d146
VS
46812013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4684 and not before.
4685 Reported by: Leon Drugi.
4686
3f42504c
VS
46872013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4690 Reported by: Paulo Flabiano Smorigo.
4691
d110499b
VT
46922013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4693
4694 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4695
a8674ad3
VT
46962013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4697
4698 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4699
286fe4b3
VS
47002013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4703
1bd57aa3
VS
47042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4707
7a87d69f
AB
47082013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4709
4710 * grub-core/net/bootp.c: Export net_* variables.
4711 * grub-core/net/net.c: Likewise.
4712
b2182299
VS
47132013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4716
795b3dc0
VS
47172013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4720
68714c43
VS
47212013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4724
af211bab
VS
47252013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4728
0036f02d
MM
47292013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4730
4731 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4732 <= 0.
4733
6d0ddff3
MM
47342013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4735
4736 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4737 functions.
4738
038016f4
MM
47392013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4740
4741 * grub-core/fs/zfs/zfs_lz4.c: New file.
4742 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4743
776bdce2
MM
47442013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4745
4746 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4747
c71dbd40
MM
47482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4749
4750 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4751 (check_pool_label): Likewise.
4752 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4753
47542013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4755
4756 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4757
8e67b50f
AB
47582013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4759
4760 * docs/grub.texi (Commands): Document postition parameters
4761 for menuentry command.
4762
f5ae3717
AB
47632013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4764
4765 * util/grub-mknetdir.in: Remove stray line from help output.
4766
9c28da2a
VS
47672013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 Remove early sm712 init as there is no reason for it (the "watchdog"
4770 effect was due to wrong GPIO map).
4771
139072b8
VS
47722013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/pcidump.c: Remove static variables.
4775
c6a61bda
VS
47762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4779
51369614
VS
47802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * configure.ac: Move delimiter after the infos.
4783
efa8640a
VS
47842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4787
6f80a7b2
VS
47882013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4791 not filling whole 8x16 space.
4792
a2371e19
VS
47932013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4796
64fce2d8
VS
47972013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * configure.ac: Indicate which liblzma is used if any.
4800
eb272d84
PW
48012013-06-21 Paul Wise <pabs3@bonedaddy.net>
48022013-06-21 Craig Sanders <savannah@taz.net.au>
4803
4804 * util/grub-reboot.in: Document submenu usage.
4805
a9e5abee
CW
48062013-06-25 Colin Watson <cjwatson@ubuntu.com>
4807
4808 * .bzrignore: Update with a number of new test-related files.
4809
e639c204
CW
48102013-06-25 Colin Watson <cjwatson@ubuntu.com>
4811
4812 * util/grub-script-check.c: Fail on scripts containing no
4813 commands, to guard against corrupted grub-mkconfig setups that
4814 produce no useful output.
4815 * tests/grub_script_no_commands.in: New test.
4816 * Makefile.util.def (grub_script_no_commands): Add.
4817 Reported by Hans Putter. Fixes Debian bug #713886.
4818
a4c89b17
AB
48192013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4820
4821 * grub-core/disk/diskfilter.c: Forgot to remove comment
4822 from previous commit.
4823
5b06b53c
AB
48242013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4825
4826 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4827 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4828
702da5c9
AB
48292013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4830
4831 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4832
aa62a5b7
AB
48332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4834
4835 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4836 rescan diskfilter devices until nothing new is found.
4837
4aa237c8
VS
48382013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4841
93d8479b
VS
48422013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 Don't try to detect cbfs on *-emu.
4845
837222cc
VS
48462013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4849
99c971af
VS
48502013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Add support for processed coreboot payload chainloading.
4853
e6930a45
VS
48542013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Enable coreboot information commands even when not loaded as
4857 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4858
5027af38
VS
48592013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Support for cbfs. Also factor out the part which is common
4862 for all archives to a separate module. This splits tar from cpio
4863 as they are very different but keeps cpio, cpio_be, odc and newc
4864 together since they're very similar.
4865
a5b55c4b
DM
48662013-06-15 David Michael <fedora.dm0@gmail.com>
4867
4868 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4869 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4870
0301a8b3
VS
48712013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * tests/grub_script_eval.in: Really add the eval test.
4874
3d84cb17
VS
48752013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Move flavour-specific parts out of common cpio.c file and
4878 rename remaining to cpio_common.c
4879
593e430c
AB
48802013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4881
4882 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4883 off new function grub_script_execute_new_scope. Change callers to use
4884 either of them as appropriate.
4885 * grub-core/commands/eval.c: New command eval.
4886 * docs/grub.texi (Commands): Document it.
4887
63c29849
AB
48882013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4889
4890 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4891 to fetch values when listing.
4892
cc284112
AB
48932013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4894
4895 Fix make dist on non-pc.
4896
48972013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4898
4899 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4900 without a device name.
4901
69544d1e
VS
49022013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 Remove enable_executable_check as it's not needed anymore.
4905 Reported by: dougray.
4906
96dbe648
VS
49072013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4910 ambigouos RAID before discovering RAIDs on top of it.
4911 Reported by: bodom.
4912
ccfc0bdb
VS
49132013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 Fix typo (failback vs fallback).
4916
f2587088
AB
49172013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4918
4919 * util/grub.d/30_os-prober.in: Add support for probing EFI
4920 System Partition (as of os-prober 1.58).
4921
cec5cf0c
VS
49222013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * configure.ac: Add yet another path to unifont. For parabola.
4925
e40b4596
JT
49262013-05-30 Josh Triplett <josh@joshtriplett.org>
4927
4928 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4929 handling to copy the killed characters to the kill buffer as
4930 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4931 stored as char. Eliminates UCS4 truncation and corruption
4932 observed when killing characters with Ctrl-u and yanking them
4933 back with Ctrl-y.
4934
fc4c4fdd
VS
49352013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Detach optional parts of gfxterm and integrate in with coreboot init.
4938
6570b205
VS
49392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Move blit and fill dispatcher to appropriate files to decrease export
4942 and relocation overhead.
4943
b8323067
VS
49442013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4947 functions.
4948
3cc1878f
VS
49492013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/Makefile.am: Fix compilation problem with some
4952 automake versions.
4953
4b80e43c
VS
49542013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4957
57e0c20c
VS
49582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4961 automake versions.
4962
4fd42c53
VS
49632013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4966 SSDT.
4967
1e908b34
RS
49682013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4969
4970 * grub-core/partmap/dfly.c: New partition map.
4971
1359e474
VS
49722013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4975 checking.
4976 Reported by: Francesco Lavra.
4977
17806392
AB
49782013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4979
4980 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4981 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4982 false conditions.
4983 * conf/Makefile.common: define dist_grubconf_DATA
4984
cdce14fa
VS
49852013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Progressively skip menu elements on small terminals rather
4988 than crashing.
4989
c8d6cc3c
VS
49902013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4993 to avoid losing last column.
4994
a73b31ce
VS
49952013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * po/exclude.pot: Add missing string "%C".
4998
1202c764
VS
49992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5002 after the test.
5003
50268344
VS
50042013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * util/grub-install.in: Gettextize "Not found" message.
5007
62b15edf
VS
50082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 Fix distfiles list.
5011 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5012
50132013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5014
5015 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5016 present.
5017 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5018
709ad61b
VS
50192013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5022
d128901a
VS
50232013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5026 attribute since structure is not necessarily aligned.
5027
34b22f5c
AB
50282013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5029
5030 * docs/grub.texi (Device syntax): Clarify description of network
5031 drives.
5032
0f7e980b
VS
50332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5036 for vasprintf presence.
5037
30b03dc2
VS
50382013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * util/grub-install.in: Handle efibootmgr presence check.
5041 Reported by: Leif Lindholm.
5042
0dc11c08
VS
50432013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5046 new strings to translate.
5047
f8024c3f
VS
50482013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5051 yet another string (pun intended) to translate.
5052
b4c1da62
VS
50532013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * po/POTFILES-shell.in: Autogenerate it.
5056
0ef7478b
VS
50572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5060
8200fa15
VS
50612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5064 misnomer.
5065
091945b2
AB
50662013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5067
5068 * docs/grub.texi (Network): Add description of net_default_interface,
5069 net_default_ip and net_default_mac. Rewrite variables description
5070 to emphasize that they are per-interface.
5071
0e7b2e32
VS
50722013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 New test: cmdline and cat.
5075
16f7c8f6
VS
50762013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/commands/cat.c: Show UTF-8 characters.
5079
3e912fda
VS
50802013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * conf/Makefile.common: Poison float and double on non-emu.
5083
ee0220bc
VS
50842013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * configure.ac: Don't disable extended registers on emu.
5087
89e0240c
VS
50882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * configure.ac: Don't use extended registers on x86_64.
5091 Reported by: Peter Jones.
5092
e56d9637
VS
50932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/term/efi/console.c: Fix compile error.
5096
8098f655
VS
50972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 Compressed HFS+ support.
5100
16940e07
VS
51012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5104 pixel".
5105
c5dbc13d
VS
51062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 Menu color test.
5109
011f8ae8
VS
51102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/tests/setjmp_test.c: New test.
5113
2aa072d7
VS
51142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 New variables 'net_default_*' to determine MAC/IP of default interface.
5117
43fe02cb
VS
51182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * tests/gettext_strings_test.in: A test to check for strings not
5121 marked for translation.
5122
bed06142
VS
51232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * autogen.sh: Exclude unused libgcrypt files from translation.
5126
fb2666b5
VS
51272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Simplify few strings.
5130
d22840ec
VS
51312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Mark few forgotten strings for translation.
5134
e34092fd
VS
51352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5138 rather than printf.
5139
47cf82b4
VS
51402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5143 rather than printf.
5144 * grub-core/video/readers/tga.c: Likewise.
5145
1eed0e6e
VS
51462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * tests/priority_queue_unit_test.cc: New test.
5149
c5b7697b
VS
51502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5153 than printf.
5154
5945c2f8
AB
51552013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5156
5157 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5158 variable for one time boot menu entry.
5159
fa292343
B
51602013-05-05 Bean <bean123ch@gmail.com>
5161
5162 * grub-core/commands/testspeed.c: New command testspeed.
5163
310d4214
VS
51642013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 Factor-out human-size printing.
5167
85002bf3
VS
51682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 Agglomerate more mallocs to speed-up gfxterm.
5171
22b06e96
VS
51722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Speed-up gfxterm by slightly agglomerating mallocs.
5175
b7c036bc
VS
51762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 More video checks.
5179
92323d1f
VS
51802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 Speed-up gfxterm by saving intermediate results in index+alpha
5183 format.
5184
0fb356a3
VS
51852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5188 test.
5189
44dea3f9
VS
51902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5193 line of timeout as it may contain the rest of long line.
5194
14af86e4
VS
51952013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/normal/main.c: Fix freed memory dereference.
5198
03f7c8c3
VS
51992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Fix several memory leaks.
5202
c686014c
VS
52032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5206
0788a695
VS
52072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5210
daf01d61
VS
52112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Fix test -a and -o precedence.
5214 Reported by: adrian15.
5215
82ae74d7
VS
52162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5219
8cec7bd4
AB
52202013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5221
5222 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5223 and add it as source to functional_test module.
5224
aa73d688
VS
52252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5228
c104b6f9
VS
52292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 New series of tests for gfxterm and gfxmenu.
5232
7391c4d5
VS
52332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5236 the theme path relative to $prefix/themes.
5237
cff50118
VS
52382013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5241 Fix order bug.
5242 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5243
7c332bdc
VS
52442013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5247 descriptor.
5248
a4f9a5ff
VS
52492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5252 grub_gfxmenu_timeout_notifications.
5253 (grub_gfxmenu_view_destroy): Likewise.
5254
b5a2114d
VS
52552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5258
a8905e8a
VS
52592013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Several fixes to ieee1275 and big-endian video.
5262
813c1622
VS
52632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Add missing exports on mips.
5266
3f3e7326
VS
52672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5270 if no unifont is found.
5271 Restore original keyboard.
5272
095accd1
VS
52732013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5276 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5277
50361660
VS
52782013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 First automated video test (running videotest and comparing results)
5281
cd0f6eec
VS
52822013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5285 instead of 2 to have full RGB/CMY test pattern.
5286
3f9634e5
VS
52872013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Add few more tests.
5290
583e5b64
VS
52912013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5294 ARCS. All users updated.
5295
aa7bcb99
VS
52962013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5299
95ef1a54
VS
53002013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5303
46546fc5
VS
53042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5307 Reported by: qwertial.
5308
3476e0ef
VT
53092013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5310
5311 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5312 with syntax "XXX deg"/"XXX °".
5313
96f33fed
VS
53142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 Make PCI init in i386-qemu port more robust.
5317
53182013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5319
5320 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5321 cached view is reused.
5322 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5323 open boot menus.
5324
c53b4e67
VS
53252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 Unify more code in grub-install_header.
5328
f7457fb2
VS
53292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 Add few new tests.
5332
e2f27a8c
VS
53332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 Enforce disabling of firmware disk drivers when native drivers kick in.
5336
ef9d8cd5
VS
53372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/commands/nativedisk.c: Customize the list of modules on
5340 platform. Don't try to search for disks already using native drivers.
5341
f7bf6c31
VS
53422013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5345 platforms.
5346
bdc4add8
VS
53472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5350 handling of variables containing backslash.
5351
e9e46c9a
VS
53522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5355 dereference.
5356 Reported by: qwertial.
5357
0e90dee8
VS
53582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5361
e0aacf24
VS
53622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5365 dereference.
5366 Reported by: qwertial.
5367
3c0003c3
VS
53682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5371
adb7d667
VS
53722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5375
7cd0df84
VS
53762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 New command `nativedisk'.
5379
02adbb93
VS
53802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5383 * grub-core/loader/i386/bsd.c: Likewise.
5384
9fb0fd4f
VS
53852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5388
bd69257a
VS
53892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5392 grub_get_unaligned16 rather than shifts.
5393
178c2764
VS
53942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/kern/file.c: Use const char * rather than casting to
5397 non-const.
5398
eadfad24
VS
53992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/commands/probe.c: Add missing grub_device_close.
5402
9f73ebd4
VS
54032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * INSTALL: Document linguas.sh.
5406
965fa829
VS
54072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 Remove POTFILES.in and regenerate it in autogen.sh.
5410
d417ddc4
VS
54112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 Move --directory/--override-directorry to grub-install_header and unify.
5414
f97ec546
VS
54152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/term/morse.c: Macroify dih and dah.
5418
b2d7470c
PFS
54192013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5420
5421 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5422
141e2a78
VS
54232013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/term/ns8250.c: Systematically probe ports by writing
5426 to SR before using them.
5427
1dd70ebd
PFS
54282013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5429
5430 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5431 disks.
5432 (check_sas): Get sas_adress info.
5433
c796a107
VS
54342013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5437 ports.
5438
43168646
LD
54392013-04-27 Leon Drugi <eyak>
5440
5441 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5442 BSS clearing.
5443
e7b8fd08
VS
54442013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 Core compression test.
5447
17f9fd29
VS
54482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 Implement grub_machine_get_bootlocation for ARC.
5451
dc2a6c8b
VS
54522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 Improve AHCI detection and command issuing.
5455
f25a2ba6
VS
54562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 Fix pseries test.
5459
a6393224
VS
54602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 Make 'make check' work on emu.
5463
db99fbe8
VS
54642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 Replace libcurses with our own vt100 handling for the ease of testing
5467 and decreasing prerequisites.
5468
b24ca7cd
VS
54692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5472
63314aa4
VS
54732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5476 compile when not needed.
5477
c1b00fff
VS
54782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * tests/pseries_test.in: New test.
5481
f93e89ef
VS
54822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Add test to check that different boot mediums work.
5485
c4b456d3
VS
54862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5489 ofw limited ISO support.
5490
5fe67f39
VS
54912013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * configure.ac: Fix loongson conditional.
5494
7f63a64f
VS
54952013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 Enable mipsel-arc.
5498
b04b5990
VS
54992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 Add serial on ARC platform.
5502
88d2f302
VS
55032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5506 commit.
5507
86eb23bc
VS
55082013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * tests/partmap_test.in: Add missing double semicolon.
5511
eec3bb75
VS
55122013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * util/grub-mkrescue.in: Fix loongson filename.
5515
e0810df3
VS
55162013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * util/grub-mkrescue.in: Move all files that don't have a location
5519 set in stone under /boot/grub. Use ISO hard links rather than copies
5520 to save some space.
5521
65a6b30b
VS
55222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5525 bogus SLOF values.
5526
6aff0107
VS
55272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 Make check work on mips-arc.
5530
5e013e56
VS
55312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-mkrescue.in: Alias sashARCS as sash.
5534
d1989e2e
VS
55352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5538 it's serial.
5539
1a25e72c
VS
55402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * util/grub-install.in: Fix target fo qemu_mips.
5543 Fix extension on EFI.
5544
a59a9826
VS
55452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5548 in front of chosen entry to mark it even if highlighting is lost.
5549
1a40f80c
VS
55502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5553 gfxpayload=keep if cbfb is active.
5554
e343549c
VS
55552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5558
45fbd9a2
VS
55592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 Add missing video ids to coreboot and ieee1275 video.
5562
ab1440bd
VS
55632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * util/grub-mkrescue.in: Add mips-arc support.
5566
cdeb8324
VS
55672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5570
8528c879
VS
55712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 Move mips-arc link address. Previous link address was chosen
5574 in belief that RAM on SGI platforms grows down while in fact it
5575 grows up from an unusual base.
5576
17fca573
VS
55772013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5580 Fix a type which prevented CD-ROM and floppy boot.
5581
d178788e
VS
55822013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 Support coreboot framebuffer.
5585
5586 * grub-core/video/i386/coreboot/cbfb.c: New file.
5587
fe4c3e7e
VS
55882013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5591 detecting too small regions.
5592
ec2dd179
VS
55932013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5596
872dac83
VS
55972013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5600 Remove dprintf.
5601 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5602
90ec4b7f
VS
56032013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5606 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5607 * grub-core/loader/powerpc/ieee1275/linux.c
5608 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5609
f32555dd
VS
56102013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5613 Look for /boot-rom as well as /rom/boot-rom.
5614
38649799
VS
56152013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5618 handling when creating text_layer failed.
5619 * grub-core/video/video.c (grub_video_create_render_target):
5620 Set result to 0 on error.
5621 (grub_video_delete_render_target): Do not dereference NULL.
5622
aeace7f7
VS
56232013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5626 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5627 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5628 (grub_linux_load64): Mask out 2 high bits.
5629
4eafa175
AB
56302013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5631
5632 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5633 more place.
5634
daaa64bd
VS
56352013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 Add support for pseries and other bootinfo machines to grub-mkrescue.
5638
5639 Tested by: Paulo Flabiano Smorigo.
5640
d0d2daa6
VS
56412013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * util/grub-mkrescue.in: Add GPT for EFI boot.
5644
b193e100
VS
56452013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5648 It improves performance in qemu.
5649
a0f8f3ac
VS
56502013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * build-aux/snippet: Add missing gnulib files.
5653
284df0e2
AB
56542013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5655
5656 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5657
740201f3
AB
56582013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5659
5660 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5661
a7e03923
PJ
56622013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
56632013-04-15 Peter Jones <pjones@redhat.com>
5664
5665 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5666 sectors.
5667 Based on patch by Peter Jones.
5668
25fc51a8
VS
56692013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Fix DMRAID partition handling.
5672
88017d47
VS
56732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * tests/grub_cmd_date.in: Skip on sparc64.
5676
fa7d914e
VS
56772013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5680 firmware error messages.
5681
cbe57a48
VS
56822013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5685 source and destination differ.
5686
21aecce0
VS
56872013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5690 detection.
5691
25092d29
VS
56922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5695 match config-util.h to avoid warnings and increase compatibility.
5696
79451522 56972013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 56982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5699
5700 Add option to compress files on install/image creation.
5701
78b7d77b
VS
57022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * docs/grub-dev.texi: Rearrange menu to match the section order.
5705 Reported by: Bryan Hundven.
5706
cc2fa5ec
VS
57072013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5710
b49fe879
VS
57112013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 Move GRUB out of system area when using xorriso 1.2.9 or later.
5714
5351da81
VS
57152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * tests/grub_cmd_date.in: Add missing exit 1.
5718
c9d586ea
VS
57192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * tests/partmap_test.in: Skip on sparc64.
5722
3f729741
VS
57232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 Support grub-shell on sparc64.
5726
8ca86b3a
VS
57272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Support mkrescue on sparc64.
5730
aa1af9bb
VS
57312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5734 Needed on OpenBIOS due to incomplete device tree.
5735
ac4fea79
VS
57362013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5739 would be otherwise excluded.
5740
57412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5742
5743 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5744 Inline name defines used only once.
5745
fe22b071
VS
57462013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 Fix memory leaks in ofnet.
5749 Reported by: Francesco Lavra.
5750
9d21381b
VS
57512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * docs/man/grub-glue-efi.h2m: Add missing file.
5754
07aec23c
VS
57552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5758
67ab8353
VS
57592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 Better support Apple Intel Macs on CD.
5762
ba44ca6d
VS
57632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 Replace stpcpy with grub_stpcpy in tools.
5766
bbdd6305
VS
57672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 Handle Japanese special keys.
5770 Reported by: Hiroyuki YAMAMORI.
5771 Codes supplied by: Hiroyuki YAMAMORI.
5772
8573d302
VS
57732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/grub-mkimage.c: Document memdisk implying --prefix.
5776
d70dbab7
VS
57772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5780 much we can do about it anyway.
5781
51a4c3e3
AN
57822013-04-12 Aleš Nesrsta <starous@volny.cz>
5783
5784 Fix handling of split transfers.
5785
92c8f58d
VS
57862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/net/http.c: Fix bad free.
5789
b7d17a49
VS
57902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5793 than buffer size.
5794
a3d566d4
VS
57952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5798
a936af56
VS
57992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * tests/util/grub-shell.in: Fix it on powerpc.
5802
51212234
VS
58032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Turn off QEMU ACPI-way since new releases don't have shutdown port
5806 anymore.
5807
a21eec9e
VS
58082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * docs/grub.texi: Update coreboot status info.
5811
e3734b84
VS
58122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * tests/grub_cmd_date.in: New test for datetime.
5815
f9d40055
VS
58162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * tests/partmap_test.in: Fix missing qemudisk setting.
5819
dbc56d8f
VS
58202013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 Support i386-ieee1275 grub-mkrescue and make check on it.
5823
a79b8a15
VS
58242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5827 feature for it.
5828
48f39bb4
VS
58292013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5832 GRUB_CMDLINE_XEN_DEFAULT.
5833 Reported by: Marc Warne (GigaTux) <gigatux>
5834
053cfcdd
VS
58352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Import new gnulib.
5838
93cd84df
VS
58392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Use ACPI shutdown intests as traditional port was removed.
5842
f4b1fa4f
AB
58432013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5844
5845 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5846 distinction.
5847
49818a59
VS
58482013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5851 Fix few warining messages and leaks while on it.
5852
9277a306
AB
58532013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5854
5855 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5856 links under grub-core/lib/libgcrypt-grub/mpi.
5857
d5e2a158
VS
58582013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Fix ia64-efi image generation on big-endian machines. Deduplicate
5861 some code while on it.
5862 Reported by: Leif Lindholm.
5863
18866643
AB
58642013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5865
5866 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5867 as extra_dist.
5868
ca53deb8
AB
58692013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5870
5871 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5872
d4c4b8e1
BH
58732013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5874
5875 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5876 texinfo-5.1.
5877
47043f95
VS
58782013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/normal/term.c: Few more fixes for menu entry editor
5881 rendering.
5882 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5883
a3216068
VS
58842013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/normal/term.c: Few more fixes for menu entry editor
5887 rendering.
5888 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5889
21026747
AB
58902013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5891
5892 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5893 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5894
59624ca8
AB
58952013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5896
5897 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5898 instead of hardcoding grub.mo.
5899
1f44478c
FN
59002013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5901
5902 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5903
eeada7b1
VS
59042013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5907 grub-core/disk/geli.c.
5908
132867de
VS
59092013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * util/grub-mkfont.c: Prefer enum to #define.
5912
de73de17
VS
59132013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5916
1865baa7
VS
59172013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5920
ce7d92a9
VS
59212013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5924
52eab656
VS
59252013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5928
98b23b95
VS
59292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * include/grub/bsdlabel.h: Use enums.
5932
0467a5dd
VS
59332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Move GRUB_CHAR_BIT to types.h.
5936
16cc9f03
AB
59372013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5938
5939 * docs/grub.texi: Document more user commands.
5940
3152aecb
AB
59412013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5942
5943 * docs/grub.texi: Document menuentry --id option.
5944
c506fc30
FL
59452013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5946
5947 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5948
aa428238
VS
59492013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 Unify file copying setup across different install scripts. Add
5952 options for performing partial install.
5953
efe0cdda
PJ
59542013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
59552013-04-04 Peter Jones <pjones@redhat.com>
5956
5957 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5958
f75835bd
VS
59592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 Use TSC as a possible time source on i386-ieee1275.
5962
2cd5ce6c
VS
59632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5966 Init err.
5967
c9625630
VS
59682013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * util/grub-setup.c (setup): Handle some corner cases.
5971
be008941
VS
59722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5975
1a78d573
VS
59762013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/commands/verify.c: Save verified file to avoid it being
5979 tampered with after verification was done.
5980
db8ff59f
VS
59812013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5984 reported width by one to compensate for curesor algorithm problem.
5985
91bf46b1
VS
59862013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Fix screen corruption in menu entry editor and simplify the code
5989 flow while on it.
5990
a7b1d693
AB
59912013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5992
5993 * util/grub-mount.c (fuse_init): Return error if fuse_main
5994 failed.
5995
31df9ad8
FL
59962013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5997
5998 * include/grub/elf.h: Add missing ARM relocation codes and fix
5999 existing ones.
6000
07f392eb
VT
60012013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6002
6003 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6004
9efd73ec 60052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
60062013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6009 into account when calculating radius.
6010
60112013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6012
6013 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6014
4985ddaa
VT
60152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6016
6017 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6018
8c3635ff
RS
60192013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6020
6021 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6022 missing closing bracket.
6023
74a35e69
RS
60242013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6025
6026 * INSTALL: Mention xorriso requirement.
6027
40f1c000
AB
60282013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6029
6030 * grub-core/commands/verify.c: Fix hash algorithms values for
6031 the first three hashes - they start with 1, not with 0.
6032
e75fdee4
VS
60332013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6036 Try terminating EFI services several times due to quirks in some
6037 implementations.
6038
33028f4c
CW
60392013-03-26 Colin Watson <cjwatson@ubuntu.com>
6040
6041 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6042 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6043 BankField extended opcodes.
6044 (get_sleep_type): Add minimal scope handling (just enough to
6045 handle setting the scope to the root path).
6046 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6047 * include/grub/acpi.h: Add enumeration values for Event, Device,
6048 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6049
33871a10
VT
60502013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6051
6052 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6053 memory leak.
6054
8990963a
VS
60552013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/disk/ahci.c: Give more time for AHCI request.
6058
daae8f9e
VS
60592013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6062 command.
6063
6a7fb94b
VS
60642013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Replace the region at 0 from coreboot tables to available in BSD
6067 memory map.
6068
ff99babd
VS
60692013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6072 non-BIOS platforms.
6073
30d6b1b2
VS
60742013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6077 platforms.
6078
6ccd0b31
VS
60792013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6082 handling of multi-device filesystems.
6083
23c9cc04
VS
60842013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6087 platforms.
6088
ce50dbd7
VS
60892013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Add new 'proc' filesystem framework and put luks_script into it.
6092
d975e8d5
VS
60932013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6096 and qemu.
6097
e73ba5e8
VS
60982013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6101
92750e4c
VS
61022013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 Add ability to generate newc additions on runtime.
6105
0ec45a68
VS
61062013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6109 description.
6110
320abd43
VS
61112013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * po/POTFILES.in: Regenerate.
6114
d7a6506e
VS
61152013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/commands/verify.c (hashes): Add several hashes
6118 from the spec.
6119
8fe05def
VS
61202013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 Slight improve in USB-related boot-time checkpoints.
6123
524e2766
VS
61242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/commands/boottime.c: Fix copyright header.
6127
cc19857a
VS
61282013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6131 coreboot tables content. Support for cbmemc.
6132
ef8810e9
VS
61332013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 Fix a conflict between ports structures with 2 controllers of
6136 same kind.
6137
e9dabdfa
VS
61382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * include/grub/boottime.h: Add missing file.
6141
f6df57d2
VS
61422013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Initialize USB ports in parallel to speed-up boot.
6145
d745dda7
VS
61462013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 Fix USB devices not being detected when requested
6149 due to delayed attach.
6150
e5a2dd7b
VS
61512013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6152
e744219b
VS
6153 Implement boot time analysis framework.
6154
61552013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6158 descriptor to just receive it as argument rather than endpoint
6159 address.
6160
5dd6f587
VS
61612013-03-19 Aleš Nesrsta <starous@volny.cz>
6162
6163 Better estimate the maximum USB transfer size.
6164
2f1071d5
VS
61652013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 Resend a packet if we got the wrong buffer in status.
6168
46ecfc49
VS
61692013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6172 multiplication rather than division.
6173
ea811130
VS
61742013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6177 than divisions.
6178
d2789cf0
VS
61792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6182 operations to have intended shifts and not divisions.
6183
a9c94590
VS
61842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6187 intended shifts rather than division.
6188
84cfe81b
VS
61892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6192 computation for some years before epoch. Avode confusing division
6193 while on it.
6194
21344ef6
VS
61952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/video/i386/pc/vbe.c
6198 (grub_video_vbe_print_adapter_specific_info): Replace division by
6199 shifts.
6200
3f2b4d1a
VS
62012013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Adjust types in gdb module to have intended unsigned shifts rather than
6204 signed divisions.
6205
3dac5878
VS
62062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6209 maximum size is 4G - 1 on hfs
6210
5341c0fb
VS
62112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6214
fc3ff2a2
VS
62152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6218 function.
6219
81455e8e
AB
62202013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6221
6222 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6223 causing gcc error with gcc 4.7.1.
6224
efd4f117
NZ
62252013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6226
6227 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6228 dereference null pointer. While the code is technically correct, gcc
6229 may eliminate a null check if pointer is already dereferenced.
6230
e11645f4
NZ
62312013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6232
6233 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6234 OOM check.
6235 * grub-core/normal/term.c (read_terminal_list): Likewise.
6236
77468368
VS
62372013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Lift up core size limits on some platforms. Fix potential memory
6240 corruption with big core on small memory systems. Document remaining
6241 limits.
6242
f6b58fe5
VS
62432013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6246 gotoxy to 0,0.
6247
19ce697d
VS
62482013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 Remove all trampoline support. Add -Wtrampolines when
6251 present. Remove symbols used for trampolines to make
6252 link fail if trampolines are present.
6253
73b5d90f
VS
62542013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6257 append out of its parent.
6258
cb758e96
VS
62592013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6262 parent.
6263
3188131f
VS
62642013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6267 all vars to a macro. All users updated.
6268
e42b2514
VS
62692013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6272 i386-ieee1275.
6273
83e1a1a1
VS
62742013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6277
1d5a880f
VS
62782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6281
6e4146c4
VS
62822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 Move to more hookless approach in IEEE1275 devices handling.
6285
99fcda8a
VS
62862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/kern/term.c (grub_term_normal_color),
6289 (grub_term_highlight_color): Add back lost defaults.
6290
73bf57e2
VS
62912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 Make elfload not use hooks. Opt for flags and iterators instead.
6294
7f8c105f
VS
62952013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6298 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6299
396d4091
VS
63002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6303
63042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6307 hook pass-through parameter. All users updated and unnested.
6308
74a27421
VS
63092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6312 out of its parent.
6313
b46d4213
VS
63142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/fs/hfs.c: Remove nested functions.
6317
e114c3cc
VS
63182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6321 the context through.
6322 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6323
f9b7d780
VS
63242013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * util/grub-editenv.c (list_variables): Move print_var out of its
6327 parent.
6328
ca9c2608
VS
63292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6332 function.
6333
5d983f5f
VS
63342013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/gentrigtables.c: Make tables const.
6337
3056d3e7
VS
63382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Remove nested functions from videoinfo iterators.
6341
e2303774
VS
63422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6345 for 64-bit platforms.
6346
f42e3a2f
VS
63472013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6350 a FOR_CHILDREN macro.
6351
be174e5e
VS
63522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6355 platform from firmware path.
6356
0789b672
VS
63572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Enable linux16 on non-BIOS systems for i.a. memtest.
6360
6361 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6362 correctly.
6363 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6364
005a9c32
VS
63652013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6368 Fix end of table condition.
6369
ff2b3cd9
VS
63702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6373 out of its parent.
6374
4fc40ff8
VS
63752013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/fs/jfs.c: Remove nested functions.
6378
be42d97a
VS
63792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/fs/minix.c: Remove nested functions.
6382
99373ce4
VS
63832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/fs/iso9660.c: Remove nested functions.
6386
5aec2afe
VS
63872013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6390 of parent function.
6391
6c69e691
VS
63922013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * util/grub-fstest.c: Remove nested functions.
6395
43c91882
VS
63962013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * grub-core/loader/machoXX.c: Remove nested functions.
6399
4eb8b756
CW
64002013-02-27 Colin Watson <cjwatson@ubuntu.com>
6401
6402 Remove nested functions from disk and file read hooks.
6403
6404 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6405 (struct grub_disk): Add read_hook_data member.
6406 * include/grub/file.h (struct grub_file): Likewise.
6407 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6408 argument.
6409
6410 Update all callers.
6411
df6da5a5
AB
64122012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6413
6414 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6415 Fix off by one error in enumerating extended partitions.
6416
21aecde5
AB
64172013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6418
6419 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6420 memory leak if device name is not found.
6421
f1a19118
AB
64222013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6423
6424 * grub-core/normal/menu_entry.c (update_screen): remove
6425 unused variable `off' which caused scroll down arrow to be always shown.
6426
958bfd20
AB
64272013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6428
6429 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6430 access to unallocated memory.
6431
b7b78edb
AB
64322013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6433
6434 * Makefile.util.def: Add partmap/msdos.c to common library.
6435 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6436 * grub-core/disk/ldm.c: Check for existence of
6437 GRUB_PC_PARTITION_TYPE_LDM.
6438
28d468d6
VS
64392013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6442 sizes and display sector size.
6443
d55ffb02
VS
64442013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Implement new command cmosdump.
6447
b5ea6ce0
VS
64482013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6449
6450 Support Openfirmware disks with non-512B sectors.
6451
6452 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6453 size of the disk.
6454 * (grub_ofdisk_get_block_size): New function.
6455 * (grub_ofdisk_prepare): Use the correct block size.
6456 * (grub_ofdisk_read): Likewise.
6457 * (grub_ofdisk_write): Likewise.
6458 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6459 New proto.
6460
cc0e476f
VS
64612013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6464
c5dbdc33
VS
64652013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6468 on first error.
6469
3f078c0f
VS
64702013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6473 freeing it.
6474
66a93674
VS
64752013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Implement USBDebug (full USB stack variant).
6478
c9f0c134
VS
64792013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6482 unless they have unexpected values.
6483
cfe1288b
VS
64842013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6487 grub_print_error.
6488
e42b9969
VS
64892013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6492 zero-out of port structure.
6493
cf94fd62
VS
64942013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6497 of extended attributes.
6498
f81ef4b5
AB
64992013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6500
6501 * util/grub-install.in: change misleading comment about
6502 device.map creation
6503
af18fdb4
VS
65042013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6507 when menu highlight color isn't set.
6508
08bcec50
M
65092013-01-27 C. Masloch <pushbx@38.de>
6510
6511 Improve FreeDOS direct loading support compatibility.
6512
6513 * include/grub/i386/relocator.h (grub_relocator16_state):
6514 New member ebp.
6515 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6516 variable.
6517 (grub_relocator16_boot): Handle %ebp.
6518 * grub-core/lib/i386/relocator16.S: Likewise.
6519 * grub-core/loader/i386/pc/freedos.c:
6520 Load BPB to pass kernel which partition to load from.
6521 Check that kernel file is not too large.
6522 Set register dl to BIOS unit number as well.
6523
7782b8a6
CW
65242013-01-22 Colin Watson <cjwatson@ubuntu.com>
6525
6526 * util/grub-reboot.in (usage): Document the need for
6527 GRUB_DEFAULT=saved.
6528 * util/grub-set-default.in (usage): Likewise.
6529 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6530
e661c180
VS
65312013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6534 than defining WORDS_BIGENDIAN manually.
6535
1c22ca9a
VS
65362013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6539 invariants.
6540
d44892fe
CW
65412013-01-21 Colin Watson <cjwatson@ubuntu.com>
6542
6543 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6544 nested.
6545 (blit_comb: add_device_width): Likewise.
6546
5fdbaed1
CW
65472013-01-21 Colin Watson <cjwatson@ubuntu.com>
6548
6549 Remove nested functions from USB iterators.
6550
6551 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6552 (grub_usb_controller_iterate_hook_t): Likewise.
6553 (grub_usb_iterate): Add hook_data argument.
6554 (grub_usb_controller_iterate): Likewise.
6555 (struct grub_usb_controller_dev.iterate): Likewise.
6556
6557 Update all implementations and callers.
6558
4250985a
VS
65592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6562 margin when not needed.
6563
7d8848f3
VS
65642013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6565
bc136973 6566 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6567
65682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6569
bc136973
VS
6570 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6571 asterisk.
7d8848f3 6572
ed12a003
CW
65732013-01-21 Colin Watson <cjwatson@ubuntu.com>
6574
6575 Fix powerpc and sparc64 build failures caused by un-nesting memory
6576 map iterators.
6577
6a0db449
CW
65782013-01-21 Colin Watson <cjwatson@ubuntu.com>
6579
6580 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6581 parameter declarations.
6582
ccd86b21
VS
65832013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6586
822b726b
VS
65872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Improve spkmomdem reliability by adding a separator between bytes.
6590
115c2cc1
CW
65912013-01-21 Colin Watson <cjwatson@ubuntu.com>
6592
6593 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6594 an Acer registration utility with several sightings in the wild.
6595 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6596
fc524edf
CW
65972013-01-21 Colin Watson <cjwatson@ubuntu.com>
6598
6599 Remove nested functions from filesystem directory iterators.
6600
6601 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6602 (struct grub_fs.dir): Add hook_data argument.
6603
6604 Update all implementations and callers.
6605
53d3e4e3
CW
66062013-01-21 Colin Watson <cjwatson@ubuntu.com>
6607
6608 * docs/grub.texi (Multi-boot manual config): Fix typo for
6609 "recommended".
6610
c821711f
LL
66112013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6612
6613 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6614 until after its use in generate_image.
6615
6a0debbd
CW
66162013-01-20 Colin Watson <cjwatson@ubuntu.com>
6617
6618 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6619 initrd size to addr_min, since the initrd will be allocated after
6620 this address.
6621
f41e08db
AB
66222013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6623
6624 * conf/Makefile.common: Fix autogen rules to pass definition
6625 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6626
77529e0f
LL
66272013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6628
6629 * include/grub/elf.h: Update ARM definitions based on binutils.
6630
b879aa7b
VS
66312013-01-20 Aleš Nesrsta <starous@volny.cz>
6632
6633 Split long USB transfers into short ones.
6634
8eb8284d
AB
66352013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6636
6637 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6638 is interrupted by ESC.
6639
08dad2dc
VS
66402013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * util/grub-script-check.c (main): Uniform the error message.
6643
6c724b85
CW
66442013-01-20 Colin Watson <cjwatson@ubuntu.com>
6645
6646 Remove nested functions from ELF iterators.
6647
25239370
CW
66482013-01-20 Colin Watson <cjwatson@ubuntu.com>
6649
6650 Remove nested functions from device iterators.
6651
6652 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6653 (grub_arc_iterate_devs): Add hook_data argument.
6654 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6655 (struct grub_ata_dev.iterate): Add hook_data argument.
6656 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6657 (grub_device_iterate): Add hook_data argument.
6658 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6659 (struct grub_disk_dev.iterate): Add hook_data argument.
6660 (grub_disk_dev_iterate): Likewise.
6661 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6662 Likewise.
6663 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6664 Likewise.
6665 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6666 type.
6667 (struct grub_partition_map.iterate): Add hook_data argument.
6668 (grub_partition_iterate): Likewise.
6669 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6670 (struct grub_scsi_dev.iterate): Add hook_data argument.
6671
6672 Update all callers.
6673
6c0314d6
CW
66742013-01-20 Colin Watson <cjwatson@ubuntu.com>
6675
6676 Fix typos for "developer" and "development".
6677
600dc5f1
VS
66782013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 Add license header to spkmodem-recv.c.
6681
17334a6b
VS
66822013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 Rewrite spkmodem to use PIT for timing. Double the speed.
6685
7d462559
VS
66862013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 Add new command pcidump.
6689
b78d6c32
VS
66902013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 New terminal outputs using serial: morse and spkmodem.
6693
34f71cb8
VS
66942013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Improve bidi handling in entry editor.
6697
4542e71b
VS
66982013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6701 argument to prevent name collision.
6702
09fd6d82
CW
67032013-01-15 Colin Watson <cjwatson@ubuntu.com>
6704
6705 Remove nested functions from script reading and parsing.
6706
6707 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6708 getline_data argument, passed to getline.
6709 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6710 getline_data argument, passed to grub_parser_split_cmdline.
6711 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6712 lexerstate->getline_data to lexerstate->getline.
6713 (grub_script_lexer_init): Add getline_data argument, saved in
6714 lexerstate->getline_data.
6715 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6716 argument, passed to grub_script_parse.
6717 * grub-core/script/script.c (grub_script_parse): Add getline_data
6718 argument, passed to grub_script_lexer_init.
6719 * include/grub/parser.h (grub_parser_split_cmdline): Update
6720 prototype. Update all callers to pass appropriate getline data.
6721 (struct grub_parser.parse_line): Likewise.
6722 (grub_rescue_parse_line): Likewise.
6723 * include/grub/reader.h (grub_reader_getline_t): Add void *
6724 argument.
6725 * include/grub/script_sh.h (struct grub_lexer_param): Add
6726 getline_data member.
6727 (grub_script_parse): Update prototype. Update all callers to pass
6728 appropriate getline data.
6729 (grub_script_lexer_init): Likewise.
6730 (grub_normal_parse_line): Likewise.
6731
6732 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6733 data argument.
6734 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6735 static instead of nested. Rename to ...
6736 (grub_parser_execute_getline): ... this.
6737 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6738 data argument.
6739 * grub-core/normal/main.c (read_config_file: getline): Make static
6740 instead of nested. Rename to ...
6741 (read_config_file_getline): ... this.
6742 (grub_normal_read_line): Add unused data argument.
6743 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6744 getline): Make static instead of nested. Rename to ...
6745 (grub_script_execute_sourcecode_getline): ... this.
6746 * util/grub-script-check.c (main: get_config_line): Make static
6747 instead of nested.
6748
d0d4b8a0
CW
67492013-01-15 Colin Watson <cjwatson@ubuntu.com>
6750
6751 Remove nested functions from memory map iterators.
6752
6753 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6754 argument, passed to hook.
6755 * grub-core/kern/i386/coreboot/mmap.c
6756 (grub_linuxbios_table_iterate): Likewise.
6757 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6758 instead of nested.
6759 (grub_machine_mmap_iterate): Add hook_data argument.
6760 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6761 Add hook_data argument, passed to hook.
6762 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6763 Likewise.
6764 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6765 Likewise.
6766 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6767 Likewise.
6768 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6769 Likewise.
6770 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6771 Likewise.
6772 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6773 Likewise.
6774 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6775 (grub_machine_mmap_iterate): Likewise.
6776 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6777 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6778 prototype.
6779 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6780 Remove NESTED_FUNC_ATTR from here and from all users.
6781 (grub_mmap_iterate): Update prototype.
6782 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6783 pass appropriate hook data.
6784 (grub_machine_mmap_iterate): Likewise.
6785
6786 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6787 static instead of nested.
6788 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6789 Rename to ...
6790 (lsmmap_hook): ... this.
6791 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6792 Likewise.
6793 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6794 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6795 heap_init): Likewise.
6796 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6797 Rename to ...
6798 (mmap_iterate_hook): ... this.
6799 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6800 Likewise.
6801 * grub-core/lib/ieee1275/relocator.c
6802 (grub_relocator_firmware_get_max_events: count): Likewise.
6803 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6804 to ...
6805 (grub_relocator_firmware_fill_events_iter): ... this.
6806 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6807 hook): Likewise. Rename to ...
6808 (grub_relocator_alloc_chunk_align_iter): ... this.
6809 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6810 Rename to ...
6811 (generate_e820_mmap_iter): ... this.
6812 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6813 Rename to ...
6814 (count_hook): ... this.
6815 (grub_linux_boot: hook): Likewise. Rename to ...
6816 (grub_linux_boot_mmap_find): ... this.
6817 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6818 (grub_linux_boot_mmap_fill): ... this.
6819 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6820 hook): Likewise. Rename to ...
6821 (grub_fill_multiboot_mmap_iter): ... this.
6822 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6823 hook): Likewise. Rename to ...
6824 (count_hook): ... this.
6825 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6826 hook): Likewise. Rename to ...
6827 (grub_fill_multiboot_mmap_iter): ... this.
6828 * grub-core/loader/powerpc/ieee1275/linux.c
6829 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6830 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6831 Likewise. Rename to ...
6832 (alloc_phys_choose): ... this.
6833 (determine_phys_base: get_physbase): Likewise.
6834 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6835 find_hook): Likewise.
6836 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6837 (malloc_hook: count_hook): Likewise.
6838 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6839 Likewise. Rename to ...
6840 (lower_hook): ... this.
6841 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6842 (upper_hook): ... this.
6843 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6844 (post64_hook): ... this.
6845 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6846 Likewise. Rename to ...
6847 (lower_hook): ... this.
6848 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6849 (upper_hook): ... this.
6850 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6851 (grub_mmap_iterate: fill_hook): Likewise.
6852 (fill_mask): Pass addr and mask within a single struct.
6853 (grub_cmd_badram: hook): Make static instead of nested. Rename
6854 to ...
6855 (badram_iter): ... this.
6856 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6857 (cutmem_iter): ... this.
6858
22099030
VS
68592013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6862 delimit path in strings using quotes.
6863 * util/getroot.c (grub_guess_root_devices): Likewise.
6864 (grub_make_system_path_relative_to_its_root): Likewise.
6865 * util/grub-probe.c (probe): Likewise.
6866 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6867 (xrealpath): Likewise.
6868
4a9950ec
VS
68692013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Fix compilation with older compilers.
6872
6873 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6874 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6875 declarations.
6876 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6877 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6878 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6879 identifier with b.
6880 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6881 * include/grub/crypto.h: Add type defines.
6882 * util/import_gcrypth.sed: Remove duplicate type defines.
6883
adcc6020
VS
68842013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 New command list_trusted.
6887
6888 * grub-core/commands/verify.c (grub_cmd_list): New function.
6889
a4528937
CW
68902013-01-13 Colin Watson <cjwatson@ubuntu.com>
6891
6892 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6893 info message.
6894
ca3a7446
CW
68952013-01-13 Colin Watson <cjwatson@ubuntu.com>
6896
6897 Remove nested functions from PCI iterators.
6898
6899 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6900 passed to hook. Update all callers to pass appropriate hook data.
6901 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6902 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6903 Remove NESTED_FUNC_ATTR from here and from all users.
6904 (grub_pci_iterate): Update prototype.
6905 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6906 instead of nested. Rename to ...
6907 (grub_cs5536_find_iter): ... this.
6908 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6909 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6910 Likewise.
6911 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6912 Likewise.
6913 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6914 Likewise.
6915 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6916 Likewise.
6917 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6918 * grub-core/video/radeon_fuloong2e.c
6919 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6920 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6921 find_card): Likewise.
6922 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6923 Likewise.
6924
f8e98fee
VS
69252013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/commands/verify.c: Mark messages for translating.
6928
055b36b6
VS
69292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6932 fatal.
6933
f7ff879b
VS
69342013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6937 fatal.
6938
69392013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6940
6941 * autogen.sh: Do not try to delete nonexistant files.
6942 * util/import_gcrypth.sed: Add some missing header removals.
6943
01323d49
CW
69442013-01-12 Colin Watson <cjwatson@ubuntu.com>
6945
6946 Clean up dangling references to grub-setup.
6947 Fixes Ubuntu bug #1082045.
6948
6949 * docs/grub.texi (Images): Refer generally to grub-install rather
6950 than directly to grub-setup.
6951 (Installing GRUB using grub-install): Remove direct reference to
6952 grub-setup.
6953 (Device map) Likewise.
6954 (Invoking grub-install): Likewise.
6955 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6956 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6957 * util/grub-install.in (usage): Likewise.
6958
6959 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6960 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6961 grub-setup.
6962 * configure.ac: Remove grub_setup output variable.
6963
6964 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6965 to grub-bios-setup.
6966 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6967 grub-setup to grub-sparc64-setup.
6968
5e3b8dcb
VS
69692013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Import gcrypt public-key cryptography and implement signature checking.
6972
535714bd
VS
69732013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/fs/ntfs.c: Ue more appropriate types.
6976 * grub-core/fs/ntfscomp.c: Likewise.
6977 * include/grub/ntfs.h: Likewise.
6978
3e4f3566
VS
69792013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 Support Apple FAT binaries on non-Apple platforms.
6982
6983 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6984 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6985 Likewise.
6986 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6987 Apple FAT binaries.
6988
4dedb13f
VS
69892013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6992 sector devices.
6993
f8861eaf
CW
69942013-01-07 Colin Watson <cjwatson@ubuntu.com>
6995
6996 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6997 explicitly zeroing elements.
6998 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6999 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7000 of elements in a structure already allocated using grub_zalloc.
7001 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7002
86065b0a
CW
70032013-01-07 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * docs/grub.texi (grub_cpu): New subsection.
7006 (grub_platform): Likewise.
7007
c6f1e92f
VS
70082013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7011
f797ec85
VS
70122013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7015 divisions.
7016
033d0b4b
VS
70172013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7020 * grub-core/fs/ntfscomp.c: Likewise.
7021 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7022 (grub_ntfs_comp): Likewise.
7023
21d1b9a0
VS
70242013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7027 Rename to ...
7028 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7029 of groups_per_block. All users updated.
7030
10ca8645
VS
70312013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7034 grub_error properly.
7035 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7036 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7037
a4c3ed4c
VS
70382013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7041 always in /boot/zfs.
7042 Reported by: Yuta Satoh.
7043
0b716507
YS
70442013-01-03 Yuta Satoh <nigoro>
7045
7046 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7047 ${grub_probe}
7048
00c05e22
VS
70492013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * configure.ac: Extend -Wno-trampolines to host.
7052
dadddb76
VS
70532013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7056 entry->len = 0.
7057
54ce53ca
CW
70582013-01-03 Colin Watson <cjwatson@ubuntu.com>
7059
7060 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7061 (Invoking grub-script-check): Likewise.
7062
8912efca
CW
70632013-01-03 Colin Watson <cjwatson@ubuntu.com>
7064
7065 * docs/grub.texi (Invoking grub-mount): New section.
7066 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7067
c3fc8394
CW
70682013-01-02 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7071 test failures, so that a failing unit test correctly causes 'make
7072 check' to fail.
7073
45d26abb
CW
70742013-01-02 Colin Watson <cjwatson@ubuntu.com>
7075
7076 Fix failing printf test.
7077
7078 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7079 '$' in the correct order when collecting type information.
7080
971dd2c6
CW
70812013-01-02 Colin Watson <cjwatson@ubuntu.com>
7082
7083 * docs/grub.texi (configfile): Explain environment variable
7084 handling.
7085 (source): New section.
7086 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7087
5c67ea6c
CW
70882012-12-31 Colin Watson <cjwatson@ubuntu.com>
7089
7090 Remove several trivially-unnecessary uses of nested functions.
7091
7092 * grub-core/commands/i386/pc/sendkey.c
7093 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7094 instead of nested.
7095 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7096 Rename to ...
7097 (legacy_file_getline): ... this.
7098 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7099 Likewise.
7100 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7101 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7102 to ...
7103 (probe_dummy_iter): ... this.
7104 * grub-core/kern/i386/coreboot/mmap.c
7105 (grub_linuxbios_table_iterate: check_signature): Likewise.
7106 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7107 check_varstate): Likewise. Mark inline.
7108 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7109 an additional parameter.
7110 (find_long: fnd_long): Likewise. Pass two additional parameters.
7111 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7112 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7113 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7114 Likewise. Rename to ...
7115 (grub_cmos_find_port_iter): ... this.
7116 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7117 Rename to ...
7118 (find_rtc_iter): ... this.
7119
7120 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7121 function directly into the function body, since it is only called
7122 once.
7123
33a68ac6
CW
71242012-12-30 Colin Watson <cjwatson@ubuntu.com>
7125
7126 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7127 __attribute__ ((unused)).
7128 * grub-core/video/bochs.c (find_card): Likewise.
7129 * grub-core/video/cirrus.c (find_card): Likewise.
7130 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7131 * grub-core/video/sis315pro.c (find_card): Likewise.
7132 * grub-core/video/sm712.c (find_card): Likewise.
7133
608b647a
CW
71342012-12-28 Colin Watson <cjwatson@ubuntu.com>
7135
7136 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7137 Fixes Savannah bug #37821.
7138
fd49ceb3
CW
71392012-12-28 Colin Watson <cjwatson@ubuntu.com>
7140
7141 Apply program name transformations at build-time rather than at
7142 run-time. Fixes Debian bug #696465.
7143
7144 * acinclude.m4 (grub_TRANSFORM): New macro.
7145 * configure.ac: Create output variables with transformed names for
7146 most programs.
7147 * util/bash-completion.d/grub-completion.bash.in: Use
7148 pre-transformed variables for program names.
7149 * util/grub-install.in: Likewise.
7150 * util/grub-kbdcomp.in: Likewise.
7151 * util/grub-mkconfig.in: Likewise.
7152 * util/grub-mkconfig_lib.in: Likewise.
7153 * util/grub-mknetdir.in: Likewise.
7154 * util/grub-mkrescue.in: Likewise.
7155 * util/grub-mkstandalone.in: Likewise.
7156 * util/grub-reboot.in: Likewise.
7157 * util/grub-set-default.in: Likewise.
7158 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7159 * tests/util/grub-shell-tester.in: Remove unused assignment.
7160 * tests/util/grub-shell.in: Likewise.
7161 * util/grub.d/00_header.in: Likewise.
7162
7024b3c0
CW
71632012-12-28 Colin Watson <cjwatson@ubuntu.com>
7164
7165 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7166
7167 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7168 HAVE_RAW_DECL_GETS.
7169 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7170
e3501b13
VS
71712012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7174 Reported by: Eriks Latosheks <foresterlv>.
7175
b40c88a9
VS
71762012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * docs/grub.texi (Network): Update instructions on generating netboot
7179 image.
7180
ce96d01c
VS
71812012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7184 around device name if necessarry.
7185
0f596201
PFS
71862012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7187
7188 * util/grub-install.in: Follow the symbolic link parameter added
7189 to the file command.
7190
600d5bdb
AB
71912012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7192
7193 * util/grub-install.in: Remove stale TODO.
7194
64ebd2f4
PFS
71952012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7196
7197 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7198 dynamic allocation for the bootpath buffer.
7199
74b2fe3e
DTB
72002012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7201
7202 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7203 window too small.
7204
969b804f
VS
72052012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7208 argument rather than font name. All users updated.
7209 (grub_gfxterm_set_window): Likewise.
7210
b9f5ebd6
VT
72112012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7212
7213 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7214 from working.
7215
258f43b7
VS
72162012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * util/getroot.c (convert_system_partition_to_system_disk): Support
7219 nbd disks.
7220
cc1ce5f9
VS
72212012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7224 infinite loop on corrupted FS.
7225
e77a16ca
VS
72262012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Fix big-endian mtime.
7229
7230 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7231 together sec and usec.
7232 (grub_ufs_dir): Use correct byteswapping for UFS time.
7233
d9c48c7b
VS
72342012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Support big-endian UFS1.
7237
7238 * Makefile.util.def (libgrubmods): Add ufs_be.c
7239 * grub-core/Makefile.core.def (ufs1_be): New module.
7240 * grub-core/fs/ufs_be.c: New file.
7241 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7242 the file.
7243
2f9f40ba
LL
72442012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7245
7246 * include/grub/types.h: Fix functionality unaffecting typo in
7247 GRUB_TARGET_WORDSIZE conditional macro.
7248
48ff0889
PFS
72492012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7250
7251 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7252
03711240
GS
72532012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7254
7255 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7256 that /netbsd appears first (when it exists).
7257
a31b11bd
CJ
72582012-10-12 Christoph Junghans <ottxor@gentoo.org>
7259
7260 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7261 Fixes Savannah bug #37558.
7262
e8a5d5d4
CW
72632012-10-12 Colin Watson <cjwatson@ubuntu.com>
7264
7265 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7266 description of extract_entries_configfile.
7267
72682012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7269
7270 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7271 preferred_address.
7272 (grub_cmd_linux): Likewise.
7273 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7274 preferred_lifetime. Update all users.
7275
288c757d
CW
72762012-09-26 Colin Watson <cjwatson@ubuntu.com>
7277
7278 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7279 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7280
0d35da3f
CW
72812012-09-26 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7284 errors from grub-probe to /dev/null, not stdout.
7285
b78c3127
VS
72862012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7289 sector 1.
7290
473959f0
CW
72912012-09-24 Colin Watson <cjwatson@ubuntu.com>
7292
7293 * util/grub-install.in: Make the error message if $source_dir
7294 doesn't exist more useful.
7295
794c8c33
CW
72962012-09-22 Colin Watson <cjwatson@ubuntu.com>
7297
7298 Fix grub-emu build on FreeBSD.
7299
7300 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7301 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7302 headers on Linux.
7303 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7304 implementation is currently Linux-specific.
7305 * util/getroot.c (exec_pipe): Define only on Linux or when either
7306 libzfs or libnvpair is unavailable.
7307 (find_root_devices_from_poolname): Remove unused path variable.
7308
86d08fdb
CW
73092012-09-19 Colin Watson <cjwatson@ubuntu.com>
7310
7311 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7312 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7313 should fit before end == 63.
7314
735abf54
CW
73152012-09-19 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * util/grub-setup.c (write_rootdev): Remove unused core_img
7318 parameter. Update all callers.
7319 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7320 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7321 GRUB_SETUP_BIOS.
7322
140acd3c
VS
73232012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7326 (grub_add_tab): New function.
7327 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7328 * util/grub.d/10_illumos.in: Likewise.
7329 * util/grub.d/10_kfreebsd.in: Likewise.
7330 * util/grub.d/10_linux.in: Likewise.
7331 * util/grub.d/10_netbsd.in: Likewise.
7332 * util/grub.d/10_windows.in: Likewise.
7333 * util/grub.d/10_xnu.in: Likewise.
7334 * util/grub.d/20_linux_xen.in: Likewise.
7335 * util/grub.d/30_os-prober.in: Likewise.
7336
7ddffdad
VS
73372012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7340 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7341 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7342 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7343 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7344 ieee1275-nocursor.
7345 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7346 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7347
4e092454
VS
73482012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7351 le-conversion.
7352 Reported by: BURETTE, Bernard.
7353
735abf54 73542012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7355
7356 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7357 from comment.
7358
dfd39dbd
CW
73592012-09-14 Colin Watson <cjwatson@ubuntu.com>
7360
7361 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7362 IEEE1275 machines. Fixes powerpc-emu compilation.
7363 * include/grub/terminfo.h: Likewise.
7364
3bfa763c
VS
73652012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7368 a const pointer.
7369 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7370 const pointer.
7371 (efiemu_set_variable): Make vendor_guid a const pointer.
7372
250e475b
VS
73732012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 Don't require grub-mkconfig_lib to generate manpages for programs.
7376
7377 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7378 dependencies, don't add grub-mkconfig_lib.
7379 (program): Pass empty adddeps.
7380 (script): Pass grub-mkconfig_lib as adddeps.
7381
592fd0e4
VS
73822012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7385 * util/getroot.c (grub_find_device): Likewise.
7386 (get_mdadm_uuid): Likewise.
7387 (grub_util_is_imsm): Likewise.
7388 (grub_util_pull_device): Likewise.
7389 * util/grub-probe.c (probe): Likewise.
7390
801a3027
BG
73912012-09-10 Benoit Gschwind <gschwind>
7392
7393 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7394 (devs): Add devpath_8.
7395
c5052c81
PJ
73962012-09-08 Peter Jones <pjones@redhat.com>
7397
7398 * grub-core/Makefile.core.def (efifwsetup): New module.
7399 * grub-core/commands/efi/efifwsetup.c: New file.
7400 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7401 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7402 New define.
7403 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7404
8e832f71
JS
74052012-09-05 Jiri Slaby <jslaby@suse.cz>
7406
7407 * configure.ac: Add SuSe path.
7408
f0f55752
CW
74092012-09-05 Colin Watson <cjwatson@ubuntu.com>
7410
7411 * NEWS: Fix typo.
7412
ecadc4c2
CW
74132012-09-05 Colin Watson <cjwatson@ubuntu.com>
7414
7415 * util/import_gcry.py: Sort cipher_files, to make build system
7416 generation more deterministic.
7417
64498f25
VS
74182012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7421 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7422 (grub_set_datetime): Likewise.
7423
9cc836a2
VS
74242012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7427 warnings.
7428
bcfcea01
VS
74292012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7432
a4099485
VS
74332012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7436
265c162a
CW
74372012-09-04 Colin Watson <cjwatson@ubuntu.com>
7438
7439 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7440 required for checkouts from bzr, but it may be useful for users or
7441 distributors wishing to update translations against a tarball
7442 distribution, and it can be helpful for the tarball to be a superset
7443 of what's in bzr.
7444
3d171e95
CW
74452012-09-04 Colin Watson <cjwatson@ubuntu.com>
7446
7447 * Makefile.am (EXTRA_DIST): Add
7448 grub-core/tests/boot/linux.init-mips.S,
7449 grub-core/tests/boot/linux.init-ppc.S, and
7450 grub-core/tests/boot/linux-ppc.cfg.
7451
f2c2503e
CW
74522012-09-04 Colin Watson <cjwatson@ubuntu.com>
7453
7454 * grub-core/mmap/mips/loongson: Remove empty directory.
7455
74562012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7457
7458 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7459 gone.
7460
ab2163d5
CW
74612012-09-04 Colin Watson <cjwatson@ubuntu.com>
7462
7463 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7464 grub-sparc64-setup.
7465
ce938140
GS
74662012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7467
7468 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7469
529f58a5
GS
74702012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7471
7472 * po/POTFILES.in: Regenerated.
7473
16cf79e9
GS
74742012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7475
7476 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7477 (NetBSD): New subsection.
7478
39b27f1e 74792012-07-22 Ales Nesrsta <starous@volny.cz>
7480
7481 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7482 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7483
a885261b
VS
74842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7487 * util/grub.d/10_hurd.in: Add missing quoting.
7488 * util/grub.d/10_illumos.in: Likewise.
7489 * util/grub.d/10_kfreebsd.in: Likewise.
7490 * util/grub.d/10_linux.in: Likewise.
7491 * util/grub.d/20_linux_xen.in: Likewise.
7492
7bd29c01
VS
74932012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 New command `lsefi'.
7496
7497 * grub-core/Makefile.core.def (lsefi): New module.
7498 * grub-core/commands/efi/lsefi.c: New file.
7499 * include/grub/efi/api.h: Add more GUIDs.
7500
ac625d8f
VS
75012012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7504 (grub_bsd_elf32_hook): Likewise.
7505 (grub_bsd_elf64_size_hook): Likewise.
7506 (grub_bsd_elf64_hook): Likewise.
7507 (grub_bsd_load_elf): Likewise.
7508
e73bb801
VS
75092012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7512 if hash function is unavailable.
7513 (dec_stream_header): Likewise.
7514
e81db8b5
VS
75152012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7518 filter state.
7519
d187a1c3
VS
75202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Fix coreboot compilation.
7523
7524 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7525 (grub_vga_text_init_real): ... this.
7526 (grub_vga_text_fini): Rename to ...
7527 (grub_vga_text_fini_real): ... this.
7528
91a05f64
VS
75292012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7532
6af96df7
VS
75332012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/lib/legacy_parse.c: Support clear and testload.
7536
4d569e12
VS
75372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7540
073b57bb
VS
75412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7544
a706f4cc
VS
75452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/net/tftp.c (ack): Fix endianness problem.
7548 (tftp_receive): Likewise.
7549 Reported by: Michael Davidsaver.
7550
e7850aa9
VS
75512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7554
75552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7558 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7559 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7560
35692881
VS
75612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7564 efi_mmap_size.
7565 Reported by: Stuart Hayes.
7566
c35fc5bd
VS
75672012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7570
7571 * grub-core/Makefile.core.def (mda_text): New module.
7572 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7573 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7574 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7575 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7576 here.
7577 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7578 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7579 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7580 here.
7581 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7582 to ..
7583 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7584 ... here
7585 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7586 here.
7587 * grub-core/term/i386/vga_common.c: Removed.
7588 * include/grub/i386/vga_common.h: Likewise.
7589 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7590 (grub_vga_cr_bw_read): Likewise.
7591 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7592 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7593 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7594 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7595 grub_vga_cr_read/grub_vga_cr_write.
7596 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7597
5f91f701
VS
75982012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * configure.ac: Bump version to 2.00.
7601 * grub-core/normal/main.c (features): Add feature_200_final.
7602
0c4f85f6
VS
76032012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
76042012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7605
7606 * NEWS: Fix unclarity and language mistakes.
7607
f923ad22
VS
76082012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7611 additional size to 3 pages.
7612 Reported by: Stuart Hayes.
7613
d22029ba
VS
76142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * NEWS: Add 2.00 entry.
7617
58eee08f
VS
76182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7621 put explicit "/" for empty path.
7622 (wildcard_expand): Improve dprintf.
7623
c59bdff7
VS
76242012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7627 it's equal to currnode. This can happen with "" symlink.
7628
5e6a440a
YB
76292012-06-27 Yves Blusseau <blusseau@zetam.org>
7630
7631 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7632 echo shell command by printf command.
7633
73a68bcb
VS
76342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7637 the value returned by firmware is the maximal position, not diumension.
7638 (grub_terminfo_output_state): Use a more sane fallback.
7639
392a603b
VS
76402012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7643
42d0867f
VS
76442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7647 frequency to 150 MHz.
7648
489509f4
VS
76492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 Apple fixes.
7652
7653 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7654 __APPLE_
7655 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7656 definition.
7657 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7658
9f3fc883
VS
76592012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 Handle slash in HFS label.
7662
7663 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7664 (grub_hfs_dir): Tanslate slash.
7665 (grub_hfs_label): Don't translate slash.
7666
54853fd7
VS
76672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7670 network protocol listing since it introduces problematic dependency on
7671 net module.
7672
4dc02ddf
VS
76732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7676
c50c867d
VS
76772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 Init video early on yeeloong to avoid being rebooted by watchdog.
7680
7681 * grub-core/Makefile.am (gensm712): New target.
7682 (sm712_start.S): Likewise.
7683 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7684 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7685 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7686 description.
7687 * include/grub/vga.h: Move registry definitions to...
7688 * include/grub/vgaregs.h: ... here.
7689
5f92c8a1
VS
76902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7693 signedness.
7694
e9e6f111
VS
76952012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7698 platforms with firmware disk drivers in the core.
7699
754ad9eb
VS
77002012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7703 informative verbose message.
7704 (read_lv): Handle 64-bit segment size.
7705
315654c2
VS
77062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7709
fb022c79
VS
77102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7713 character but still remove trainling spaces.
7714 (grub_fat_label): Ignore archive flag.
7715
8645f72c
VS
77162012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7719 cast between linux_kernel_header and linux_kernel_params.
7720
36498496
VS
77212012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7724 type for size.
7725 (grub_raid6_recover_func_t): Likewise.
7726 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7727 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7728
0b5ea6b8
VS
77292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7732
650cfcfe
GS
77332012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7734
7735 Fix overflow.
7736
7737 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7738 [__NetBSD__]: Add explicit cast before bitshift.
7739
8a4d6a44
VS
77402012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * configure.ac: Bump to 2.00~rc1.
7743
2fb97ed3
VS
77442012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7747 half of $a0.
7748
1fa097dc
VS
77492012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
77502012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7751
7752 * docs/grub.texi: Fix search syntax.
7753 (Multi-boot manual config): Put msdos rather than GPT example.
7754 Grammar corrections.
7755
c890ba78
VS
77562012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7759
0f92dca7
VS
77602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7763
3988c4a0
VS
77642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7767 message on double free. Put the value of magic in case of mismatch.
7768
9e86d4c5
VS
77692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 Speed-up video on yeeloong.
7772
7773 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7774 add cached_ptr.
7775 (grub_video_sm712_video_fini): Unmap cached_ptr.
7776 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7777 (grub_video_sm712_set_active_render_target): Removed.
7778 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7779 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7780 sync caches.
7781
ed24c312
VS
77822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 Avoid flushing the same line multiple times on loongson.
7785
7786 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7787 Step in 32 bytes and not 1 byte.
7788 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7789 Likewise.
7790
d1718e7d
VS
77912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7794 subvolumes.
7795
982f1909
VS
77962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 Implement flow control for http.
7799
7800 * grub-core/net/http.c (parse_line): Handle response 206.
7801 (http_receive): Stall if too many packets are in the queue.
7802 (http_establish): Fix range header.
7803 (http_seek): Fix double free.
7804 (http_close): Likewise.
7805 (http_packets_pulled): New function.
7806 (grub_http_protocol): Set http_seek
7807 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7808 (ack_real): Set window depending on i_stall.
7809 (grub_net_send_tcp_packet): Likewise.
7810 (grub_net_tcp_stall): New function.
7811 (grub_net_tcp_unstall): Likewise.
7812 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7813 (grub_net_tcp_unstall): Likewise.
7814
bd407d6e
VS
78152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7818
c7564b8e
VS
78192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7822
a3706162
VS
78232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * tests/util/grub-shell.in: Fix a typo.
7826
b27069e0
VS
78272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 Implement flow control for tftp.
7830
7831 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7832 packets but stop only if stop condition is satisfied.
7833 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7834 `stall' instead of `eof' as stop condition.
7835 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7836 (http_err): Likewise.
7837 * grub-core/net/tftp.c (ack): Replace the first argument with data
7838 instead of socket.
7839 (tftp_receive): Stall if too many packets are in wait queue.
7840 (tftp_packets_pulled): New function.
7841 (grub_tftp_protocol): Set packets_pulled.
7842 * include/grub/net.h (grub_net_packets): New field count.
7843 (grub_net_put_packet): Increment count.
7844 (grub_net_remove_packet): Likewise.
7845 (grub_net_app_protocol): New field `packets_pulled'.
7846 (grub_net): New field `stall'.
7847
6b9cfac6
VS
78482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7851 sync part to handle them.
7852
f35abd81
VS
78532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7856 * grub-core/net/drivers/ieee1275/ofnet.c
7857 (grub_ieee1275_net_config_real): Likewise.
7858
0e7ec820
VS
78592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7862 the direct route for server/gateway.
7863
9d611a31
VS
78642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7867 IP address to server name since we may not hame the DNS.
7868
418f45ab
VS
78692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7872 freeing random buffer on failure.
7873 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7874
44a0efc1
VS
78752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7878
531e2241
VS
78792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7882 reserved bytes.
7883 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7884 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7885 Handle malloc error correctly.
7886
cde393c9
VS
78872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7890 blocks.
7891
538478d0
VS
78922012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7895 increment.
7896
9b55efe0
VS
78972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7900 none is explicitly specified.
7901
9eb832c3
VS
79022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7905 while reallocating.
7906
d6b7c7c9
VS
79072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 Respect netmask from bootp/dhcp.
7910
7911 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7912 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7913 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7914 into ...
7915 (grub_net_add_ipv4_local): ... this.
7916 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7917 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7918 (grub_net_add_ipv4_local): New proto.
7919
67caf9eb
VS
79202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7923 determining EFI memory map size.
7924
43657558
VS
79252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7928
eb6d0dd3
VS
79292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7932 when looking for partition separator.
7933
31230544
VS
79342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7937 Escape commas.
7938
918a2517
VS
79392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 Restructure FAT driver to avoid hook in label reading as it hits a
7942 GCC bug.
7943
7944 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7945 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7946 (grub_fat_iterate_dir): Split into ...
7947 (grub_fat_iterate_init): ... this, ...
7948 (grub_fat_iterate_fini): ... this, ...
7949 (grub_fat_iterate_dir_next): ... and this. All users updated.
7950
9f1d654e
VS
79512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7954 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7955 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7956 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7957 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7958 New fields last_key and last_key_time.
7959 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7960 extended key-esc into extended key-extended key.
7961
52f0f643
VS
79622012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 Avoid unnecessary memcpy of whole video buffer.
7965
7966 * grub-core/video/fb/video_fb.c (dirty): New struct.
7967 (framebuffer): Add members current_dirty and previous_dirty.
7968 (dirty): New function.
7969 (grub_video_fb_fill_rect): Update dirty.
7970 (common_blitter): Likewise.
7971 (grub_video_fb_scroll): Likewise.
7972 (doublebuf_blit_update_screen): Copy only dirty part.
7973 (doublebuf_pageflipping_update_screen): Likewise.
7974 (grub_video_fb_doublebuf_blit_init): Init dirty.
7975 (doublebuf_pageflipping_init): Likewise.
7976 (grub_video_fb_setup): Likewise.
7977
e169a180
VS
79782012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7981 poll rate.
7982
48556879
VS
79832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Fix wildcard regexp dot and other special characters handling.
7986 Reported by: Robert Mabee.
7987
7988 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7989 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7990 (split_path): Trigger expansion on '?'.
7991 (unescape): New function.
7992 (wildcard_expand): Unescape parts copied without globbing.
7993 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7994 (grub_script_arglist_to_argv): Don't unescape expansions.
7995
0494408e
VS
79962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * include/grub/net.h (grub_net_card): New member txbufsize.
7999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8000 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8001 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8002 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8003 txbufsize.
8004 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8005 compatible property to check for macs. Set
8006 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8007 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8008 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8009 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8010 (send_card_buffer): Use txbuf.
8011 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8012 nested function out of the parent while on it.
8013
cc35fe8f
VS
80142012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8017 presence check.
8018 (grub_ieee1275_net_config_real): Fix config pointer.
8019
970a0a09
VS
80202012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8023 filename parsing to non-block devices.
8024
3e19bf87
VS
80252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8028
c62d1a0c
VS
80292012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8032 All users updated.
8033
ef76bec3
VS
80342012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8037 UUID search command even if hints probing failed.
8038
80392012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8040
8041 * po/POTFILES.in: Regenerated.
8042
70aaf305
VS
80432012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 Speed-up video on fuloong.
8046
8047 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8048 New function.
8049 (grub_pci_device_unmap_range): Handle non-cached address.
8050 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8051 add direct_ptr.
8052 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8053 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8054 (grub_video_sis315pro_set_active_render_target): Removed.
8055 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8056 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8057 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8058 sync caches.
8059 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8060 New proto.
8061
10400f0b
VS
80622012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * docs/grub.texi (Multi-boot manual config): New section.
8065
ba67e2c6
VS
80662012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 Avoid slow read-back from VRAM.
8069
8070 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8071 Move from here ...
8072 * grub-core/video/fb/video_fb.c
8073 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8074 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8075 (front_target): Remove front_target. Add pages.
8076 (grub_video_fb_init): Skip setting front_pages.
8077 (grub_video_fb_fini): Likewise.
8078 (doublebuf_blit_update_screen): Use pages.
8079 (grub_video_fb_doublebuf_blit_init): Likewise.
8080 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8081 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8082 (grub_video_fb_setup): Prefer doublebuffing.
8083
377c98cb
VS
80842012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8087 gzio.
8088
eac49cff
VS
80892012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 Add loongson tests.
8092
8093 * tests/util/grub-shell.in: Handle loongson.
8094 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8095 drivers.
8096 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8097 Reboot instead of shutdown if REBOOT is defined.
8098
0321415e
VS
80992012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8102 sized ports since unlike on real hardware qemu supports only 32-bit
8103 regs.
8104
3f2bdd8f
VS
81052012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8108 * util/grub-mkrescue.in: Handle loongson.
8109
29a049c9
VS
81102012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8113 Set is_part appropriately.
8114 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8115 names. Canonicalize partition without full disk.
8116
4abde346
VS
81172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 Revert usb-quiesce since it's wrong.
8120
8121 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8122 (grub_ofdisk_init): Don't do quiesce.
8123
61f1d93b
VS
81242012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8127 PowerMac workaround to Xserves as well.
8128 Information supplied by: Benjamin Herrenschmidt.
8129
a09eb541
VS
81302012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 Don't assume that beginning address is also the entry point on ppc.
8133
8134 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8135 (grub_linux_boot): Use linux_entry.
8136 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8137 (grub_linux_load64): Likewise.
8138
505b3c9b
VS
81392012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8142
cbe0b4ef
VS
81432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8146 needlessly lose the console.
8147
3006e981
VS
81482012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8151 space.
8152
4e5a96b0
VS
81532012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8154
7da036bb
VS
8155 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8156 than current grub_get_rtc() not implemented when booted with
8157 coreboot without TSC.
8158
8159 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8160 Add machine/time.h to kernel headers on loongson.
8161 * grub-core/Makefile.core.def (kernel): Remove
8162 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8163 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8164 (grub_get_rtc): Likewise.
8165 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8166 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8167 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8168 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8169 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8170 rather than installing known non-working time source.
8171 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8172 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8173 * include/grub/time.h: Don't include machine/time.h.
8174 * include/grub/efi/time.h: Removed.
8175 * include/grub/i386/efi/time.h: Likewise.
8176 * include/grub/i386/ieee1275/time.h: Likewise.
8177 * include/grub/powerpc/ieee1275/time.h: Likewise.
8178 * include/grub/sparc64/ieee1275/time.h: Likewise.
8179 * include/grub/x86_64/efi/time.h: Likewise.
8180
81812012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8184
8185 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8186 value.
8187 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8188 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8189 with dotless variants when any combining above is present.
8190
5561c22d
VS
81912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8194 text and not binary.
8195
96f7e60e
VS
81962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Stop polling as soon as we have the packet we were waiting for.
8199
8200 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8201 All users updated.
8202 * grub-core/net/arp.c (have_pending): New var.
8203 (pending_req): Likewise.
8204 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8205 stop indicator.
8206 (grub_net_arp_receive): Set have_pending.
8207 * grub-core/net/dns.c (recv_data): New field stop.
8208 (recv_hook): Set stop.
8209 (grub_net_dns_lookup): Init stop and use as stop condition.
8210 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8211 condition.
8212 * grub-core/net/net.c (grub_net_poll_cards): New argument
8213 stop_condition. Stop when it goes true.
8214 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8215 indicator.
8216 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8217
3e747239
VS
82182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 Keep TX and RX buffers on EFI rather than always allocate new ones.
8221
8222 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8223 card. All users updated.
8224 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8225 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8226 (get_card_packet): Likewise.
8227 (grub_efinet_findcards): Init new fields.
8228
f695e99a
VS
82292012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8232 compilation error on sparc64.
8233
9e5e66d1
VS
82342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Use ITC on IA64 rather than broken routine based on daytime.
8237
8238 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8239 ia64.
8240 (grub_get_rtc) [__ia64__]: Likewise.
8241 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8242 (get_itc): New function.
8243 (grub_rtc_get_time_ms): Likewise.
8244 (grub_machine_init): Calibrate ITC.
8245 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8246 Keep only on non-ia64. Don't export since it's broken and used only
8247 if TSC is unavailable.
8248
a1767404
VS
82492012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8252 even if it's used.
8253 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8254 Skip if parent is unused.
8255
34b2bced
VS
82562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8259
5e619f40
VS
82602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 Fix wildcard escaping.
8263
8264 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8265 * grub-core/script/execute.c (wildcard_escape): .. to here.
8266 Don't escape dot.
8267 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8268 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8269 Don't escape dot.
8270 * grub-core/script/execute.c (gettext_append): Always escape.
8271 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8272 * grub-core/script/yylex.l: Don't cut away the escaping.
8273 * tests/grub_script_echo1.in: Add tests with wildcard.
8274
c8ca5855
VS
82752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8278 (ftdi_hw_configure): Likewise.
8279 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8280 define.
8281 (real_config): Handle 1.5 stop bits.
8282 (pl2303_hw_configure): Likewise.
8283
7183452c
VS
82842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * Makefile.am: Add ppc linux bootcheck.
8287 * grub-core/tests/boot/linux-ppc.cfg: New file.
8288 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8289
f57c84cd
VS
82902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * tests/grub_script_expansion.in: Skip network protocols.
8293
ecfc6207
VS
82942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8297
8d03d284
VS
82982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8301 --rom-directory.
8302 Add -graft-points.
8303
61c42af0
VS
83042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 ESCC serial driver for conducting sautomated tests in qemu.
8307 Not tested on real hardware.
8308
8309 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8310 * grub-core/term/ieee1275/escc.c: New file.
8311 * grub-core/Makefile.core.def (escc): New module.
8312
08fd1291
VS
83132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8316 invalid on error.
8317 (serial_hw_fetch): Don't read invalid handle.
8318 (serial_hw_put): Don't write into invalid handle.
8319
08dafeea
VS
83202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Add a 1.5 stop bits value.
8323
8324 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8325 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8326 GRUB_SERIAL_STOP_BITS_1_5.
8327
9068fdcf
VS
83282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8331 value rather than let it uninited.
8332
f4d5820f
VS
83332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/commands/wildcard.c (+check_file): New function.
8336 (wildcard_expand): Don't expand to non-existing files, expand with
8337 suffix and not attempt to expand if not needed.
8338
3d2de9a7
VS
83392012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8342 out of partitions containing other partitions.
8343
c5c81ff9
VS
83442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8347 on some qemu versions with GRUB.
8348
8349 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8350 define.
8351 (grub_openbsd_bootarg_pcibios): New struct.
8352 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8353 Add PCIINFO.
8354
08a14e0b
VS
83552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * tests/util/grub-shell.in: Trim firmware output on EFI.
8358
cede3ca3
VS
83592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8362 and coreboot since it's already in kernel.
8363
558d3a60
VS
83642012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8367 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8368 to here. New return value start. All users updated.
8369 Recursively scan linear mappings.
8370 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8371 proto.
8372 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8373 Use grub_util_get_dm_node_linear_info.
8374 * util/getroot.c (convert_system_partition_to_system_disk): Use
8375 grub_util_info rather than grub_dprintf.
8376 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8377
60fde14d
VS
83782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8381
8382 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8383 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8384
24bd8838
VS
83852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * include/grub/types.h (grub_set_unaligned64): New function.
8388 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8389 (setup): Likewise.
8390
7bc06a49
VS
83912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8394 (grub_ofdisk_fini): Quiesce USB devices.
8395
49cea015
VS
83962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8399 caches.
8400
8dcbe03b
VS
84012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8404
5b258735
VS
84052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/disk/pata.c (grub_pata_pio_read)
8408 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8409 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8410
37ba07eb
VS
84112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Extend automated tests to qemu-mips.
8414
8415 * Makefile.am: reorganise tests and enable qemu-mips.
8416 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8417 * grub-core/tests/boot/linux.init-mips.S: New file.
8418 * tests/partmap_test.in: Handle ata0 disks.
8419 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8420 non-pc i386.
8421
070038f8
VS
84222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8425 ia64.
8426 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8427 quotes while on it.
8428
004be2cd
VS
84292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8432 (grub_halt): Likewise.
8433 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8434
b1622487
VS
84352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/term/serial.c (grub_serial_register)
8438 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8439 the behaviour in line with x86 platforms.
8440
b7b4ab33
VS
84412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8444 (grub_ata_strncpy): Likewise.
8445 (grub_ata_identify): Add missing byteswaps.
8446
5e3535ae
VS
84472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8450 byte-swap.
8451 (screen_read_char): Likewise.
8452 (grub_vga_text_cls): Likewise.
8453
c21b17e6
VS
84542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8457 filenames.
8458 (make_file_path): Likewise.
8459
bf293dec
VS
84602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8463 machines.
8464 Tested by: Paulo Flabiano Smorigo.
8465 Crucial information about API supplied by: Coleen <Last name unknown>.
8466 Reviewed by: Coleen <Last name unknown>.
8467
81f6ef0e
VS
84682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/grub-mkimage.c: Disable -Wcast-align.
8471
7284143a
VS
84722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8475 as they are fatal.
8476
b99f3e00
VS
84772012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8480
944f752d
VS
84812012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/grub-probe.c (escape_of_path): Fix double free.
8484
6cce6f38
VS
84852012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/commands/videoinfo.c (hook): Show pitch.
8488
1e1eb50e
VS
84892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8492
1c715b5a
VS
84932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8496 (probe): Add ieee1275 to OFW devices.
8497
007ae52d
VS
84982012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8501
4557a36d
VS
85022012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 Handle IBM OFW path.
8505
8506 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8507 available.
8508 (of_path_of_scsi): Handle vdevice.
8509
efbeefe9
VS
85102012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8513 Allocate in multiples of 16 to avoid adding a few bytes free region the
8514 windows bugs upon.
8515
15a940bb
VS
85162012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8519 Allocate in multiples of 16 to avoid adding a few bytes free region the
8520 windows bugs upon.
8521 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8522
6e5efd60
VS
85232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8526 resolutions.
8527 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8528 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8529
0d3d137e
IS
85302012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8531
8532 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8533
45dbe300
VS
85342012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8537 resulted in \\ at the end of the line.
8538
6d8db947
VS
85392012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8542 (grub_parser_cmdline_state): Likewise.
8543 (grub_parser_split_cmdline): Likewise.
8544
de89d338
VS
85452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8548 /dev/root and /dev/dm-*.
8549
00d41dee
VS
85502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8553 fix partially stale display.
8554
f95d1f11
VS
85552012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8558 substraction.
8559
6297e197
VS
85602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8563 Fix MBR remapping workaround.
8564 (grub_util_biosdisk_read) [__linux__]: Likewise.
8565
8a7ecad3
VS
85662012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8569
2b34f944
VS
85702012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * configure.ac: Bump to beta6.
8573
684aef11
CW
85742012-05-31 Christer Weinigel <christer@weinigel.se>
8575
8576 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8577
05b0bb91
VS
85782012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8581 (grub_cmd_linux): Likewise.
8582
bda36bfa
CW
85832012-05-31 Christer Weinigel <christer@weinigel.se>
8584
8585 Fix EHCI low-speed.
8586
8587 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8588 (GRUB_EHCI_MULT_TWO): Likewise.
8589 (GRUB_EHCI_MULT_THREE): Likewise.
8590 (GRUB_EHCI_CMASK_MASK): New enum value.
8591 (GRUB_EHCI_SMASK_MASK): Likewise.
8592 (GRUB_EHCI_CMASK_OFF): Likewise.
8593 (GRUB_EHCI_SMASK_OFF): Likewise.
8594 (grub_ehci_pci_iter): Enable periodic schedule.
8595 (grub_ehci_parse_notrun): Likewise.
8596 (grub_ehci_restore_hw): Likewise.
8597 (grub_ehci_setup_qh): Set flags for low speed transfers.
8598 (grub_ehci_find_qh): Use periodic list for low speed.
8599 (grub_ehci_setup_transfer): Check periodic queue as well.
8600 (grub_ehci_check_transfer): Likewise.
8601 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8602
e12bcb1c
PFS
86032012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8604
8605 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8606 parameter is used.
8607
bcc75fb3
PJ
86082012-05-31 Peter Jones <pjones@redhat.com>
8609
8610 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8611 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8612 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8613
f19cb95e
VS
86142012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8617 uninited variable. Allocate at least setup_sects.
8618
a4e5ca80
VS
86192012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 Fix handling of EFI with big memory maps.
8622
8623 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8624 (real_mode_mem): Likewise.
8625 (real_mode_target): Likewise.
8626 (real_mode_pages): Likewise.
8627 (prot_mode_pages): Likewise.
8628 (linux_params): New var.
8629 (linux_cmdline): Likewise.
8630 (free_pages): Don't set real mode variables.
8631 (allocate_pages): Don't allocate real mode memory.
8632 (grub_e820_add_region): Remove the limit.
8633 (grub_linux_boot): Allocate and copy real mode memory.
8634 (grub_linux_unload): Free linux_cmdline.
8635 (grub_cmd_linux): Use temporary storage for parameters.
8636 (grub_cmd_initrd): Likewise.
8637 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8638 (linux_kernel_params): Make it 1K big.
8639
ddb73558
VS
86402012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * Makefile.util.def: Remove -Wno-format.
8643 * grub-core/Makefile.core.def: Likewise.
8644
1c4afb60
VS
86452012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * tests/cmp_unit_test.c: Add missing failure message.
8648 * tests/example_unit_test.c: Likewise.
8649 * tests/printf_unit_test.c: Likewise.
8650
941e3a6d
VS
86512012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8654 relaxation of protective MBR requirements.
8655
b105df76
VS
86562012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * configure.ac: Add condition for COND_HOST_XNU.
8659 * Makefile.util.def (10_xnu): New script.
8660 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8661
84e1569e
VS
86622012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8665 objconv bug.
8666
130c0f77
VS
86672012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8670 Binary on other platforms stays identical.
8671
6fd0b143
VS
86722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8675 Apple.
8676
0af1751d
VS
86772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8680
176d5f7d
VS
86812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8684 rather than defining size_t ourselves to avoid conflict.
8685
7de5e20a
VS
86862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8689 initialisation to avoid __bzero reference.
8690
f7143efe
VS
86912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8694 version.
8695 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8696 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8697 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8698 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8699 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8700
e6ad0555
VS
87012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8704 * grub-core/kern/misc.c: Likewise.
8705 * grub-core/loader/i386/xnu.c: Likewise.
8706 * include/grub/i386/tsc.h: Likewise.
8707 * include/grub/symbol.h: Likewise.
8708
4a5a3c4a
VS
87092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8712 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8713 on older compiler.
8714
037f6d90
VS
87152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8718 Implement Apple flavour.
8719 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8720
f7194551
VS
87212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8724 (memmove) [__APPLE__]: Likewise.
8725 (memcpy) [__APPLE__]: Likewise.
8726 (memset) [__APPLE__]: Likewise.
8727 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8728 (memmove) [__APPLE__]: Likewise.
8729 (memcpy) [__APPLE__]: Likewise.
8730 (memset) [__APPLE__]: Likewise.
8731
85a730ca
VS
87322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8735 dependency discard.
8736
40e80b94
VS
87372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/normal/main.c (read_config_file): Provide config_file and
8740 config_directory.
8741 * util/grub.d/41_custom.in: Use config_directoy when available.
8742
9da59c32
VS
87432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8746 (grub_bfs_dir): Likewise.
8747
2787ae53
PJ
87482012-05-27 Peter Jones <pjones@redhat.com>
8749
8750 The old code gives arguments to a printf function which can't work
8751 correctly, and the compiler complains.
8752
8753 * grub-core/tests/example_functional_test.c (example_test): Add
8754 missing text.
8755 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8756 * include/grub/test.h (grub_test_assert_helper): New declaration.
8757 (grub_test_assert): Use grub_test_assert_helper.
8758
526ef13d
VS
87592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8762 (exfctest): ... this to avoid overlong filenames.
8763 All users updated.
8764
20dd511c
VS
87652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Handle "." and ".." on squashfs.
8768
8769 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8770 Make inode numbers into stack.
8771 (grub_squash_read_symlink): Use stack.
8772 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8773 (make_root_node): Fill stack.
8774 (grub_squash_open): Use stack.
8775
1d80c62a
VS
87762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8779 freeing.
8780
d336f652
VS
87812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8784 stderr on test calls.
8785
8b43f587
VS
87862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8789
80a3dc3f
VS
87902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8793
47e297d4
VS
87942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8797 "..".
8798
df042ccb
VS
87992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8802 (grub_hfsplus_iterate_dir): Add "." and "..".
8803
fc977f48
VS
88042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8807 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8808
f3250e5f
VS
88092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8812 (find_path): Handle "." and "..".
8813
fd8ed4c5
VS
88142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8817 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8818 (grub_affs_iterate_dir): Handle hardlinks.
8819
4ce776d2
MG
88202012-05-26 Matthew Garrett <mjg@redhat.com>
8821
8822 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8823 (grub_efi_console_fini): Likewise.
8824 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8825 (grub_video_gop_fill_mode_info): Rename to ...
8826 (grub_video_gop_fill_real_mode_info): ... this.
8827 (grub_video_gop_fill_mode_info): New function.
8828 (grub_video_gop_setup): Setup double framebuffer.
8829 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8830 Free offscreen.
8831 (grub_video_gop_swap_buffers): Copy framebuffer.
8832 (grub_video_gop_fini): Free offscreen buffer.
8833 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8834 New enum.
8835 (grub_efi_gop_blt_pixel): New struct.
8836
683031ba
VS
88372012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * gentpl.py: Remove error disabling for objconv.
8840
c2deb798
VS
88412012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * configure.ac: Remove -Wunitialized as it's not available on older
8844 compilers.
8845
88462012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8847
8848 Fix extent overflow comparator.
8849
8850 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8851 (grub_hfsplus_read_block): Set type.
8852 (grub_hfsplus_cmp_extkey): Compare type.
8853
d6b1fd36
VS
88542012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8857
0a9aa0f6
VS
88582012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8861 than 0.
8862
8360e159
VS
88632012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8866 (dejavu_bold_14.pf2): New target.
8867
501b9e4b
VS
88682012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * configure.ac: Fix djvu font detection.
8871
7026b0e2
VS
88722012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8875 ext* instead of ext2.
8876
c2a51ade
VS
88772012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8880 name with \0.
8881
8f803a5d
JU
88822012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8883
8884 * docs/grub-dev.texi: Remove dot from .png.
8885
13c6353f
VS
88862012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8889 protective entry in any slot.
8890 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8891 if protective entry is found in any slot.
8892
8893 Protective entry in non-first slot make no sense but is a widespread
8894 brain damage.
8895
4cf6be1b
VS
88962012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8899
937d1c44
VS
89002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8903 with old reiserfs.
8904 (grub_reiserfs_open): Don't free root.
8905
021d90ec
VS
89062012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8909 after freeing for safety.
8910
967b2b64
VS
89112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8914 Reported by: Jordan Uggla.
8915
34274d02
JU
89162012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8917
967b2b64
VS
8918 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8919 actual implementation. Specifically, clarify that the grub menu will
8920 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8921 passed.
34274d02 8922
dcaaae9d
BH
89232012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8924
8925 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8926 of r0.
8927
7086ad52
VS
89282012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 Remove unjustified hard dependency of normal.mod on gfxterm.
8931
8932 * include/grub/term.h (grub_term_output): New member fullscreen.
8933 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8934 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8935 (grub_gfxterm): Set .fullscreen.
8936 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8937 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8938
37ed2c9b
VS
89392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8942 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8943 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8944
a4469c88
VS
89452012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8948
4e461486
VS
89492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8952 a bad FS.
8953
aa78f5c4
VS
89542012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8957 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8958
197626b5
VS
89592012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8962 (grub_jfs_mount): Fill caseins.
8963 (grub_jfs_find_file): Respect caseins.
8964
8ad3f28c
VS
89652012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8968 through UTF-16.
8969
0c6c324e
VS
89702012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8973 New argument origpath. All users updated.
8974
c6666ba6
VS
89752012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8978 (read_attr): Ensure that we read start of possibly compressed block.
8979
e28e5fe5
VS
89802012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8983 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8984 All users updated.
8985
5fc23ab2
VS
89862012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8989 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8990 (dejavu.pf2): Replace with ...
8991 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8992 this.
8993
79dbc21c
VS
89942012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * util/grub.d/20_linux_xen.in: Add missing line.
8997
d2fcfb0c
VS
89982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9001 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9002 (grub_utf16_to_utf8): Likewise.
9003
5560e9d6
VS
90042012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9007 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9008 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9009 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9010 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9011 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9012
90132012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9014
9015 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9016 a bad FS.
9017
5560e9d6 90182012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9019
9020 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9021 (grub_udf_read_symlink): Handle read_string failure.
9022
5eae3175
VS
90232012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9026 comment.
9027
c1ad82db
VS
90282012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Fix handling of UDF symlinks.
9031
9032 * grub-core/fs/udf.c (read_string): New argument outbuf.
9033 All users updated.
9034 (grub_ufs_read_symlink): Rename to ...
9035 (grub_udf_read_symlink): ... this. All users updated.
9036 Handle symlinks with more than one component.
9037
33eca6e0
VS
90382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9041 symlinks. Replace leading colon with a slash.
9042
57f4a70b
VS
90432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9046 filename.
9047
38c8ee20
VS
90482012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9051 match in inner node.
9052
2e57f28f
VS
90532012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9056 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9057 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9058 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9059 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9060 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9061 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9062 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9063 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9064
fe8c2f11
VS
90652012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 Use grub-probe and not cmp to check that disk is empty.
9068
9069 * util/grub-install.in: Use grub-probe for zero-check.
9070 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9071 (probe): Handle PRINT_ZERO_CHECK.
9072 (argp_parser): Handle -t zero_check.
9073
90742012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9075
9076 Flush block cache on adding disk to device map.
9077
9078 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9079 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9080 adding.
9081 (read_device_map): Likewise.
9082 (open_device): Flush on opening.
9083
690434e8
VS
90842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9087 (handle_symlink): Fix off-by-one error.
9088 Canonicalize the target.
9089 (grub_cpio_dir): Canonicalize the name.
9090 Fix memory leak.
9091 Set directory.
9092 (grub_cpio_open): Canonicalize the name.
9093
742d2be6
VS
90942012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9097 handling.
9098
3244fe96
VS
90992012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9102 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9103
8aeb1837
VS
91042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9107 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9108 All users updated.
8aeb1837 9109
9133fd05
VS
91102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9113 counterpart.
9114
6d521c5b
VS
91152012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 Fix UFS1 big file support.
9118
9119 * grub-core/fs/ufs.c (INODE): Removed.
9120 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9121 64-bit.
9122 (INODE_MODE): Simplify.
9123 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9124 (grub_ufs_lookup_symlink): Don't use INODE.
9125
21b82e17
VS
91262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9129
9130 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9131 (grub_minix_data): Replace log_block_size with block_size.
9132 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9133 (grub_minix_mount): Fill block_size.
9134
91352012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9136
9137 * configure.ac: Bump to beta5.
9138
f417ed04
VS
91392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Fix wrapped HFS+ handling.
9142
9143 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9144 blocks_start. All users updated.
9145 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9146 wrapping offset.
9147 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9148
607d282b
VS
91492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 Fix long symlinks on reiserfs.
9152
9153 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9154 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9155 (grub_reiserfs_iterate_dir): Save size for non-directories.
9156 (grub_reiserfs_open): Don't reread stat block as we already know the
9157 size.
9158 (grub_reiserfs_read): Split into...
9159 (grub_reiserfs_read_real): ... and ...
9160 (grub_reiserfs_read): ...this.
9161
ae16024d
VS
91622012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 Fix non-indexed JFS.
9165
9166 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9167 (grub_jfs_data): New field namecomponentlen.
9168 (grub_jfs_mount): Fill namecomponentlen.
9169 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9170
eea1e26e
VS
91712012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9174 * tests/grub_script_echo1.in: Add tests.
9175
df760f77
VS
91762012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * util/grub-install.in: Ignore empty devicetree directory.
9179
5efb817d
B
91802012-05-08 Bean <bean123ch@gmail.com>
9181
9182 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9183 All users updated.
9184 (free_rsm): Free header as well.
9185 (free_old_fragments): Fix memory leak.
9186 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9187 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9188 (destroy_pq): Likewise.
9189 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9190
668ea6d2
VS
91912012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9194 resulting hash as a precaution.
9195
1739b1fe
VS
91962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9199 '_' in variable names.
9200 * grub-core/net/net.c (grub_net_network_level_interface_register):
9201 Likewise.
9202
6ae485aa
VS
92032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 Fix AFFS with non-512B blocks.
9206
9207 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9208 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9209 (grub_affs_data): Replace blocksize with log_blocksize.
9210 (grub_affs_read_block): Fix non-512B blocks.
9211 (grub_affs_read_symlink): Likewise.
9212 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9213 (grub_affs_read): Fix non-512B blocks.
9214 (grub_affs_label): Likewise.
9215 (grub_affs_mtime): Likewise.
9216 (grub_affs_mount): Fix block detection routine.
9217
d20fab84
VS
92182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Add filesystem mtime to AFFS.
9221
9222 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9223 (aftime2ctime): New function.
9224 (grub_affs_dir): Use aftime2ctime.
9225 (grub_affs_label): Fix return value.
9226 (grub_affs_mtime): New function.
9227 (grub_affs_fs): Add mtime.
9228
e87b10f5
VS
92292012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9232 UTF-8.
9233
7dceec9b
VS
92342012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9237 UTF-8.
9238
2f48221f
VS
92392012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9242
dacd85cf
VS
92432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9246 flags.
9247 (FLAGS_CASE_SENSITIVE): New enum value.
9248 (cache_entry): New struct.
9249 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9250 cache_size and cache.
9251 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9252 Add log_blocksize and fshelp_flags.
9253 (grub_sfs_read_extent): Handle non-512 blocks.
9254 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9255 (grub_sfs_read_file): Handle non-512 blocks.
9256 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9257 fshelp_flags.
9258 (grub_sfs_read_symlink): Handle non-512 blocks.
9259 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9260 (grub_sfs_dir): Free cache.
9261 (grub_sfs_close): Likewise.
9262
24e9a854
VS
92632012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9266 filesystems.
9267
62ace64d
VS
92682012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9271
83b2e89c
VS
92722012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9275
75ccaea3
VS
92762012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9279 (grub_sfs_read_extent): Likewise.
9280 (grub_sfs_read_block): Likewise.
9281 (grub_sfs_mount): Likewise.
9282 (grub_sfs_iterate_dir): Likewise.
9283 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9284 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9285
1b8463f2
VS
92862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 Fix errors on compressed NTFS with 512B clusters.
9289
9290 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9291 types.
9292 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9293 not 0.
9294 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9295 Relax check for inline extents.
9296 (ntfscomp): Return correct -1 on error and not 0.
9297
4f8e368f
VS
92982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * util/grub-install.in: Fix handling of prefix containing spaces.
9301
6f5d5ee8
VS
93022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9305 (grub_squash_read_data): Fix offset byte-swapping.
9306
ce41ab7a
VS
93072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9310 per common usage and preffered in several parts of code.
9311 (grub_memcmp): Likewise.
9312 (grub_strncmp): Likewise.
9313 * include/grub/misc.h (grub_strcasecmp): Likewise.
9314 (grub_strncasecmp): Likewise.
9315 * Makefile.util.def (cmp_test): New test.
9316 (grub_script_strcmp): Likewise.
9317 * tests/cmp_unit_test.c: New file.
9318 * tests/grub_script_strcmp.in: Likewise.
9319 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9320
49717bf4
VS
93212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * include/grub/pci.h: Move enums into no-asm part.
9324
0a308f64
VS
93252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9328
1796965f
ST
93292012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9330
9331 * util/getroot.c (find_hurd_root_device): Try to make error message
9332 and comments to translators clearer.
9333
4e9b2819
VS
93342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9337
076aeb50
VS
93382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9341 btrfs.
9342
19424d94
VS
93432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * docs/grub.cfg: Update.
9346
ebb73076
VS
93472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * docs/grub.texi (PXE): Remove not present variables.
9350
9a1b669c
VS
93512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/net/net.c (defserver_set_env): New function.
9354 (defserver_get_env): Likewise.
9355 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9356
d38bf7d3
VS
93572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9360 entries.
9361
93622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9363
9364 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9365 * grub-core/kern/emu/hostdisk.c: Likewise.
9366
e5e4ca48
ST
93672012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9368
9369 Handle hurd userspace partitions.
9370
9371 * util/getroot.c (find_hurd_root_device): New function.
9372 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9373
56bb5dd5
VS
93742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9377 names.
9378 Reported by: Bastian Blank.
9379
9e8bc27a
VS
93802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9383 crossing page boundary.
9384
aa01499d
VS
93852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Fix B-tree search in BFS, especially in presence of non-ASCII
9388 characters.
9389
9390 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9391 (find_in_b_tree): Use standard bsearch + btree algorithm.
9392
57006035
VS
93932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9396 and so on.
9397
9d34bb85
MG
93982012-05-03 Matthew Garrett <mjg@redhat.com>
93992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 Suspend broadcom cards in order to stop their DMA.
9402
9403 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9404 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9405 (pci): Don't build on x86 EFI.
9406 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9407 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9408 New function.
9409 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9410 stop_broadcom if running on EFI.
9411 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9412 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9413 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9414 (grub_pci_find_capability): New proto.
9415
01aab997
VS
94162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * docs/grub.texi: Remove dot from the extension as it apparently
9419 doesn't work with some makeinfo versions.
9420
fbd8dca6
VS
94212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9424 with GRUB expectance.
9425
dab797f4
VS
94262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9429
1516bfb4
VS
94302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9433 zero after directory block since last entry may be not 0-terminated if
9434 it ends on block boundary. Use continue instead of if spanning whole
9435 loop.
9436
a3a0eace
VS
94372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 Support 4K sectors UDF inline files.
9440
9441 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9442 (grub_udf_extended_file_entry): Likewise.
9443 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9444 All users updated.
9445 (get_fshelp_size): New function.
9446 (grub_udf_read_icb): Read whole block.
9447 (grub_udf_iterate_dir): Likewise.
9448 (grub_udf_dir): Likewise.
9449 (grub_udf_open): Likewise.
9450
c82f16c1
VS
94512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9454
59fd2aac
VS
94552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9458 inline symlinks in addition to workaround.
9459
3b4afb4d
VS
94602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9463
f45c794a
VS
94642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9467
f25cecbd
VS
94682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9471
bb9a34e8
VS
94722012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Fix reiserfs big seek times.
9475
9476 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9477 exact. All users updated.
9478 (grub_reiserfs_read): Use nearest btree search for seeking.
9479 Fix return value on error.
9480
dc478aea
VS
94812012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9484 entries.
9485 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9486 * docs/grub.texi: Update menuentry description.
9487
8db10f47
VS
94882012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9491 crash when embedding onto filesystem.
9492
bcb288ed
VS
94932012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9496 name.
9497
a626fdd7
VS
94982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9501
b2f68477
VS
95022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9505 commit.
9506
ba15b2af
B
95072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
95082012-05-01 Bean <bean123ch@gmail.com>
9509
9510 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9511
a188012e
VS
95122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9515 Special behaviour for len = 0 to read whole file isn't used anywhere and
9516 can cause buffer ovewrflows in several places.
9517
f0a53ed2
VS
95182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9521
5ed554f0
VS
95222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Handle RAIDZ on non-512B sectors.
9525
9526 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9527 max_children_ashift.
9528 (fill_vdev_info_real): Fill max_children_ashift.
9529 (read_device): Use max_children_ashift.
9530
ddc58357
VS
95312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9534
e3282399
VS
95352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9538 disk names.
9539 * docs/grub.texi: Update device.map parts.
9540
ee618bd4
VS
95412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 Don't scan into non-diskfilter devices having diskfilter names.
9544
9545 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9546 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9547 handling.
9548 (scan_disk_hook): New function.
9549
bdf88864
B
95502012-04-29 Bean <bean123ch@gmail.com>
9551
9552 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9553 allocation.
9554
32745f51
MK
95552012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9556
9557 * configure.ac: Detect starfield theme font path
9558 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9559
bc95c8c0
VS
95602012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9563 geometry on serial consoles.
9564
147fbcab
VS
95652012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9568 because of network consoles.
9569
0f42c889
VS
95702012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9573 handling.
9574
4a3594c9
VS
95752012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9578 falls on Q syndrom.
9579
5cb53879
VS
95802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9583 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9584
b282dfe5
VS
95852012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9588 Allocate at lest 8192 for temporary buffer as required for lzo.
9589
daa59f47
VS
95902012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9593 to cluster_bits, since it's already added in.
9594 (grub_fat_read_data): Likewise.
9595
986748ce
VS
95962012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9599 as long as cluster size is multiple of 512 bytes.
9600
a20f6ad0
VS
96012012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * util/grub-mkrescue.in: Fix locale directory.
9604
385f9abb
VS
96052012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/kern/emu/hostdisk.c (map): Make static.
9608
1c557d30
B
96092012-04-23 Bean <bean123ch@gmail.com>
9610
9611 * util/grub-fstest.c (fstest): Add missing break.
9612
524b5d3a
ST
96132012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9614
9615 Fix hurd build.
9616
9617 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9618 not define nr variable.
fe4824e9 9619 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9620 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9621 grub_find_device): Do not define.
524b5d3a 9622
9a06490c
VS
96232012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 Fix kfreebsd compile and behaviour.
9626
9627 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9628 format-security.
9629 * util/getroot.c: Fix wait.h include.
9630 (grub_guess_root_devices): Error if grub_find_device fails.
9631 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9632 (grub_util_get_dev_abstraction): Likewise.
9633 (grub_util_pull_device): Likewise.
9634 (grub_util_get_grub_dev): Likewise.
9635 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9636
48143d96
VS
96372012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Fix and unify wholedisk detection.
9640
9641 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9642 is_part. All users updated.
9643 (device_is_wholedisk): Removed.
9644 (grub_util_biosdisk_get_grub_dev): Use is_part.
9645
ebbd24f3
VS
96462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9649 mode.
9650
56f7aa1e
VS
96512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * configure.ac: Bump to beta4.
9654
9c815e01
VS
96552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9658 --fs-uuid --set UUID syntax.
9659
59e2651a
VS
96602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9663 disunification.
9664
54e03cfc
VS
96652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9668
81092a75
MK
96692012-04-18 Mads Kiilerich <mads@kiilerich.com>
9670
9671 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9672
f8315e14
MG
96732012-04-18 Mike Gilbert <floppym@gentoo.org>
9674
9675 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9676
1501ac21
B
96772012-04-18 Bean <bean123ch@gmail.com>
9678
9679 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9680 place.
9681
cb7f944e
VS
96822012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9685 users updated.
9686 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9687 corresponding to GRUB partitions.
9688 (grub_util_biosdisk_write): Likewise.
9689
b72d44a1
VS
96902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 Scan mdraid before LVM.
9693
9694 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9695 (grub_diskfilter_register_front): ... this.
9696 (grub_diskfilter_register_back): New function.
9697 All users of grub_diskfilter_register updated.
9698
33d918b8
VS
96992012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * util/grub-install.in: Fix an automatic target detection bug.
9702
c6ca973d
VS
97032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * util/grub-install.in: New option --efi-directory.
9706
b41be562
VS
97072012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9710 boot services if we have no other choice.
9711
97122012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9715 document it.
9716 * tests/util/grub-shell.in: Update to --directory.
9717
e0595a73
VS
97182012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9721
4ed80652
VS
97222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9725 (grub_minix_read_file): Likewise.
9726 (grub_minix_read_inode): Likewise.
9727 (grub_minix_find_file): Likewise.
9728 (grub_minix_dir): Likewise.
9729
56008077
VS
97302012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * util/grub-setup.c (setup): Fix partition handling and blocklist
9733 check.
9734
ee520775
VS
97352012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9738 redundant buggy overlap check.
9739
16fc9293
VS
97402012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9743 and grub-mknetdir.
9744
9bab65c4
VS
97452012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9748 kh.loadflags on pre-2.00 kernels.
9749
3c491b47
VS
97502012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 Terminate UNDI and PXE before launching the payload to avoid problems
9753 with DMA.
9754
9755 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9756 (grub_loader_flags): ... this. All users updated.
9757 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9758 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9759 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9760 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9761 function.
9762 (grub_pxe_restore): Likewise.
9763 (fini_hnd): New var.
9764 (GRUB_MOD_INIT): Register shutdown hook.
9765 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9766 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9767 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9768 (grub_loader_set): Rename second argument to flags.
9769
851ffada
VS
97702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9773 written bytes.
9774 (grub_get_num_of_utf8_bytes): New function.
9775 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9776 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9777 executing it.
9778 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9779 (grub_ucs4_to_utf8): Change return type.
9780
491c57a8
VS
97812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9784 warning.
851ffada
VS
9785 * grub-core/fs/bfs.c (hop_level): Likewise.
9786 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9787
756773df
VS
97882012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/lib/adler32.c: Recode due to license unclearness.
9791
fd556a96
VS
97922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9795 (test_header): Likewise.
9796
9f9d3f69
VS
97972012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 Fix --help formatting.
9800
9801 * util/grub-mkconfig_lib.in (print_option_help): New function.
9802 (grub_fmt): Likewise.
9803 * util/grub-install.in: Use print_option_help and grub_fmt.
9804 * util/grub-kbdcomp.in: Likewise.
9805 * util/grub-mkconfig.in: Likewise.
9806 * util/grub-mknetdir.in: Likewise.
9807 * util/grub-mkrescue.in: Likewise.
9808 * util/grub-mkstandalone.in: Likewise.
9809 * util/grub-reboot.in: Likewise.
9810 * util/grub-set-default.in: Likewise.
9811 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9812
561ec77e
VS
98132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * linguas.sh: Remove autogenerated *.po.
9816
7ec2b021
VS
98172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * po/README: Move language fetcing to ...
9820 * linguas.sh: ... here.
9821 * po/README: Point to linguas.sh.
9822
a88f3270
VS
98232012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * po/README: Exclude ko.po due to disclaimer problems.
9826
d61357ce
VS
98272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9830 len = 0.
9831 (grub_gettext_translate_real): Handle 0th string.
9832 (grub_gettext_translate): Ensure that "" isn't translated.
9833
505e41dc
VS
98342012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9837 TRANSLATORS comment.
9838 (grub_diskfilter_print_partmap): Propagate changing of error into
9839 warning.
9840
e44092db
VS
98412012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9844 to uint64_t to prevent overflow.
9845 (grub_diskfilter_lv): Increase start_extent and extent_count
9846 to uint64_t to prevent overflow.
9847
9b83956a
VS
98482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * configure.ac: Increase version.
9851
da0d5b3f
VS
98522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9855
9856 * po/Rules-translit: New file.
9857 * po/arabic.sed: Likewise.
9858 * po/cyrillic.sed: Likewise.
9859 * po/greek.sed: Likewise.
9860 * po/hebrew.sed: Likewise.
9861 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9862 * po/Makefile.in.in: Add extra_dist4.
9863
ac66b453
VS
98642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9867
9868 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9869 modify names. Introduce MODE_BIGENDIAN.
9870 * grub-core/fs/minix_be.c: New file.
9871 * grub-core/fs/minix2_be.c: Likewise
9872 * grub-core/fs/minix3_be.c: Likewise.
9873 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9874 minix3_be.
9875 * grub-core/Makefile.core.def (minix_be): New module.
9876 (minix2_be): Likewise.
9877 (minix3_be): Likewise.
9878
98792012-04-01 Felix <email@hamburg.de>
9880
9881 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9882 (devs): Add MBP 2011.
9883
0a2d5a82
VS
98842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9887
d1625889
VS
98882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/normal/cmdline.c (print_completion): New field
9891 prompt_len.
9892 (grub_cmdline_get): Handle width properly.
9893
6d36a236
VS
98942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9897
9576977e
VS
98982012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9901 after 29th of February.
9576977e 9902
d73ff15d
VS
99032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Fix exfat endianness handling.
9906
9907 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9908 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9909 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9910 Byte-swap utf16 when necessary.
9911 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9912
bbb39a45
AB
99132012-03-31 Anton Blanchard <anton@samba.org>
99142012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 Fix btrfs endianness handling.
9917
9918 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9919 (lower_bound): Make root uint64_t. Use root in le.
9920 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9921 (find_path): Fix template key init.
9922 (grub_btrfs_dir): Fix mtime byteswap.
9923 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9924
354e0af7
VS
99252012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9928 recursion_depth. Break infinite resursions. All users updated.
9929
4e75f21c
VS
99302012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9933 after free.
9934 Reported by: Peter Jones.
9935
25581802
AB
99362012-03-31 Anton Blanchard <anton@samba.org>
9937
9938 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9939 8 bit values.
9940
08fbf92e
VS
99412012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * util/grub-install.in: Fix nvram call for PreP.
9944
5d1182a6
VS
99452012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9948 the error when some elements are missing into a warning.
9949
3f8cdd90
VS
99502012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9953
51006716
CW
99542012-03-28 Colin Watson <cjwatson@ubuntu.com>
9955
9956 * docs/grub.texi (Invoking grub-probe): New section.
9957 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9958
e1bd676b
VS
99592012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 Fix tab and wide character handling in editor and menu.
9962
9963 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9964 agglomerate control characters with combining marks.
9965 (bidi_line_wrap): Allow break on tab.
9966 (grub_unicode_get_comb_start): New function.
9967 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9968 and tab correctly.
9969 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9970 with a space.
9971 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9972 fixed_tab_size. All users updated.
9973 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9974 (grub_term_getcharwidth): Handle \t.
9975 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9976 and copy.
9977
22e6a774
VS
99782012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Handle big-endian mdraid.
9981
9982 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9983 * grub-core/Makefile.core.def (mdraid09_be): New module.
9984 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9985 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9986 * grub-core/disk/mdraid_linux_be.c: New file.
9987
3c0eae66
VS
99882012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9991
b6cf74c9
VS
99922012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9995 missing quotes which caused confusion among translators.
9996
83c93b9c
VS
99972012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * util/grub-mkconfig_lib.in: Fix typo.
10000
ac6fd218
VS
100012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10004 spaces.
10005 * tests/grub_script_leading_whitespace.in: New file.
10006 * Makefile.util.def (grub_script_leading_whitespace): New test.
10007
ba287dd8
VS
100082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10011 to work.
10012
d2d58d0a
VS
100132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10016 starts with control character.
10017
0382d9bb
VS
100182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10021 overflow.
10022 (grub_gdb_outbuf): Likewise.
10023
d83ff9f9
VS
100242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10027 zero terminator. Fixes a crash.
10028
2282da4a
VS
100292012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10032 beyond 4 GiB.
10033 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10034 images independently of preffered adderss field.
10035
0ae4f0bd
VS
100362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10039 * grub-core/commands/regexp.c: Likewise.
10040 * grub-core/loader/i386/linux.c: Likewise.
10041 * grub-core/partmap/msdos.c: Likewise.
10042 * grub-core/script/execute.c: Likewise.
10043 * grub-core/term/gfxterm.c: Likewise.
10044
546fbe9b
VS
100452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Add variable parsing in $"..." and fix several mismatches with bash.
10048
10049 * Makefile.util.def (grub_script_gettext): New test.
10050 * grub-core/script/execute.c (parse_string): New function.
10051 (gettext_append): Likewise.
10052 (grub_script_arglist_to_argv): Use gettext_append.
10053 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10054 * tests/grub_script_gettext.in: New file.
10055
9fdb2d7b
VS
100562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Fix handling of leading spaces in scripts.
10059
10060 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10061 spaces.
10062 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10063 other than skipping \r. All users updated.
10064 * tests/grub_script_echo1.in: Add space-related tests.
10065 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10066
1a1ac4f6
VS
100672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10070
b63d89b6
VS
100712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * configure.ac: Bump up the version to beta2.
10074
17f38c0f
VS
100752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 Fix gettext reload bugs (e.g. inability to disable gettext
10078 once enabled).
10079
10080 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10081 main_context and secondary_context. All functions updated.
10082 (grub_gettext_translate): Rename to ...
10083 (grub_gettext_translate_real): ... this. Return NULL on failed
10084 translate.
10085 (grub_gettext_translate): Handle secondary context.
10086 (grub_gettext_delete_list): Close file and zero-out the context.
10087 (grub_mofile_open): Don't call grub_gettext_delete_list.
10088 Don't close file.
10089 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10090 if locale="" to avoid pointless error message.
10091 (grub_gettext_env_write_lang): Update lang even if load fails.
10092 Handle secondary context.
10093 (grub_gettext_reread_prefix): New function.
10094 (read_main): Likewise.
10095 (read_secondary): Likewise.
10096 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10097 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10098 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10099 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10100
8e56f870
VS
101012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * configure.ac: Decrease warning level to avoid spurious warnings and
10104 to be able to compile with GCC 4.2.
10105 * Makefile.util.def: Remove -Wno-error=logical-op.
10106
82f6d455
WB
101072012-03-10 William Bittner <william.bittner@gmail.com>
10108
10109 * util/import_unicode.py: Add missing brackets around string for
10110 python 3 support.
10111
1ecd61a4
VS
101122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 Fix efi chainloader on network root.
10115
10116 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10117 network devices.
10118 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10119 New function.
10120
14361ee8
VS
101212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10124 unused show_text member.
10125 * docs/grub.texi: Document "text" property.
10126
922aabf3
VS
101272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10130 in dprintf.
10131
ec316771
VS
101322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Fix IMSM handling on Fedora.
10135
10136 * util/getroot.c (grub_util_is_imsm): New function.
10137 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10138
0f021838
VS
101392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * Makefile.am: Strip gold section.
10142 * conf/Makefile.common: Likewise.
10143 * gentpl.py: Likewise.
10144 * grub-core/Makefile.core.def: Likewise.
10145 * grub-core/genmod.sh.in: Likewise.
10146
1039c8eb
VS
101472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10150 * util/grub.d/20_linux_xen.in: Likewise.
10151 Based on Debian patch.
10152
6dd412cd
VS
101532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * util/grub.d/10_linux.in: Fix syntax error resulting in
10156 Richard Laager's patch.
10157 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10158
3fd8bae5
VS
101592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10162 dependencies.
10163
7eea1671
RL
101642012-03-10 Richard Laager <rlaager@wiktel.com>
10165
10166 * util/grub.d/10_linux.in: Fix ZFS root passing.
10167
e8e0566b
VS
101682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10171 * grub-core/commands/xnu_uuid.c: Likewise.
10172 * grub-core/loader/efi/appleloader.c: Likewise.
10173 * grub-core/script/execute.c: Likewise.
10174 * grub-core/script/main.c: Likewise.
10175 * util/grub-mkfont.c: Likewise.
10176
1acc5b1f
VS
101772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * util/grub-mkfont.c (options): Use more appropriate "select" that
10180 "set" for face index.
10181
35d70620
VS
101822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * util/grub-editenv.c (options): Gettextize command summaries.
10185
c9eb96b5
VS
101862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10189 "out of memory" error messagge.
10190
1f493136
VS
101912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10194 of diskfilter for diskfilter on diskfilter support.
10195
6d790129
VS
101962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10199
005f46c9
VS
102002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10203 themes/starfield.
10204
c8f778a0
VS
102052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10208
de1e64eb
VS
102092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10212
c6d54211
VS
102132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10216 of error message.
10217
dd390777
VS
102182012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10221
5fd1c522
VS
102222012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10225 message.
c6d54211 10226 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10227
fae01f6c
VS
102282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10231 Gettextize.
10232 * util/grub-mount.c (options): Likewise.
10233
292fdaff
VS
102342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10237 gettextize.
10238 * grub-core/commands/search_wrap.c (options): Likewise.
10239
ecdbae77
VS
102402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10243
52bfedfa
VS
102442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10247 size calculation.
10248 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10249 none is known.
10250
55b20e58
VS
102512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10254 "temporary" since it's used in identifier and is limited in space.
10255
fda9d101
VS
102562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * po/POTFILES.in: Regenerate. Include *.h since they contain
10259 translatable strings as well.
10260
6a0295e2
VS
102612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10264 byte-swap on big-endian.
10265 Reported by: Lennart Sorensen
10266
807fb77c
VS
102672012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10270 (allocate_pages): Improve dprintf.
10271 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10272 code32_start. Fill code32_start and kernel_alignment in params.
10273 (grub_cmd_initrd): Use prot_init_space.
10274
61ac50ba
VS
102752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10278
abdd26dd
VS
102792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * util/grub-install.in: Add missing dot at the end of sentence.
10282
6e69da9c
VS
102832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10286 * grub-core/commands/videotest.c: Likewise.
10287 * grub-core/loader/i386/linux.c: Likewise.
10288
4a929343
VS
102892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10292 sentence.
10293 Reported by: Milo Casagrande.
10294
bb51c6c6
VS
102952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10298 * grub-core/commands/gptsync.c: Likewise.
10299 * grub-core/commands/hashsum.c: Likewise.
10300 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10301 * grub-core/commands/legacycfg.c: Likewise.
10302 * grub-core/io/gzio.c: Likewise.
10303 * grub-core/net/net.c: Likewise.
10304 * grub-core/term/gfxterm.c: Likewise.
10305 * grub-core/term/terminfo.c: Likewise.
10306 * grub-core/tests/test_blockarg.c: Likewise.
10307 * grub-core/video/video.c: Likewise.
10308 * util/grub-install.in: Likewise.
10309 * util/grub-mkfont.c: Likewise.
10310
b2b149cb
VS
103112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10314
c7c080ad
VS
103152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10318 Reported by: David Prévot.
c7c080ad 10319
f2e243c0
VS
103202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10323 description.
10324
09963c76
VS
103252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * util/grub-script-check.c (main): Fix a syntax error message which was
10328 unclear.
10329
a50514a8
VS
103302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10333
4650daec
VS
103342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10337 messages.
10338
103392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10340
10341 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10342 without argument.
10343 * util/grub-mount.c (options): Likewise.
10344
bbc5a342
VS
103452012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10348
ef292a87
VS
103492012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/net/http.c: Add TRANSLATORS comments.
10352 * grub-core/normal/cmdline.c: Likewise.
10353 * grub-core/normal/misc.c: Likewise.
10354 * grub-core/partmap/msdos.c: Likewise.
10355 * grub-core/parttool/msdospart.c: Likewise.
10356 * grub-core/script/execute.c: Likewise.
10357 * grub-core/script/main.c: Likewise.
10358 * grub-core/term/terminfo.c: Likewise.
10359 * grub-core/video/bitmap.c: Likewise.
10360 * util/grub-install.in: Likewise.
10361 * util/grub-mkimage.c: Likewise.
10362 * util/grub-mklayout.c: Likewise.
10363 * util/grub-setup.c: Likewise.
10364
0fc19bd0
VS
103652012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10368 with similar messages in grub-fstest.
10369
d95862ef
VS
103702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * util/grub-install.in: Unify "option requires an argument" message
10373 with similar messages in other files.
10374 * util/grub-mkconfig.in: Likewise.
10375
b7308f90
VS
103762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * util/grub-set-default.in: Replace printf with gettext_printf (the
10379 string in in question is already translated from grub-reboot)
10380
559dc587
VS
103812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * configure.ac: Bump up the version to beta1.
10384
1a11761f
VS
103852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10388 case when min_align = 0.
10389
24539abd
VS
103902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10393 and fix a case when line_start overflows.
10394
32bd735b
VS
103952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * util/grub-reboot.in (usage): Mention id posibility.
10398 * util/grub-set-default.in (usage): Likewise.
10399
1a2fd1e6
VS
104002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10403 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10404 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10405 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10406 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10407 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10408 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10409
90eeab76
VS
104102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/commands/menuentry.c (options): Remove
10413 GRUB_ARG_OPTION_REPEATABLE.
10414 Reported by: Andreas Vogel
10415
5ad1be82
AV
104162012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10417
10418 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10419
cb055286
HE
104202012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10421
10422 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10423 error.
10424
93b1cd79
VS
104252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 Use sort -V by the idea of Georgi Georgiev.
10428
10429 * util/grub-mkconfig_lib.in (version_sort): New function.
10430 (version_test_numeric): Use version_sort.
10431
0cdc126c
VS
104322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 Use submenus in grub-mkconfig.
10435
10436 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10437 * util/grub-mkconfig_lib.in (grub_quote): New function.
10438 (gettext_printf): Use gettext and not gettext_quoted to fix several
10439 messages.
10440 * util/grub.d/10_hurd.in: Use submenus.
10441 * util/grub.d/10_kfreebsd.in: Likewise.
10442 * util/grub.d/10_linux.in: Likewise.
10443 * util/grub.d/10_netbsd.in: Likewise.
10444 * util/grub.d/20_linux_xen.in: Likewise.
10445 * util/grub.d/30_os-prober.in: Likewise.
10446 * util/grub.d/10_illumos.in: Add missing quoting.
10447 * util/grub.d/10_windows.in: Likewise.
10448
d9bef9bc
VS
104492012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Fix menu title instability bug.
10452
10453 * grub-core/commands/menuentry.c (options): New option --id.
10454 (grub_normal_add_menu_entry): New argument id. All users updated.
10455 (grub_cmd_menuentry): Handle --id.
10456 (grub_menu_init): Accept unknown arguments.
10457 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10458 feature_menuentry_options.
10459 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10460 saved_entry.
10461 (get_entry_number): Match with id as well.
10462 * include/grub/menu.h (grub_menu_entry): New member id.
10463 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10464 * util/grub.d/00_header.in: Define menuentry_id_option.
10465 * util/grub.d/10_hurd.in: Define id.
10466 * util/grub.d/10_illumos.in: Likewise.
10467 * util/grub.d/10_kfreebsd.in: Likewise.
10468 * util/grub.d/10_linux.in: Likewise.
10469 * util/grub.d/10_netbsd.in: Likewise.
10470 * util/grub.d/10_windows.in: Likewise.
10471 * util/grub.d/20_linux_xen.in: Likewise.
10472 * util/grub.d/30_os-prober.in: Likewise.
10473
104742012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10475
10476 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10477 "scope" with "body".
10478
7c8d0ce7
VS
104792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10482 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10483 prot_size and prot_file_size.
10484
49de079b
VS
104852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10488 All users updated. If easily=1 require raid-5/-6 to be full.
10489 (is_node_readable): Likewise.
10490 (scan_devices): Scan incomplete but readable LVs at the end.
10491 (grub_diskfilter_memberlist): Pull missing devices.
10492 (insert_array): Skip scanning until device is complete or scan is
10493 done otherwise.
10494 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10495 check.
10496 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10497 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10498
aff05d45
MG
104992012-03-03 Matthew Garrett <mjg@redhat.com>
105002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 Avoid EFI boot services when loading Linux.
10503
10504 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10505 avoid_efi_bootservices. All users updated.
10506 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10507 argument avoid_efi_bootservices. All users updated.
10508 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10509 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10510 align, min_align, relocatable, prefered_address. All users updated.
10511 Allocate avoiding boot services if kernel is relocatable.
10512 (grub_cmd_linux): Check if kernel is relocatable.
10513 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10514 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10515 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10516 avoid_efi_boot_services.
10517 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10518 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10519 (linux_kernel_params): Likewise.
10520
3935dde2
MG
105212012-03-03 Matthew Garrett <mjg@redhat.com>
105222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Use EDID on EFI.
10525
10526 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10527 datasize_out.
10528 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10529 modes. Set gop_handle.
10530 (grub_video_gop_get_edid): New function.
10531 (grub_gop_get_preferred_mode): Likewise.
10532 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10533 (grub_video_efi_gop_adapter): Set .get_edid.
10534 * include/grub/efi/edid.h: New file.
10535 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10536
32107ec0
VS
105372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * util/grub-install.in: Load efivars unconditionally.
10540
e70a2c50
VS
105412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * po/Rules-piglatin: Change suffix from .po-update-en to
10544 .po-update-en-piglatin.
10545
8f9cace1
VS
105462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Add a pig farm.
10549
10550 * po/piglatin.sed: New file.
10551 * po/en@piglatin.header: Likewise.
10552 * po/Rules-piglatin: Likewise.
10553 * po/README: Add en@piglatin to autogenerated languages.
10554
8f95d002
VS
105552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10558 "Command for ...".
10559 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10560 "Check" since we don't check anything.
10561 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10562 is 64-bit one.
10563 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10564 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10565 (grub_md_sha512_real): Likewise.
10566
805a8dcc
VS
105672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/commands/gptsync.c: Fix typographic quoting.
10570 * grub-core/commands/ieee1275/suspend.c: Likewise.
10571 * grub-core/commands/parttool.c: Likewise.
10572 * grub-core/commands/search_wrap.c: Likewise.
10573 * grub-core/commands/videoinfo.c: Likewise.
10574 * grub-core/gfxmenu/gui_label.c: Likewise.
10575 * grub-core/hello/hello.c: Likewise.
10576 * grub-core/kern/emu/main.c: Likewise.
10577 * grub-core/net/net.c: Likewise.
10578 * grub-core/normal/menu.c: Likewise.
10579 * grub-core/normal/menu_text.c: Likewise.
10580 * grub-core/normal/misc.c: Likewise.
10581 * util/grub-editenv.c: Likewise.
10582 * util/grub-install.in: Likewise.
10583 * util/grub-kbdcomp.in: Likewise.
10584 * util/grub-mkconfig.in: Likewise.
10585 * util/grub-mknetdir.in: Likewise.
10586 * util/grub-mkrescue.in: Likewise.
10587 * util/grub-mkstandalone.in: Likewise.
10588 * util/grub-reboot.in: Likewise.
10589 * util/grub-set-default.in: Likewise.
10590 * util/grub-setup.c: Likewise.
10591 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10592
40211ab8
VS
105932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10596 * grub-core/commands/keystatus.c: Likewise.
10597 * grub-core/commands/loadenv.c: Likewise.
10598 * grub-core/commands/probe.c: Likewise.
10599 * grub-core/commands/regexp.c: Likewise.
10600 * grub-core/commands/true.c: Likewise.
10601 * grub-core/commands/videoinfo.c: Likewise.
10602 * grub-core/disk/cryptodisk.c: Likewise.
10603 * grub-core/disk/ldm.c: Likewise.
10604 * grub-core/disk/loopback.c: Likewise.
10605 * grub-core/disk/luks.c: Likewise.
10606 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10607 * grub-core/kern/disk.c: Likewise.
10608 * grub-core/kern/emu/hostdisk.c: Likewise.
10609
0c7d99c7
VS
106102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10613 * util/grub-install.in: Add missing quote in the comment.
10614
e7d2559b
VS
106152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10618 * grub-core/commands/lsmmap.c: Likewise.
10619 * grub-core/commands/minicmd.c: Likewise.
10620 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10621 * grub-core/commands/regexp.c: Likewise.
10622 * grub-core/gdb/gdb.c: Likewise.
10623 * grub-core/term/gfxterm.c: Likewise.
10624 * util/grub-mkconfig.in: Likewise.
10625 * util/grub-mkfont.c: Likewise.
10626 * util/grub-mklayout.c: Likewise.
10627 * util/grub-mknetdir.in: Likewise.
10628 * util/grub-mkrescue.in: Likewise.
10629 * util/grub.d/30_os-prober.in: Likewise.
10630
49ce9e50
VS
106312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10634 with "Direct color" and "Packed" with "Packed pixel".
10635 (grub_cmd_videoinfo): Simplify legend.
10636
e4b791fa
VS
106372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10640 absolutely unclear error message.
10641
fd1265cb
VS
106422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * util/grub-mkstandalone.in: Remove confusing leftover print.
10645
8822a8a0
VS
106462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10649 comments.
10650 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10651 (GRUB_MOD_INIT): Likewise.
10652 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10653 VGA mode.
10654 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10655 comments.
10656 * util/grub-install.in (usage): Likewise.
10657 Spell ID in whole letters.
10658 Add missing ending dot.
10659 Quote variables.
10660 * util/grub-reboot.in: Fix capitalisation.
10661 * util/grub-set-default.in: Likewise.
10662
937fd0cc
VS
106632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10666 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10667 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10668 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10669 Disable -Werror for -Wdeprecated-declarations.
10670 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10671 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10672 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10673 (grub_util_get_grub_dev): Make luks handling dependent on
10674 HAVE_DEVICE_MAPPER and not __linux__.
10675 (get_win32_path): Fix format security.
10676 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10677 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10678 Don't try grub_find_zpool_from_dir.
10679 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10680 #ifdef-out paresdir.
10681
1bab1ae3
VS
106822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * util/grub-pe2elf.c (usage): Add missing noreturn.
10685 (write_section_data): Rename name to shname to avoid shadowing.
10686 (write_symbol_table): Rename name to symname to avoid shadowing.
10687 Fix write_reloc_section call.
10688
ef023e42
VS
106892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10692 to ensure that it's after the last byte of .text.
10693
48afcb75
VS
106942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * util/ieee1275/ofpath.c (my_isdigit): New function.
10697 (trailing_digits): Use my_isdigit.
10698 (strip_trailing_digits): Likewise.
10699
88d51eff
VS
107002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10703 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10704
17edc2ba
VS
107052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/kern/i386/pc/startup.S: Define __start.
10708
ad5518d7
VS
107092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10712 strip already transforms he format.
10713
9e95e1bf
VS
107142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10717
9cc3ee5c
VS
107182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * util/grub-install.in: Add missing gettext init.
10721 * util/grub-kbdcomp.in: Likewise.
10722 * util/grub-mkconfig.in: Likewise.
10723 * util/grub-mknetdir.in: Likewise.
10724 * util/grub-mkrescue.in: Likewise.
10725 * util/grub-mkstandalone.in: Likewise.
10726 * util/grub-reboot.in: Likewise.
10727 * util/grub-set-default.in: Likewise.
10728 * util/grub.d/00_header.in: Likewise.
10729 * util/grub.d/10_hurd.in: Likewise.
10730 * util/grub.d/10_windows.in: Likewise.
10731 * util/grub.d/30_os-prober.in: Likewise.
10732 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10733
49e08a06
VS
107342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * po/Rules-swiss: Fix header comment.
10737
3809cb41
AV
107382012-02-29 Andreas Vogel <anvoit>
10739
10740 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10741 resulted in leak of arguments.
10742
fa6ec573
VS
107432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10746 reed_solomon_size const definition instead of computing it since
10747 Apple assembler doesn't support the later.
10748
22899b9c
VS
107492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * gentpl.py (kernel): Rewrite Apple part.
10752
a132afc3
VS
107532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10756
9d742bd4
VS
107572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10760 ELF section gap.
10761 (load_image): Likewise.
10762
f04a9a21
VS
107632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * configure.ac: Fix a typo in previous commit.
10766
46cf439c
VS
107672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Don't add -Wl,-N on Apple platform.
10770
10771 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10772 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10773
c4c48c54
VS
107742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/Makefile.core.def (lzma_decompress): Use
10777 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10778
31a12124
VS
107792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/genmod.sh.in: Rewrite the Apple part.
10782
4f3aa1af
VS
107832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10786 comparison.
10787
7bd8b0c7
VS
107882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * acinclude.m4 (grub_CHECK_PIC): New test.
10791 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10792
97304d7c
VS
107932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10796 to avoid the warning.
10797
fb883812
VS
107982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10801 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10802 after. All users updated.
10803
a121c964
VS
108042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 Use the common size routine in hostfs so we can read disks as well.
10807
10808 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10809 (grub_util_get_fd_size): ... this. Return size in bytes.
10810 All users updated.
10811 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10812 grub_util_get_fd_size.
10813
c66d6410
VS
108142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10817 Add blocksize retrieval.
10818
dfc8aeb0
VS
108192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * configure.ac: Restore CFLAGS after efiemu check.
10822
403e25a5
VS
108232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10826 Apple bug.
10827
382775d1
VS
108282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10831
6fd4e6e4
VS
108322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10835 (grub_cmd_halt): Likewise.
10836
bea359d6
VS
108372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10840 for local arithmetics.
10841 Break %sp init into 2 instructions.
10842 Add 0 byte at the end.
10843
32eb6ee1
VS
108442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10847 before loops.
10848
e8377389
VS
108492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10852 for context.
10853
8cb17de7
VS
108542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/disk/ldm.c (make_vg): Init part.name.
10857 (grub_ldm_detect): Silence spurious warning.
10858 (grub_util_is_ldm): Likewise.
10859
595717e6
VS
108602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10863 sane value to avoid a spurious warning.
10864
c4b7e588
VS
108652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10868 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10869
59824957
VS
108702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10873 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10874
70115b99
VS
108752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10878 hardcoding the relevant info.
10879
56733740
VS
108802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10883 missing const qualifiers.
10884 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10885
43481481
VS
108862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * util/getroot.c [__APPLE__]: Add missing includes.
10889 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10890
3cb38f01
VS
108912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10894
d9dbf11e
VS
108952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10898 avoid conflicts.
10899
0c42a45d
VS
109002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10903
46c34eb0
VS
109042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10907 and grub_file_close call.
10908
99ce1597
VS
109092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 Add LZSS Mach-O support (needed for new xnu kernelcache).
10912
10913 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10914 * grub-core/loader/lzss.c: New file.
10915 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10916 on Mach-O open failure.
10917 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10918 Don't free cmdsXX in uncompressedXX is set.
10919 (grub_macho_file): Init new fields.
10920 New argument is_64bit. All users updated.
10921 Handle compressed. Error out if no suitable architecture is found.
10922 Don't close file.
10923 (grub_macho_open): New argument is_64bit. All users updated.
10924 * grub-core/loader/macho32.c: Add defines for new fields.
10925 * grub-core/loader/macho64.c: Likewise.
10926 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10927 (grub_macho_parse): Handle compressed.
10928 Defer actual processing if compressed.
10929 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10930 "filename". All users updated.
10931 (grub_macho_size): New argument "filename". All users updated.
10932 (grub_macho_get_entry_point): Likewise.
10933 (grub_macho_load): Handle compressed.
10934 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10935 (GRUB_MACHO_LZSS_OFFSET): New define.
10936 (grub_decompress_lzss): New proto.
10937 * include/grub/machoload.h (grub_macho_file): New fields to handle
10938 compressed.
10939 (grub_macho_contains_macho64): Remove proto.
10940 (grub_macho_contains_macho32): Likewise.
10941 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10942
ebd17d6f
VS
109432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10946
2702b4e4
VS
109472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 Fix make dist.
10950
10951 * Makefile.am (starfield_theme_files): New var.
10952 (starfield_DATA): Use starfield_theme_files.
10953 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10954 Add bootcheck-related files.
10955 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10956 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10957 and font_char_metrics.txt.
10958 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10959 (setjmp): Add lib/ia64/longjmp.S.
10960 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10961 * po/POTFILES.in: Regenerate.
10962 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10963 DISTFILES.common.extra1.
10964 * util/devicemap.c: Removed.
10965 * grub-core/lib/i386/relocator_backward.S: Likewise.
10966 * util/import_gcry.py: Remove unused files. Add extra_dist for
10967 ChangeLog.
10968
cf1adfdf
VS
109692012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10972 grub_gettext_delete_list before changing grub_gettext_max to avoid
10973 running out of array bounds.
10974
109752012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10976
10977 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10978 grub_vga_text_init/grub_vga_text_fini.
10979
cf1adfdf 109802012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10981
10982 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10983
541d92e9
VS
109842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * configure.ac: Bump to 2.00~beta0.
10987
7931dddf
VS
109882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10991 missing initialisation.
10992
f1b16fa3
VS
109932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10996
83ddae23
VS
109972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 Support v2 xnu boot arguments.
11000
11001 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11002 New argument fsbfreq_out.
11003 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11004 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11005 be used.
11006 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11007 darwin_version.
11008 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11009 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11010 (grub_xnu_boot_params): Rename to ...
11011 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11012 (grub_xnu_boot_params_v2): New struct.
11013
dc693fe6
VS
110142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11017 zeroing of CRC field before computing CRC.
11018
5a6e39c2
VS
110192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11022 Change order of allocations to decrease fragmentation.
11023
6c21f5d7
VS
110242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11027
cfe456dc
CW
110282012-02-27 Colin Watson <cjwatson@ubuntu.com>
11029
11030 Use write-combining MTRR to speed up video with buggy BIOSes.
11031
11032 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11033 (cpuid): New define.
11034 (rdmsr): Likewise.
11035 (wrmsr): Likewise.
11036 (mtrr_base): Likewise.
11037 (mtrr_mask): Likewise.
11038 (grub_vbe_enable_mtrr_entry): New function.
11039 (grub_vbe_enable_mtrr): Likewise.
11040 (grub_vbe_disable_mtrr): Likewise.
11041 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11042 control off to BIOS.
11043 (grub_video_vbe_init): Fill mtrr.
11044 (grub_video_vbe_fini): Disable mtrr.
11045 (grub_video_vbe_get_info_and_fini): Likewise.
11046 (grub_video_vbe_setup): Enable mtrr.
11047
e3c78337
CW
110482012-02-27 Colin Watson <cjwatson@ubuntu.com>
11049
11050 * include/grub/partition.h (grub_partition_map): Change prototype of
11051 embed to take a maximum value for nsectors.
11052 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11053 * include/grub/fs.h (grub_fs): Likewise.
11054 * grub-core/partmap/msdos.c (embed_signatures): New array.
11055 (pc_partition_map_embed): Check for and avoid sectors matching any
11056 of the signatures in embed_signatures, up to max_nsectors.
11057 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11058 returned sector map to max_nsectors.
11059 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11060 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11061 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11062 * util/grub-setup.c (setup): Allow for the embedding area being
11063 split into multiple blocklists. Tell dest_partmap->embed the
11064 maximum number of sectors we care about.
11065
110662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11069 Specify blocklist_install and reserver_first_sector for all fs.
11070 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11071 blocklists.
11072
984b973f
VS
110732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * util/grub-install.in: Clarify strings.
11076 Fix source dir check.
11077
f122e0d6
RL
110782012-02-27 Richard Laager <rlaager@wiktel.com>
11079
11080 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11081 "zfs" and "fuse.zfs" as synonyms.
11082
071114bb
VS
110832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * configure.ac: Put platform and target_cpu substitutions back since
11086 they are used for directories.
11087
817e6abc
RL
110882012-02-27 Richard Laager <rlaager@wiktel.com>
110892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11092 * util/grub.d/20_linux_xen.in: Likewise.
11093
897b7419
RL
110942012-02-27 Richard Laager <rlaager@wiktel.com>
11095
11096 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11097 with full paths.
11098
a414bd15
RL
110992012-02-27 Richard Laager <rlaager@wiktel.com>
11100
11101 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11102 unescape.
11103
30ac48c4
VS
111042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 Don't use insecure popen in getroot.
11107
11108 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11109 (exec_pipe): ... here.
11110 (find_root_devices_from_poolname): Use exec_pipe.
11111
53f13848
VS
111122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 Remove platform and target_cpu replacement.
11115
11116 * configure.ac: Remove platform and target_cpu substitutions.
11117 * tests/util/grub-shell.in: Use modinfo.
11118 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11119 explicitly.
11120
90cb2803
VS
111212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Autodetect platform in grub-install but allow override.
11124
11125 * util/grub-install.in: Autodetect platform. Support --target and
11126 --directory. Read platform from modinfo.sh.
11127
b9136427
VS
111282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 Support btrfs multi-volume probe.
11131
11132 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11133 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11134 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11135 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11136 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11137 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11138 grub_find_root_devices_from_btrfs if on btrfs.
11139
c36e5cd1
VS
111402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 Remove any awareness of *.c util files about target.
11143
11144 * Makefile.util.def (grub-setup): Split to ...
11145 (grub-bios-setup): ... and this.
11146 (grub-sparc64-setup): ... and this.
11147 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11148 * docs/man/grub-setup.h2m: Split into ...
11149 * docs/man/grub-sparc64-setup.h2m: ... this.
11150 * docs/man/grub-bios-setup.h2m: ... and this.
11151 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11152 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11153 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11154 (grub_target_addr_t): Remove.
11155 (grub_target_size_t): Remove.
11156 (grub_target_ssize_t): Remove.
11157 * util/grub-install.in: Use new grub-*-setup.
11158 * util/grub-mkimagexx.c (Elf_Word): New define.
11159 (Elf_Half): Likewise.
11160 (Elf_Section): Likewise.
11161 (ELF_ST_TYPE): Likewise.
11162 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11163 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11164
584b2f8a
VS
111652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 Replace grub_target_addr with more appropriate types.
11168
11169 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11170 grub_target_addr with grub_addr.
11171 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11172 grub_target_addr with grub_port.
11173 (grub_cmd_write): Likewise.
11174 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11175 grub_target_addr with grub_addr.
11176 (grub_cmd_write): Likewise.
11177 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11178
5a0dc6fb
VS
111792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11182 const qualifier for vendor_guid.
11183
786aff6e
VS
111842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11187 const qualifier.
11188 (efiemu_memequal): Likewise.
11189 (find_variable): Likewise.
11190
49017b17
VS
111912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 Fix missing console prototype on qemu-mips.
11194
11195 * include/grub/mips/qemu_mips/console.h: New file.
11196
c5988629
MG
111972012-02-27 Matthew Garrett <mjg@redhat.com>
111982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11201 * include/grub/efi/efi.h: Likewise.
11202 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11203 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11204 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11205 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11206 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11207 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11208
e33f8d69
MG
112092012-02-27 Matthew Garrett <mjg@redhat.com>
11210
11211 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11212
fb312cd9
VS
112132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11216 error.
11217
7134247c
VS
112182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * configure.ac: Remove inappropriate use of program_transform_name
11221 on grubdir and bootdir but allow explicit specification of those
11222 variables.
11223
6a313124
VS
112242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * util/grub-mknetdir.in (grub_prefix): Removed.
11227 (subdir): Use @bootdirname@ and @grubdirname@.
11228
2311c5ca
VS
112292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11232
7d5d60f7
VS
112332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * po/POTFILES.in: Regenerated.
11236
8151bc82
VS
112372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 Remove improper use of program_transform_name on pkglibrootdir.
11240
11241 * configure.ac (pkglibrootdir): Removed.
11242 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11243 * util/grub-mkimage.c: Likewise.
11244
b4a6a533
VS
112452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11248 warning.
11249
668f304f
VS
112502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * util/grub-install.in: Use file identifier if no UUID is available
11253 or user explicitly prompted for it.
11254
665f2341
NP
112552012-02-27 Navdeep Parhar <nparhar@gmail.com>
11256
11257 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11258 (freebsd_get_zfs): New function.
11259 (grub_freebsd_boot): Pass zfs UUID.
11260 (grub_cmd_freebsd): Set zfs UUID.
11261
8151bc82 112622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11263
11264 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11265 pkglibrootdir.
11266
e4c498a1
MG
112672012-02-27 Mike Gilbert <floppym@gentoo.org>
11268
11269 Add configure flag to control libzfs integration.
11270
11271 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11272
1e9a9a3f
VS
112732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11276 device.
11277 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11278 small devices.
11279
036985b8
VS
112802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11283 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11284 be used on non-modules.
11285
11286 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11287 Rename to grub_boot_init.
11288 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11289 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11290 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11291 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11292 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11293 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11294 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11295 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11296 includes.
11297 (grub_machine_init): Remove empty inits.
11298 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11299 includes.
11300 (grub_machine_init): Remove empty inits.
11301 * grub-core/term/arc/console.c: Remove explicit proto.
11302 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11303 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11304 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11305 grub_at_keyboard_fini.
11306 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11307 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11308 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11309 grub_gfxterm_fini.
11310 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11311 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11312 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11313 grub_vgatext_fini.
11314 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11315 * grub-core/term/serial.c (GRUB_MOD_INIT)
11316 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11317 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11318 grub_serial_fini.
11319 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11320 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11321 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11322 grub_terminfo_fini.
11323 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11324 (GRUB_MOD_FINI): Likewise.
11325 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11326 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11327 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11328 grub_video_radeon_fuloong2e_fini.
11329 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11330 [LOONGSON]: Rename to grub_video_sis315pro_init.
11331 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11332 grub_video_sis315pro_fini.
11333 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11334 [LOONGSON]: Rename to grub_video_sm712_init.
11335 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11336 grub_video_sm712_fini.
11337 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11338 (grub_at_keyboard_fini): Likewise.
11339 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11340 Don't declare grub_{modname}_init.
11341 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11342 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11343 New proto.
11344 (grub_keylayouts_fini) [!EMU]: Likewise.
11345 * include/grub/serial.h (grub_serial_init) [!EMU]:
11346 New proto.
11347 (grub_serial_fini) [!EMU]: Likewise.
11348 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11349 New proto.
11350 (grub_terminfo_fini) [!EMU]: Likewise.
11351 * include/grub/video.h (grub_font_init) [!EMU]:
11352 New proto.
11353 (grub_font_fini) [!EMU]: Likewise.
11354 (grub_gfxterm_init) [!EMU]: Likewise.
11355 (grub_gfxterm_fini) [!EMU]: Likewise.
11356 (grub_video_sm712_init) [!EMU]: Likewise.
11357 (grub_video_sm712_fini) [!EMU]: Likewise.
11358 (grub_video_sis315pro_init) [!EMU]: Likewise.
11359 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11360 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11361 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11362
d5534665
VS
113632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 Make nand a prefix for nand devices.
11366
11367 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11368
10133b5f
VS
113692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11372 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11373
8e307a62
VS
113742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * include/grub/env.h (grub_env_find): Remove prototype.
11377 * grub-core/kern/env.c (grub_env_find): Make static.
11378 (grub_env_set): Remove useless set.
11379
a4c65f34
VS
113802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/kern/i386/realmode.S: Remove useless align.
11383
d87893d5
VS
113842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * include/grub/dl.h (grub_dl_load_file): Don't export.
11387
50159add
VS
113882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11391 grub_dprintf.
11392
b2582b84
VS
113932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11396 grub_errors.
11397 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11398 not reloading whole superblock but only the part which is really needed.
11399 Remove useless grub_errors.
11400 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11401 grub_errors.
11402
e2a83395
VS
114032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 Don't export grub_get_rtc.
11406
11407 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11408 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11409
e7d2a906
VS
114102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11413
6cf1363b
VS
114142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11417 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11418
eece3349
VS
114192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 Remove prio_list.
11422
11423 * include/grub/list.h (grub_prio_list): Removed.
11424 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11425 GRUB_COMMAND_PRIO_MASK.
11426 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11427 GRUB_COMMAND_FLAG_ACTIVE.
11428 (grub_prio_list_insert): Removed.
11429 (grub_prio_list_remove): Likewise.
11430 (GRUB_AS_PRIO_LIST): Likewise.
11431 (GRUB_AS_PRIO_LIST_P): Likewise.
11432 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11433 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11434 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11435 * grub-core/kern/command.c (grub_register_command_prio): Inline
11436 the prio_list code.
11437 (grub_unregister_command): Likewise.
11438
94f064b4
VS
114392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Fix interrupt mixup from previous commit.
11442
11443 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11444 (grub_realidt): New var.
11445 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11446 Load idt.
11447 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11448 New declaration.
11449 (grub_relocator16_boot): Set grub_relocator16_idt.
11450 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11451 (LOCAL(realidt)): ... this.
11452 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11453 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11454 (grub_realidt): New variable.
11455
27317084
VS
114562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11459 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11460 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11461 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11462 Gettextize.
11463 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11464 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11465 * po/POTFILES.in: Regenerate.
11466
47b40053
VS
114672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11470 errors.
11471
2b343101
VS
114722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11475 \0.
11476 (add_length): Likewise.
11477
ff27c3dd
LK
114782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
114792012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11480
11481 GDB serial and backtrace support.
11482
11483 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11484 (prot_to_real): Likewise.
11485 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11486 * grub-core/Makefile.core.def (backtrace): New module.
11487 (gdb): Likewise.
11488 * grub-core/gdb/cstub.c: New file.
11489 * grub-core/gdb/gdb.c: Likewise.
11490 * grub-core/gdb/i386/idt.c: Likewise.
11491 * grub-core/gdb/i386/machdep.S: Likewise.
11492 * grub-core/gdb/i386/signal.c: Likewise.
11493 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11494 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11495 * include/grub/backtrace.h: Likewise.
11496 * include/grub/gdb.h: Likewise.
11497 * include/grub/i386/gdb.h: Likewise.
11498
114992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11500
11501 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11502 New function.
11503 (add_length): Likewise.
11504 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11505 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11506 proto.
11507 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11508 __argp_get_display_len.
11509
ff27c3dd 115102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11511
11512 $"..." support in scripts.
11513
11514 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11515 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11516 * grub-core/script/yylex.l: Likewise.
11517 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11518 value.
11519
ff27c3dd 115202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11521
11522 * gentpl.py: Remove obsolete pkglib_DATA handling.
11523
ff27c3dd 115242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11525
11526 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11527 mailing list.
11528
11529 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11530 * util/grub-kbdcomp.in: Likewise.
11531 * util/grub-mkconfig.in: Likewise.
11532 * util/grub-mkconfig_lib.in: Likewise.
11533 * util/grub-mknetdir.in: Likewise.
11534 * util/grub-mkrescue.in: Likewise.
11535 * util/grub-mkstandalone.in: Likewise.
11536 * util/grub-reboot.in: Likewise.
11537 * util/grub-set-default.in: Likewise.
11538 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11539
ff27c3dd 115402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11541
11542 Remove GRUB_PREFIX.
11543
11544 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11545 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11546 used for backward compatibility.
11547
ff27c3dd 115482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11549
11550 Add new all_video module.
11551
11552 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11553 * grub-core/Makefile.core.def (all_video): New module.
11554 * grub-core/genmoddep.awk: Generate dependency of all_video from
11555 video.lst.
11556 * grub-core/lib/fake_module.c: New file.
11557 * grub-core/normal/main.c (features): Add feature_all_video_module.
11558 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11559 don't do explicit search again.
47454da5 11560 insmod all_video in load_video if available.
22c7ce85 11561
ff27c3dd 115622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11563
11564 Another round of string clarification and adding TRANSLATORS comments.
11565
ff27c3dd 115662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11567
11568 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11569
ff27c3dd 115702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11571
11572 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11573 to grub_ssize_t.
11574 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11575 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11576
ff27c3dd 115772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11578
11579 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11580 trailing newline implicitly. All users updated.
11581
ff27c3dd 115822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11583
11584 Implement serial on IEEE1275 and EFI.
11585
11586 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11587 on emu. Mention arc and emu as the only platforms without serial
11588 support.
11589 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11590 ieee1275 platforms.
11591 * grub-core/term/efi/serial.c: New file.
11592 * grub-core/term/ieee1275/serial.c: Likewise.
11593 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11594 specification if no ns8250 driver is available.
11595 (grub_cmd_serial): Likewise.
11596 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11597 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11598 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11599 (grub_efi_parity_type_t): New type.
11600 (grub_efi_stop_bits_t): Likewise.
11601 (grub_efi_serial_io_interface): New struct.
11602 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11603 available for all interfaces.
11604 Add EFI and IEEE1275 fields.
11605 (grub_ofserial_init): New proto.
11606 (grub_efiserial_init): Likeiwse.
11607 * util/grub.d/00_header.in: Don't check for the presence of serial
11608 module.
11609
ff27c3dd 116102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11611
11612 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11613 name as if it was an alias.
11614
114076ef
VS
116152012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * grub-core/commands/lsacpi.c (options): Fix typo.
11618
6a656b0e
VS
116192012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Convert grub-emu to argp.
11622
11623 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11624 emu.
11625 * util/argp_common.c: Rename to ...
11626 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11627 Add missing includes.
11628 * grub-core/kern/emu/main.c: Convert to argp.
11629 * po/POTFILES.in: Regenerate.
11630 * util/grub-install.in (usage): Make first letter lowcase in messages
11631 for uniformity.
11632 * util/grub-setup.c (options): Likewise.
11633
1e3f8ae8
VS
116342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11637 Put back accidently commented-out code.
11638
ed167a80
VS
116392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11642 loop check using Brent algorithm.
11643 (grub_hfsplus_btree_search): Likewise.
11644
6753c0ec
VS
116452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * util/grub-install.in: Fix usage of wrong device for PreP install.
11648
4e27343f
VS
116492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * conf/Makefile.common (CFLAGS_GNULIB): Add
11652 -Wno-unsafe-loop-optimizations.
11653 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11654 on tools.
11655 * grub-core/commands/legacycfg.c: Add pragma to skip
11656 -Wunsafe-loop-optimizations.
11657 (check_password_md5_real): Fix loop counter type.
11658 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11659 reading.
11660 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11661 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11662 loop condition.
11663 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11664 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11665 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11666 condition.
11667 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11668 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11669 avoid possible infinite loops.
11670 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11671 and -Wunsafe-loop-optimizations.
11672 * grub-core/script/yylex.l: Likewise.
11673 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11674 (print_glyphs): Avoid infinite loops.
11675 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11676
697f18b0
GS
116772012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11678
11679 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11680 to avoid infinite loop.
11681 (disp_acpi_rsdt_table): Likewise.
11682
274416e8
VS
116832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/font/font.c (grub_font_load): Add support for default
11686 path for fonts ($prefix/fonts).
11687 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11688 for checking if string is a path.
11689 * grub-core/normal/main.c (features): Add feature_default_font_path.
11690 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11691 * util/grub.d/00_header.in: Use default directory if possible.
11692 * util/grub-install.in: Install unicode.pf2.
11693
b3e08622
VS
116942012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11697 * po/Rules-swiss: New file.
11698 * po/swiss.sed: Likewise.
11699
fe42ce09
VS
117002012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/fs/btrfs.c (find_device): Fix typos.
11703 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11704 * util/grub-mkrelpath.c (argp_parser): Likewise.
11705 Reported by: Yuri Chornoivan.
11706
72f1d065
DO
117072012-02-23 Dalet Omega <daletomega@gmail.com>
11708
11709 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11710 for usual informative messages.
11711
c5884973
DO
117122012-02-23 Dalet Omega <daletomega@gmail.com>
11713
11714 Starfield theme.
11715
11716 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11717 * conf/Makefile.common: Define starfielddir.
11718 * configure.ac: Configure starfield.
11719 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11720 * themes/starfield/README: Likewise.
11721 * themes/starfield/blob_w.png: Likewise.
11722 * themes/starfield/boot_menu_c.png: Likewise.
11723 * themes/starfield/boot_menu_e.png: Likewise.
11724 * themes/starfield/boot_menu_n.png: Likewise.
11725 * themes/starfield/boot_menu_ne.png: Likewise.
11726 * themes/starfield/boot_menu_nw.png: Likewise.
11727 * themes/starfield/boot_menu_s.png: Likewise.
11728 * themes/starfield/boot_menu_se.png: Likewise.
11729 * themes/starfield/boot_menu_sw.png: Likewise.
11730 * themes/starfield/boot_menu_w.png: Likewise.
11731 * themes/starfield/slider_c.png: Likewise.
11732 * themes/starfield/slider_n.png: Likewise.
11733 * themes/starfield/slider_s.png: Likewise.
11734 * themes/starfield/src/blob_nw.xcf: Likewise.
11735 * themes/starfield/src/bootmenu/: Likewise.
11736 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11737 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11738 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11739 * themes/starfield/src/slider_c.xcf: Likewise.
11740 * themes/starfield/src/slider_n.xcf: Likewise.
11741 * themes/starfield/src/slider_s.xcf: Likewise.
11742 * themes/starfield/src/terminalbox/: Likewise.
11743 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11744 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11745 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11746 * themes/starfield/starfield.png: Likewise.
11747 * themes/starfield/terminal_box_c.png: Likewise.
11748 * themes/starfield/terminal_box_e.png: Likewise.
11749 * themes/starfield/terminal_box_n.png: Likewise.
11750 * themes/starfield/terminal_box_ne.png: Likewise.
11751 * themes/starfield/terminal_box_nw.png: Likewise.
11752 * themes/starfield/terminal_box_s.png: Likewise.
11753 * themes/starfield/terminal_box_se.png: Likewise.
11754 * themes/starfield/terminal_box_sw.png: Likewise.
11755 * themes/starfield/terminal_box_w.png: Likewise.
11756 * themes/starfield/theme.txt: Likewise.
11757
17d73325
VS
117582012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * util/grub.d/00_header.in: Add missing export theme.
11761
dbebaf92
VS
117622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11765 already included.
11766 Reported by: Eren D.
11767
3d68bffb
VS
117682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * conf/Makefile.common (grubdatadir): Removed.
11771 (Makefile.am): Move eveything grubdata to pkgdata.
11772
4b59234d
VS
117732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * grub-core/commands/acpihalt.c (get_sleep_type):
11776 Remove unused variable.
11777
463dcadc
VS
117782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11781 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11782 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11783 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11784 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11785 i18n with gettext no-op.
11786 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11787 GRUB_ACPI_OPCODE_STRING_CONST.
11788 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11789 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11790
e5b90c82
VS
117912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * po/POTFILES.in: Regenerate.
11794
2a704ca9
VS
117952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11798 -Wno-error=missing-noreturn.
11799
84f9d341
VS
118002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11803 condition to avoid possibly infinite loops.
11804 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11805 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11806
d46683f9
VS
118072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11810 condition to avoid possibly infinite loops.
11811
c44866b2
VS
118122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11815 on show_error.
11816
96790539
VS
118172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11820
1ba7e295
VS
118212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11824
21ffe8f1
VS
118252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * util/bin2h.c (usage): Add missing attribute noreturn.
11828
0ccb6b3c
VS
118292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11832 if the size isn't divisible by 512.
11833
b00d7fb6
VS
118342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 Make list_push and list_remove functions rather than inline functions
11837 to decrease size and avoid aliasing violations.
11838
11839 * include/grub/list.h (grub_list_push): Move to ...
11840 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11841 * include/grub/list.h (grub_list_remove): Move to ...
11842 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11843
9d369087
VS
118442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11847 and -Wunused-result.
11848
af0250d9
VS
118492012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11852 Reported by: Seth Goldberg
11853
aad32b14
VS
118542012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11857
ac96441c
ST
118582012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11859
11860 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11861 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11862 command line.
11863 * docs/grub.texi (Simple configuration): Document
11864 GRUB_CMDLINE_GNUMACH.
11865
118662012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11867
11868 * conf/Makefile.common (platform_SCRIPTS): New variable.
11869 (platform_PROGRAMS): Likewise.
11870 * gentpl.py: Mark *,module and *.image for install.
11871 * grub-core/gdb_grub.in: Add a notice of expected environment.
11872 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11873 (gmodule.pl): Likewise.
11874
ac96441c 118752012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11876
11877 Replace grub_checkkey with grub_getkey_noblock.
11878
11879 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11880 (grub_getkey_noblock): ... this. All users updated.
11881
ac96441c 118822012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11883
11884 * grub-core/kern/emu/console.c: Move to ...
11885 * grub-core/term/emu/console.c: ...here.
11886 (grub_ncurses_getkey): Fix return value if no key is detected.
11887
e51b5666
VS
118882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11891 (grub_unit_test_fini): Likewise.
11892 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11893
118942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * include/grub/test.h (GRUB_UNIT_TEST)
11897
d9a62292
VS
118982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11901 Better error handling.
11902 (grub_script_return): Likewise.
11903 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11904
77c9182f
VS
119052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11908 rimplicit redifinition.
11909
edb13cf9
VS
119102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11913 GRUB.
11914
a9e9dc7c
VS
119152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11918 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11919 prompt here.
11920
b4ba8e02
VS
119212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11924 as GRUB_ERR_BUG. Don't malloc if no device is available.
11925
dded5540
VS
119262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11929 Mark calling with invalid term as GRUB_ERR_BUG.
11930
0cf69874
VS
119312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11934 packets rather than raising an error.
11935
59bfe502
VS
119362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11939 in if.
11940
db5fc596
VS
119412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11944 diagnostic to dprintf.
11945 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11946
e4b7f404
VS
119472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11950 device name.
11951
e7b02f9e
VS
119522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11955 (grub_ntfs_iterate_dir): Likewise.
11956
0331e102
VS
119572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 Efiemu stylistic fixes and gettext.
11960
11961 * grub-core/efiemu/i386/loadcore32.c
11962 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11963 * grub-core/efiemu/i386/loadcore64.c
11964 (grub_arch_efiemu_relocate_symbols64): Likewise.
11965 * grub-core/efiemu/i386/pc/cfgtables.c
11966 (grub_machine_efiemu_init_tables): Likewise.
11967 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11968 (grub_efiemu_loadcore_initXX): Add a filename argument.
11969 All users updated.
11970 Improved error message.
11971 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11972 Add a filename argument.
11973 All users updated.
11974 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11975 Reclassify double relocation as GRUB_ERR_BUG.
11976
306fc074
VS
119772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11980 handling.
11981
794d8ef2
VS
119822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11985 on partition.
11986
119872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11988
11989 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11990
794d8ef2 119912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11992
11993 Improve string. Gettextize.
11994
78dde88e
VS
119952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11998 utils.
11999 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12000
4786a90f
VS
120012012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12004 [GRUB_UTIL]: New function.
12005 (insert_array) [GRUB_UTIL]: Store partmaps.
12006 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12007 partmaps.
12008 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12009 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12010 (probe_abstraction): Print diskfilter and not raid.
12011 Reported by: Lennart Sorensen
12012
0b6225bd
VS
120132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12016 * util/grub-mkimagexx.c (MASK3): New define.
12017 (add_value_to_slot_20b): Use MASK3.
12018 (add_value_to_slot_21): Likewise.
12019 (relocate_addresses): Fix format specification.
12020 (load_image): Explicitly init symtab_section.
12021
b055f8f6
VS
120222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12025 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12026
b77c2fb7
VS
120272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12030 on powerpc.
12031 Reported by: Lennart Sorensen
12032
e3ec28ab
VS
120332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * gentpl.py: Add missing license header.
12036 * docs/grub.texi: Update copyright year.
12037
c8d9ead6
GS
120382012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12039
12040 Source grub-mkconfig_lib from the build directory at build time.
12041 Suggested by: Vladimir Serbinenko.
12042
12043 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12044 * util/grub-install.in: Define pkgdatadir if not already set, and source
12045 grub-mkconfig_lib from there.
12046 * util/grub-kbdcomp.in: Likewise.
12047 * util/grub-mkconfig.in: Likewise.
12048 * util/grub-mknetdir.in: Likewise.
12049 * util/grub-mkrescue.in: Likewise.
12050 * util/grub-mkstandalone.in: Likewise.
12051 * util/grub-reboot.in: Likewise.
12052 * util/grub-set-default.in: Likewise.
12053 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12054
ebcecdf1
VS
120552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 Increase warning level.
12058
12059 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12060 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12061 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12062 (TARGET_CFLAGS): Likewise.
12063 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12064 * grub-core/Makefile.core.def (decompressor_xz): Add
12065 -Wno-unreachable-code.
12066 (normal): Add -Wno-redundant-decls.
12067 (xzio): Add -Wno-unreachable-code.
12068 (lzopio): Add -Wno-redundant-decls -Wno-error.
12069 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12070 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12071 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12072 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12073 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12074 * grub-core/kern/i386/coreboot/init.c: Add exception to
12075 -Wsuggest-attribute=noreturn.
12076 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12077 * grub-core/kern/ia64/dl_helper.c: Likewise.
12078 * grub-core/kern/mips/dl.c: Likewise.
12079 * grub-core/kern/sparc64/dl.c: Likewise.
12080 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12081 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12082 (memcmp): Likewise.
12083 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12084 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12085 * grub-core/loader/mips/linux.c: Likewise.
12086 * grub-core/loader/multiboot_elfxx.c: Likewise.
12087 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12088 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12089 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12090 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12091 fixme.
12092 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12093 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12094 Fix prototype.
12095
37bb97fe
VS
120962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12099 address.
12100
29a3550b
VS
121012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12104 Avoid improper use of strings.
12105 (grub_cmd_legacy_initrdnounzip): Likewise.
12106
dfdffd0d
VS
121072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12110 attribute.
12111 (grub_util_info): Likewise.
12112 (grub_util_error): Likewise.
12113
102fae4a
VS
121142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12117 * util/grub-fstest.c (fstest): Likewise.
12118
7e94d044
VS
121192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12122 (grub_md_sha512_real): Likewise.
12123 (grub_util_get_geli_uuid): Likewise.
12124 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12125 (grub_util_biosdisk_open): Fix format specification.
12126 Respect format security.
12127 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12128 (xrealloc): Likewise.
12129 (xasprintf): Likewise.
12130
5ebd9769
VS
121312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * util/import_gcry.py: Include grub/crypto.h in init.c.
12134
495fc8c1
VS
121352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12138 (generate_image): Make prefix a const char *.
12139 Fix format specifications. Respect format security.
12140 Avoid void * arithmetics.
12141 Avoid shadowing.
12142 (argp_parser): Remove unused variable. Respect format security.
12143 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12144 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12145 (count_funcs): Remove unused variable.
12146 (relocate_addresses): Fix format specification.
12147 Disable x86-64 with elf32. Remove unused variables.
12148 (add_fixup_entry): Avoid shadowing.
12149 (make_reloc_section): Fix format specification.
12150 Use assert.
12151 (locate_sections): Fix format specifications.
12152 (load_image): Avoid shadowing.
12153
043c2ea3
VS
121542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12157 Fix format specifications. Respect format security.
12158 Don't translate already translated grub_errmsg.
12159 (argp_parser): Remove unused variable
12160
3ec65a81
VS
121612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12164
a4d9fe4a
VS
121652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12168 (main): Likewise. Use xmalloc. Respect format security.
12169
15b81d49
VS
121702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12173 a const char *.
12174 (argp_parser): Remove unused variable.
12175
31731fc0
VS
121762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12179 (add_pixel): Make static.
12180 (add_font): Likewise.
12181 (write_string_section): Make name and str a const char *.
12182 (write_be16_section): Make name a const char *.
12183 (print_glyphs): Make static.
12184 (write_font_ascii_bitmap): Likewise.
12185 (write_font_width_spec): Likewise.
12186 (write_font_pf2): Likewise.
12187 (argp_parser): Remove unused variable.
12188 Respect format security.
12189 (main): Avoid shadowing. Respect format security.
12190
0809527b
VS
121912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * util/grub-editenv.c (argp_parser): Make static.
12194 (create_envblk_file): Use xmalloc.
12195 (open_envblk_file): Likewise.
12196 Resepect format security.
12197 (set_variables): Respect format security.
12198
45b0c8b7
VS
121992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * util/getroot.c (grub_find_device): Respect format security.
12202 (get_mdadm_uuid): Remove unused variable.
12203 (grub_util_pull_device): Dont call gettext on already translated
12204 grub_errmsg.
12205 (find_system_device): Remove unused variable.
12206 (grub_util_get_grub_dev): Likewise.
12207 (grub_make_system_path_relative_to_its_root): Respect format security.
12208
1b024b4e
VS
122092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * util/grub-fstest.c (execute_command): Make first argument
12212 a const char *.
12213 (read_file): Avoid shadowing.
12214 Reuse underlying error message if device open fails.
12215 (cmd_cmp): Respect format security.
12216 (root): Make const char *.
12217 (fstest): Remove args argument and use global copy.
12218 Respect format security.
12219 (argp_parser): Make static.
12220 (main): Make default_root const char *.
12221
5d1d4e28
VS
122222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * util/grub-mount.c (root): Make const char *.
12225 (execute_command): Make first argument a const char *.
12226 (fuse_init): Respect format security.
12227 (argp_parser): Make static. Remove unused variable.
12228 (main): Make default_root a const char *.
12229 Respect format security.
12230
36eb7379
VS
122312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/grub-probe.c (probe): Don't call gettext on already translated
12234 grub_errmsg.
12235 Remove unused variables.
12236 (argp_parser): Remove unused variable.
12237
76fb2ea9
VS
122382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * util/grub-script-check.c (argp_parser): Remove unused variable.
12241 (main): Rename read to curread to avoid shadowing.
12242
56c98584
VS
122432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * util/misc.c (grub_util_write_image_at): Fix format specification.
12246 (grub_util_write_image): Likewise.
12247 (grub_script_execute_argument_to_string): Removed (unused).
12248 (grub_script_execute_menuentry): Likewise.
12249 (grub_putchar): Likewise.
12250
164ebb48
VS
122512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12254 (FUNCTION) [GRUB_UTIL]: Likewise.
12255 (VARIABLE) [GRUB_UTIL]: Likewise.
12256
44318d61
VS
122572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12260 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12261
31a26002
VS
122622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12265 buffer.
12266
122672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12270 (LzmaEnc_SaveState): Removed (unused).
12271 (LzmaEnc_RestoreState): Likewise.
12272 (LzmaEnc_InitPriceTables): Made static.
12273 (LzmaEnc_Construct): Likewise.
12274 (LzmaEnc_FreeLits): Likewise.
12275 (LzmaEnc_Destruct): Likewise.
12276 (LzmaEnc_Init): Likewise.
12277 (LzmaEnc_InitPrices): Likewise.
12278 (LzmaEnc_Finish): Likewise.
12279 (LzmaEnc_PrepareForLzma2): Removed (unused).
12280 (LzmaEnc_MemPrepare): Likewise.
12281 (LzmaEnc_GetNumAvailableBytes): Likewise.
12282 (LzmaEnc_GetCurBuf): Likewise.
12283 (LzmaEnc_CodeOneMemBlock): Likewise.
12284
6fa67967
VS
122852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12288 (grub_util_ldm_embed): Likewise.
12289
9a7428e6
VS
122902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * util/grub-editenv.c (print_var): Rename name to varname to
12293 avoid shadowing.
12294 (main): Rename index to curindex to avoid shadowing.
31a26002 12295 Make filename a const char *.
9a7428e6 12296
4f96abd1
VS
122972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12300 to arg_getline to avoid shadowing.
12301
44d10dad
VS
123022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12305 disk_ to avoid shadowing.
12306
340ba63e
VS
123072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12310 curindex to avoid shadowing.
12311 Make static.
12312 (MatchFinder_GetNumAvailableBytes): Make static.
12313
22965bce
VS
123142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12317 avoid shadowing.
12318
7b5784d4
VS
123192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12322 argument from encrypt to do_encrypt to avoid shadowing.
12323
6f48ca01
VS
123242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12327 incorrect nesting of #if's.
12328
a4ea2dff
VS
123292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12332 checks which are always false on some platforms.
12333 (grub_cmd_lsacpi): Likewise.
12334 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12335 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12336 Likewise.
12337
def9fc1b
VS
123382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12341 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12342
a67b2a04
VS
123432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12346 re_dfa_t to avoid breaking alignment invariants.
12347 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12348 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12349
44c6828d
VS
123502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12353 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12354
bebe0dd0
VS
123552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12358 Fix declaration.
12359
a9cdb3cf
VS
123602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12363 conserve alignment invariants.
12364 (grub_ehci_ehcc_read16): Likewise.
12365 (grub_ehci_oper_read32): Likewise.
12366 (grub_ehci_oper_write32): Likewise.
12367 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12368 Conserve alignment invariants.
12369
ccc3b1b8
VS
123702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12373 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12374 declarations.
12375
987fbd95
VS
123762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12379 Remove unused variable.
12380
0df363f3
VS
123812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12384 Remove set in if.
12385
b2c0c4a6
VS
123862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * include/grub/net.h: Remove double declarations.
12389
690c531f
VS
123902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 Remove "payload" command in ia64 Linux loader since I couldn't
12393 find any evidence of it being used for anything.
12394 Replace "relocate" command with an environment variable
12395
12396 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12397 fields.
12398 (ia64_boot_payload): Removed.
12399 (last_payload): Likewise.
12400 (RELOCATE_OFF): Likewise.
12401 (RELOCATE_ON): Likewise.
12402 (RELOCATE_FORCE): Likewise.
12403 (relocate): Likewise.
12404 (free_pages): Don't free payloads.
12405 (grub_load_elf64): Use common error messages.
12406 Use "linux_relocate" variable.
12407 Increase the space after boot_params.
12408 (grub_cmd_payload): Removed.
12409 (grub_cmd_relocate): Likewise.
12410 (grub_cmd_fpswa): Improve messages.
12411 (cmd_payload): Removed.
12412 (cmd_relocate): Likewise.
12413 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12414 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12415
01783768
VS
124162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 Convert UHCI to DMA framework.
12419
12420 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12421 (grub_uhci_pci_iter): Fill new members
12422 (grub_alloc_td): Use P2V and V2P functions.
12423 (grub_free_queue): Likewise.
12424 (grub_alloc_qh): Likewise.
12425 (grub_uhci_setup_transfer): Likewise.
12426 (grub_uhci_check_transfer): Likewise.
12427
43206939
VS
124282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12431 Remove assignment in if while on it.
12432
571e140e
VS
124332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * util/grub-mkstandalone.in: Fix modules directory.
12436
a9d96eeb
VS
124372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12440 on i386-pc target.
12441 (argp_parser): Accept "auto" as compression specification.
12442
e4e37e8d
VS
124432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 Fix `help' with unloaded modules.
12446
12447 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12448 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12449 (grub_dyncmd_dispatcher): Small stylistic fix.
12450 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12451 explicit help is requested.
12452
e1ea3ade
VS
124532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12456 Explicitly init restart while on it.
12457
27556881
VS
124582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12461 uninited variable.
12462
d65f6b36
VS
124632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * util/grub-mknetdir.in: Use . rather than source for POSIX
12466 compatibility.
12467
0a1e473c
VS
124682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12471
ce6647c8
VS
124722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12475 variable.
12476
66747894
VS
124772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12480 without quotes.
12481
71645f6e
VS
124822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12485
0e1c1f61
VS
124862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12489 iteration of partitions.
12490
9c4b5c13
VS
124912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 Improve gettext support. Stylistic fixes and error handling fixes while
12494 on it.
12495
215c90cb
VS
124962012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12499 part. Instead setup the correct stack in RM.
12500 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12501 for stack.
12502 * include/grub/i386/relocator_private.h: New file.
12503
b5c1f9bf
VS
125042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12507 argument.
12508 * util/grub-fstest.c (options): Add missing DEVICE part.
12509
b525fd83
VS
125102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Clarify and unify messages.
12513
12514 * grub-core/commands/hashsum.c (options): Unify messages.
12515 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12516 literal-only message as translatable.
12517 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12518 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12519 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12520 commands.
12521 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12522 key, not the key used to unlock. Clarify what it's used for.
12523 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12524 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12525 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12526 * util/grub-editenv.c (options): Unify "verbose" message.
12527 * util/grub-fstest.c (read_file): Unify error message.
12528 (fstest): Add quotes around commands.
12529 (options): Unify "verbose" message.
12530 * util/grub-install.in: Add quotes around variable name.
12531 * util/grub-kbdcomp.in: Unify error message.
12532 * util/grub-mkfont.c (main): Likewise.
12533 * util/grub-mkrescue.in: Likewise.
12534 * util/grub-mklayout.c (options): Unify "verbose" message.
12535 * util/grub-mkstandalone.in: Unify help and verbose messages.
12536 * util/grub-mount.c (options): Unify "verbose" message.
12537 * util/grub-probe.c (options): Likewise.
12538 * util/grub-script-check.c (options): Likewise.
12539 * util/grub-setup.c (setup): Unify no-terminator message.
12540 (options): Use DEVICE and not DEV.
12541 Unify "verbose" message.
12542 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12543
0ae70393
VS
125442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 Improve and unify messages.
12547
12548 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12549 name. All users updated.
12550 Print filename in error.
12551 (read_device_map): Print filename in error.
12552 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12553 (grub_util_get_os_disk): Likewise.
12554 (grub_util_biosdisk_get_grub_dev): Likewise.
12555 (grub_util_check_block_device): Likewise.
12556 (grub_util_check_char_device): Likewise.
12557 (grub_make_system_path_relative_to_its_root): Likewise.
12558 * util/grub-editenv.c (create_envblk_file): Likewise.
12559 (open_envblk_file): Likewise.
12560 (write_envblk): Likewise.
12561 * util/grub-fstest.c (cmd_cp): Likewise.
12562 (cmd_cat): Likewise.
12563 (cmd_cmp): Likewise.
12564 * util/grub-menulst2cfg.c (main): Likewise.
12565 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12566 (write_font_width_spec): Likewise.
12567 (write_font_pf2): Likewise.
12568 * util/grub-mkimage.c (generate_image): New argument outname.
12569 All users updated.
12570 Remove unreacheable message.
12571 (options): Unify messages.
12572 (help_filter): Likewise.
12573 * util/grub-mklayout.c (usage): Removed (unused).
12574 (main): Print filename in error.
12575 * util/grub-mkrescue.in: Fix wrong quoting.
12576 * util/grub-setup.c (setup): Print filename in error.
12577 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12578 (check_sas): Likewise.
12579 * util/misc.c (grub_util_get_fp_size): Removed.
12580 (grub_util_get_image_size): Print filename in error.
12581 (grub_util_read_at): Removed.
12582 (grub_util_read_image): Print filename in error.
12583 (grub_util_load_image): Likewise.
12584 (grub_util_write_image_at): New argument filename. All users updated.
12585 Print filename in error.
12586 (grub_util_write_image): New argument filename. All users updated.
12587 Print filename in error.
12588 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12589 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12590
0a96117d
VS
125912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * grub-core/Makefile.core.def (pxechain): New module.
12594 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12595 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12596 function.
12597 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12598 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12599
aca002f7
VS
126002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12603 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12604 * include/grub/err.h (grub_error_saved): New struct.
12605 (grub_errmsg): Make array size explicit.
12606 * include/grub/misc.h (grub_error_save): New function.
12607 (grub_error_load): Likewise.
12608 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12609 (grub_error_push): Update `errno' member name.
12610 (grub_error_pop): Likewise
12611 * grub-core/net/tftp.c (tftp_data): New member save_err.
12612 (tftp_receive): Save error.
12613 (tftp_open): Restore error.
12614
a51dab13
VS
126152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12618 to real mode down to execute A20-related code in protected mode as
12619 intended.
12620
eb6e6649
GS
126212012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12622
12623 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12624 NULL when the argument `level' has an unexpected value.
12625
92cd0f6e
VS
126262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 Move platform-dependent files from $prefix to $prefix/$platform.
12629
12630 * config.h.in (GRUB_TARGET_CPU): New definition.
12631 (GRUB_PLATFORM): Likewise.
12632 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12633 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12634 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12635 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12636 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12637 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12638 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12639 * grub-core/normal/term.c (read_terminal_list): Likewise.
12640 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12641 $prefix/locale.
12642 (grub_gettext_init_ext): Likewise.
12643 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12644 grub_platform.
12645 * util/grub-install.in: Update directories.
12646 * util/grub-mknetdir.in: Likewise.
12647 * util/grub-mkrescue.in: Likewise.
12648
db606889
VS
126492012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12652 grub_error framework. All users updated.
12653
c39992a4
VS
126542012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12657 lists (by always binsearching), improve caching (cache strings
12658 used for binsearch, not only results), improve
12659 maintainability (by using more structured binary search) and correct
12660 error handling.
12661
1e5ec32f
VS
126622012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * grub-core/script/execute.c (grub_script_return): Fix warning.
12665
ac576cde
VS
126662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * grub-core/script/execute.c (grub_script_return): Fix potential
12669 NULL-dereference.
12670 Reported by: Jim Meyering.
12671
498453f6
VS
126722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * po/POTFILES.in: Regenerate.
12675 * util/grub-install.in: Gettextize the strings missed in first pass.
12676
8be63f2e
VS
126772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * Makefile.util.def (grub-mkdevicemap): Removed.
12680 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12681 * include/grub/util/deviceiter.h: Removed.
12682 * util/deviceiter.c: Likewise.
12683 * util/getroot.c (grub_util_get_os_disk): New function.
12684 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12685 replacement for EFI.
12686 * util/grub-mkdevicemap.c: Removed.
12687 * util/grub-probe.c (probe): Handle PRINT_DISK.
12688 (argp_parser): Handle -t disk.
12689
8e1e4e39
VS
126902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub-mkfont.c: Migrate to argp.
12693 * util/grub-mklayout.c: Likewise.
12694 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12695 * util/grub-mkrelpath.c: Likewise.
12696 * util/grub-probe.c: Likewise.
12697 * util/grub-script-check.c: Likewise.
12698
4459819a
VS
126992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * util/grub-reboot.in: Add missing datarootdir.
12702 Add missing newline.
12703 * util/grub-set-default.in: Add missing datarootdir.
12704 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12705 * util/grub-mkrescue.in: Likewise.
12706
f65741c7
VS
127072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12710
c1a33466
VS
127112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * util/grub-kbdcomp.in: Add decent help and gettextize.
12714 * docs/man/grub-kbdcomp.h2m: New file.
12715
c76899a0
VS
127162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Migrate grub-mkimage.c to argp.
12719
12720 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12721 (grub-setup): Likewise.
12722 * util/grub-setup.c (print_version): Move to ...
12723 * util/argp_common.c (print_version): ... here.
12724 * util/grub-setup.c (argp_program_version_hook): Move to ...
12725 * util/argp_common.c (argp_program_version_hook): ... here.
12726 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12727 safety.
12728 * util/grub-mkimage.c (main): Migrate to argp.
12729
57db0757
VS
127302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * util/grub-mkrescue.in: Use same message as
12733 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12734 for better translations.
12735
18534ad9
VS
127362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12739 options with generic grub-mkrescue.in with the goal of future
12740 merge.
12741
c84ba308
VS
127422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * grub-core/kern/mm.c: Add missing include of i18n.h
12745 * grub-core/lib/relocator.c: Likewise.
12746
347998c2
VS
127472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12750 error.
12751 (allocate_pages): Check return value.
12752 Replace fatal with error.
12753 (grub_linux_boot): Replace printf with dprintf.
12754 Check find_mmap_size return value.
12755 Replace fatal with error.
12756 Don't call grub_machine_fini.
12757 (grub_load_elf64): Replace printf with dprintf.
12758 (grub_cmd_linux): Likewise.
12759 (grub_cmd_initrd): Likewise.
12760 (grub_cmd_payload): Likewise.
12761
c779226e
VS
127622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12765 message.
12766 * grub-core/video/radeon_fuloong2e.c
12767 (grub_video_radeon_fuloong2e_setup): Likewise.
12768 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12769 * grub-core/video/video.c (grub_video_set_mode): Don't override
12770 standard out of memory message.
12771
dc87d45a
GS
127722012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12773
12774 NetBSD disk wedge support.
12775
12776 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12777 [__NetBSD__]: Handle NetBSD disk wedges.
12778 * util/getroot.c (convert_system_partition_to_system_disk)
12779 [__NetBSD__]: Likewise.
12780
055f856f
MW
127812012-02-03 Mark Wooding <mdw@distorted.org.uk>
12782
12783 * util/grub-mkconfig.in: Use umask rather than chmod to create
12784 grub.cfg.new to avoid insecure grub.cfg.
12785
4a9f8346
VS
127862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/commands/ls.c: Gettextize.
12789 * grub-core/commands/setpci.c: Likewise.
12790 * grub-core/commands/videotest.c: Likewise.
12791 * grub-core/disk/geli.c: Likewise.
12792 * grub-core/kern/mm.c: Likewise.
12793 * grub-core/lib/relocator.c: Likewise.
12794 * grub-core/loader/efi/appleloader.c: Likewise.
12795 * grub-core/loader/i386/xnu.c: Likewise.
12796 * grub-core/loader/ia64/efi/linux.c: Likewise.
12797 * grub-core/loader/xnu.c: Likewise.
12798 * grub-core/net/dns.c: Likewise.
12799 * grub-core/net/net.c: Likewise.
12800 * grub-core/script/lexer.c: Likewise.
12801 * grub-core/script/parser.y: Likewise.
12802 * grub-core/script/yylex.l: Likewise.
12803 * util/getroot.c: Likewise.
12804 * util/grub-setup.c: Likewise.
12805
a646a366
VS
128062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12809 number.
12810
54e2be26
VS
128112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12814
f7c71e68
VS
128152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12818 macro.
12819 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12820 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12821
a32d5c71
VS
128222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12825 * util/grub-install.in: Gettextize.
12826 * util/grub-mkconfig.in: Likewise.
12827 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12828 if not available.
12829 (grub_warn): Gettextize.
12830 * util/grub-mknetdir.in: Gettextize.
12831 * util/grub-mkrescue.in: Likewise.
12832 * util/grub-mkstandalone.in: Likewise.
12833 * util/grub-reboot.in: Likewise.
12834 * util/grub-set-default.in: Likewise.
12835 * util/grub.d/00_header.in: Likewise.
12836 * util/grub.d/10_hurd.in: Likewise.
12837 * util/grub.d/10_kfreebsd.in: Likewise.
12838 * util/grub.d/10_linux.in: Likewise.
12839 * util/grub.d/10_netbsd.in: Likewise.
12840 * util/grub.d/10_windows.in: Likewise.
12841 * util/grub.d/20_linux_xen.in: Likewise.
12842 * util/grub.d/30_os-prober.in: Likewise.
12843 * po/POTFILES-shell.in: Regenerate.
12844
69edd81a
RL
128452012-02-03 Richard Laager <rlaager@wiktel.com>
12846
12847 * util/grub-mkimage.c (main): Fix format-security warning.
12848 * util/grub-mkrelpath.c (main): Likewise.
12849 * util/grub-probe.c (main): Likewise.
12850
65f08dbf
RL
128512012-02-03 Richard Laager <rlaager@wiktel.com>
12852
12853 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12854 failure.
12855 Put back lost PRINT_DRIVE.
12856
e9084abe
RL
128572012-02-03 Richard Laager <rlaager@wiktel.com>
12858
12859 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12860 (grub_guess_root_devices): Replace strlen with sizeof.
12861 Avoid crash.
12862 (find_root_devices_from_poolname): Remove unused variable.
12863 Handle raidzN.
12864
cf5f7ee7
VS
128652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 Support install on multi-device filesystems.
12868
12869 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12870 (grub_guess_root_devices): ...this. Return char **. All users updated.
12871 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12872 Removed.
12873 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12874 (find_root_devices_from_poolname): ... here.
12875 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12876 Support zfs-fuse.
12877 (grub_guess_root_device): Rename to ...
12878 (grub_guess_root_devices): ... this. Return char **. All users updated.
12879 * util/grub-install.in: Handle multi-device filesystems.
12880 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12881 argument. All users updated.
12882 Handle multi-device filesystems.
12883 Use 'delim' as separator.
12884 Remove device check to allow filesystems on file.
12885 (main): Support -0 argument. Handle multi-device.
12886 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12887 Fix a cross-device check while on it.
12888 (arguments): Remove root_dev.
12889 (argp_parser): Remove -r.
12890 (main): Remove root_dev.
12891
2f53a9ed
VS
128922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12895
17e1d934
VS
128962012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12899 symbol.
12900 Reported by: NODA, Kai <nodakai>.
12901
d3e3fab5
VS
129022012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 Fix ehci on amd64.
12905
12906 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12907 pointers.
12908 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12909 (grub_ehci_setup_qh): Likewise.
12910 (grub_ehci_find_qh): Likewise.
12911 (grub_ehci_transaction): Likewise.
12912 (grub_ehci_setup_transfer): Likewise.
12913 (grub_ehci_check_transfer): Likewise.
12914 (grub_ehci_portstatus): Likewise.
12915 (grub_ehci_detect_dev): Likewise.
12916 (grub_ehci_transfer_controller_data): New field td_last_phys.
12917 (grub_ehci_setup_transfer): Fill td_last_phys.
12918 (grub_ehci_check_transfer): Use td_last_phys.
12919
3008675b
SG
129202012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12921
12922 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12923 if no submenu is present.
12924
fc9b5652
AN
129252012-02-01 Aleš Nesrsta <starous@volny.cz>
12926
12927 CBI support.
12928
12929 * include/grub/usb.h (grub_usbms_protocol_t): New values
12930 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12931 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12932 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12933 (grub_usbms_dev): Add subclass, protocol and intrpt.
12934 Remove in_maxsz and out_maxsz.
12935 (grub_usbms_reset): Rename to ...
12936 (grub_usbms_bo_reset): .. this.
12937 (grub_usbms_cbi_cmd): New function.
12938 (grub_usbms_cbi_reset): Likewise.
12939 (grub_usbms_reset): Likewise.
12940 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12941 (grub_usbms_transfer): Rename to ...
12942 (grub_usbms_transfer_bo): ... this.
12943 (grub_usbms_transfer_cbi): Likewise.
12944 (grub_usbms_transfer): Likewise.
12945
a2b81d53
AN
129462012-02-01 Aleš Nesrsta <starous@volny.cz>
129472012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12950 the support for the CS5536 modification thereos and few bugfixes.
12951
12952 * grub-core/Makefile.core.def (ehci): New module.
12953 * grub-core/bus/usb/ehci.c: New file.
12954 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12955 port and hubaddr. All users updated.
12956 Save port and hubaddr into dev structure.
12957 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12958 define.
12959 * include/grub/pci.h (grub_dma_phys2virt): New function.
12960 (grub_dma_virt2phys): Likewise.
12961 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12962
b1d51f02
VS
129632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12966 check as some mkfs implementations omit it.
12967
fc694106
VS
129682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12971
6c0920e3
VS
129722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12975 Add new member volname2.
12976 (grub_jfs_label): Use volname2 if available.
12977
d1a46f9a
VS
129782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12981 over last_mounted as seen in image generated by mkfs.nilfs2.
12982 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12983
dec8ed14
VS
129842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12987 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12988 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12989
7397c69b
VS
129902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12993 over the sector.
12994
b3fe42ad
VS
129952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12998 subvolume name (by removing a bogus and useless check).
12999
10476bb0
VS
130002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13003 sizeof while on it.
13004
9c08ad87
VS
130052012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13008 (grub_scsi_read_capacity10): ... this.
13009 (grub_scsi_read_capacity16): New function.
13010 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13011 0xffffffff.
13012 Fix off-by-one error.
13013 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13014 64-bit unsigned.
13015 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13016 (grub_scsi_read_capacity10): ... this.
13017 (grub_scsi_read_capacity_data): Rename to ...
13018 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13019 (grub_scsi_read_capacity16): New struct.
13020 (grub_scsi_read_capacity16_data): Likewise.
13021 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13022 grub_scsi_cmd_read_capacity10.
13023 New command grub_scsi_cmd_read_capacity16.
13024
bc8d0f45
VS
130252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 SCSI >2TiB support.
13028
13029 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13030 (grub_scsi_write16): Likewise.
13031 (grub_scsi_read): Use read16 when necessary.
13032 (grub_scsi_write): Likewise.
13033 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13034 (grub_scsi_write16): Likewise.
13035 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13036
cc774926
VS
130372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 SCSI write support (for usbms mainly).
13040
13041 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13042 a const pointer.
13043 (grub_scsi_write): Implement.
13044 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13045
67639fd7
VS
130462012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13049 variable.
13050
9079d3ed
VS
130512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13054
c6a6f204
VS
130552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * po/POTFILES.in: Regenerate.
13058
ecbf8cd1
VS
130592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13062 with grub_printf to avoid unnecessary fatal failure.
13063
0b3b3b38
VS
130642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13067 (INT_MAX): Likewise.
13068 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13069 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13070 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13071 (strcpy): Likewise.
13072 (strstr): Likewise.
13073 (strchr): Likewise.
13074 (strncpy): Likewise.
13075 (strcat): Likewise.
13076 (strncat): Likewise.
13077 (strcoll): Likewise.
13078 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13079 (GRUB_INT_MAX): Likewise.
13080
db7337a3
VS
130812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13084 unexpected error.
13085 (optimize_utf8): Likewise.
13086 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13087
f37c87e1
VS
130882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/boot/i386/pc/lnxboot.S: Use
13091 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13092 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13093 location.
13094 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13095 definition.
13096 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13097
63fe43f3
VS
130982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13101 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13102 now to avoid double free.
13103 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13104 hostdisk.
13105 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13106 * util/grub-probe.c (escape_of_path): Always return a new copy.
13107 (print_full_name): Escape path.
13108 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13109 Fix hints on abstractions.
13110
ebe2c961
VS
131112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13114 Don't add "root" line if no compatibility hont is available.
13115 Suggested by: Seth Goldberg.
13116
2b5336a2
VS
131172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13120 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13121 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13122 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13123
74310bd8
VS
131242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13127
c30582ba
VS
131282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub-pe2elf.c (ehdr): Make static.
13131 (shdr): Likewise.
13132 (num_sections): Likewise.
13133 (offset): Likewise.
13134
5f47782c
VS
131352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 Eliminate ofpath limits and possible overflows.
13138
13139 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13140 (OF_PATH_MAX): Removed.
13141 (MAX_DISK_CAT): New const.
13142 (find_obppath): Use allocated rather than preallocated buffer.
13143 Return result. Argument of_path removed. All users updated.
13144 Add missing fdstat.
13145 (xrealpath): New function.
13146 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13147 Allocate rather than use preallocated buffer. All users updated.
13148 (__of_path_common): Use allocated rather than preallocatecd buffer.
13149 Return result. Argument of_path removed. All users updated.
13150 (vendor_is_ATA): Read only needed part form the file.
13151 (check_sas): Allocate depending on contents rather than fixed.
13152 (main) [STANDALONE]: Handle NULL result.
13153
f990cbf9
VS
131542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13157
9c6e84b8
VS
131582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 Cryptodisk write support.
13161
13162 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13163 (grub_cryptodisk_decrypt): Moved logic to ...
13164 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13165 (grub_cryptodisk_write): Implement.
13166 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13167 (grub_util_fd_write): ... this. Make global.
13168 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13169
87cf9744
VS
131702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * include/grub/list.h (grub_list_remove): Don't crash if element is
13173 removed twice.
13174
ca8c0baf
VS
131752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 Rename ofconsole to console.
13178
13179 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13180 as sysnonym to console.
13181 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13182 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13183 Rename grub_ofconsole_ to grub_console_. All users updated
13184 (grub_console_term_output): Rename "ofconsole" to "console".
13185 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13186 as "console".
13187
64c8b8f6
VS
131882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13191 handling.
13192 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13193 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13194 GRUB_DISK_DEVICE_FILE_ID.
13195
f6c434d5
VS
131962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13199 and improve performance.
13200
5858b42d
VS
132012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13204 missing ieee1275/ prefix on whole disk.
13205
4ed3c26b
VS
132062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13209 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13210
df71143e
VS
132112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13214
076e7c0f
VS
132152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 Merge common RAID and LVM logic to an abstract diskfilter.
13218 Add LDM support using the same framework.
13219
13220 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13221 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13222 (libgrubmods): Remove grub-core/disk/raid.c and
13223 grub-core/partmap/gpt.c.
13224 * grub-core/Makefile.core.def (ldm): New module.
13225 (raid): Renamed to diskfilter. All users updated.
13226 * grub-core/disk/raid.c: Moved to ...
13227 * grub-core/disk/diskfilter.c: ... here.
13228 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13229 (lv_num): New var.
13230 (find_array): Renamed to ...
13231 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13232 (grub_is_array_readable): Renamed to ...
13233 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13234 (insert_array): New argument id.
13235 (is_node_readable): New function.
13236 (scan_device): Rename to ...
13237 (scan_disk): .. this. Restrict to one disk.
13238 (scan_devices): New function.
13239 (grub_diskfilter_iterate): Support multi-LV.
13240 Skip invisible and nameless LVs.
13241 (grub_diskfilter_memberlist): Support multi-LV.
13242 (grub_diskfilter_read_node): New function.
13243 (grub_raid_read): Most of logic moved to ...
13244 (read_segment): ... here
13245 (read_lv): New function.
13246 (grub_diskfilter_get_vg_by_uuid): New function.
13247 (grub_diskfilter_make_raid): Likewise.
13248 * grub-core/disk/ldm.c: New file.
13249 * grub-core/disk/lvm.c (vg_list): Removed.
13250 (lv_count): Likewise.
13251 (scan_depth): Likewise.
13252 (is_lv_readable): Likewise.
13253 (grub_lvm_getvalue): Advance pointer past the number.
13254 (find_lv): Removed.
13255 (do_lvm_scan): Refactored into ...
13256 (grub_lvm_detect): ... this. Support raid.
13257 (grub_lvm_iterate): Removed.
13258 (grub_lvm_memberlist): Likewise.
13259 (grub_lvm_open): Likewise.
13260 (grub_lvm_close): Likewise.
13261 (read_lv): Likewise.
13262 (read_node): Likewise.
13263 (is_node_readable): Likewise.
13264 (is_lv_readable): Likewise.
13265 (grub_lvm_read): Likewise.
13266 (grub_lvm_write): Likewise.
13267 (grub_lvm_dev): Use diskfilter
13268 (GRUB_MOD_INIT): Likewise.
13269 (GRUB_MOD_FINI): Likewise.
13270 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13271 new interface.
13272 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13273 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13274 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13275 grub_diskfilter_read_node.
13276 Fix a bug with xor.
13277 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13278 grub_diskfilter_read_node.
13279 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13280 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13281 (grub_disk_dev_iterate): Move from here...
13282 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13283 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13284 Make global.
13285 (grub_hostdisk_find_partition_start): Likewise.
13286 (grub_hostdisk_os_dev_to_grub_drive): New function.
13287 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13288 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13289 * util/getroot.c (make_device_name): ... here.
13290 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13291 Move to ...
13292 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13293 * grub-core/kern/emu/hostdisk.c
13294 (convert_system_partition_to_system_disk): Move to ...
13295 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13296 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13297 * util/getroot.c (device_is_wholedisk): ... here.
13298 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13299 * util/getroot.c (find_system_device): ... here.
13300 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13301 Move to ...
13302 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13304 Move to ...
13305 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13306 Handle LDM.
13307 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13308 Move to ...
13309 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13310 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13311 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13312 DISKFILTER.
13313 * include/grub/raid.h: Renamed to ...
13314 * include/grub/diskfilter.h: ... this.
13315 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13316 (GRUB_RAID_LAYOUT_*): Make into array.
13317 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13318 (grub_diskfilter_vg): New struct.
13319 (grub_diskfilter_pv_id): Likewise.
13320 (grub_raid_member): Removed.
13321 (grub_raid_array): Likewise.
13322 (grub_diskfilter_pv): New struct.
13323 (grub_diskfilter_lv): Likewise.
13324 (grub_diskfilter_segment): Likewise.
13325 (grub_diskfilter_node): Likewise.
13326 (grub_diskfilter_get_vg_by_uuid): New proto.
13327 (grub_raid_register): Inline.
13328 (grub_diskfilter_unregister): Likewise.
13329 (grub_diskfilter_make_raid): New proto.
13330 (grub_diskfilter_vg_register): Likewise.
13331 (grub_diskfilter_read_node): Likewise.
13332 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13333 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13334 (grub_util_is_ldm): Likewise.
13335 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13336 (grub_hostdisk_find_partition_start): Likewise.
13337 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13338 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13339 New definition.
13340 (grub_gpt_partition_map_iterate): New proto.
13341 * include/grub/lvm.h (grub_lvm_vg): Removed.
13342 (grub_lvm_pv): Likewise.
13343 (grub_lvm_lv): Likewise.
13344 (grub_lvm_segment): Likewise.
13345 (grub_lvm_node): Likewise.
13346 * util/getroot.c [...]
13347 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13348 (probe_abstraction): Likewise.
13349 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13350 (main): Remove dead logic.
13351
8a7f9b9c
VS
133522012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 Simplify root device discover and don't fail when trying to open
13355 incorrect devices.
13356
13357 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13358 function.
13359 (get_diskname_from_path): Likewise.
13360 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13361 of iterating.
13362
30545b85
VS
133632012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13366
28ea58cf
VS
133672012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13370 pastthe end.
13371
692dabca
VS
133722012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * util/grub-install.in: Add missing \.
13375 Reported by: gentoofan
13376
f6e4ea70
VS
133772012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13380 (direct_read): Use correct compressed size.
13381 (grub_squash_read_data): Likewise.
13382
133832012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13384
13385 * docs/grub.texi (Platform limitations): New section.
13386 (Platform-specific operations): Likewise.
13387 * docs/grub-dev.texi (Porting): Likewise.
13388
76261110
VS
133892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 IEEE1275 disk write support.
13392
13393 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13394 const void *.
13395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13396 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13397 and seek loginc to ...
13398 (grub_ofdisk_prepare): ... here.
13399 (grub_ofdisk_write): Implement.
13400
fc36d603
VS
134012012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 ARC disk write support.
13404
13405 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13406 (reopen): New argument writable. All users updated.
13407 Handle required access mode.
13408 (grub_arcdisk_write): Implement.
13409 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13410 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13411
e06c2e7a
VS
134122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13415 (read_sblock): Don't attempt to read superblocks outside the disk size.
13416
ff447958
VS
134172012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13420 first superblock to find the second one when possible.
13421
9e88df39
VS
134222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * util/grub-install.in: Fix an ARC bug.
13425 Print a warning if no platform-specific setup is available.
13426
bb26e4ff
VS
134272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 Use static allocation rather than scratch pointer in reed_solomon.
13430 It decreases its size significantly and avoids a variable in .text.
13431
13432 * grub-core/lib/reed_solomon.c (scratch): Removed.
13433 (chosenstat): New const or static array.
13434 (sigma): Likewise.
13435 (errpot): Likewise.
13436 (errpos): Likewise.
13437 (sy): Likewise.
13438 (mstat): Likewise.
13439 (errvals): Likewise.
13440 (eqstat): Likewise.
13441 (pol_evaluate): Replace x with log_x argument. All users updated.
13442 (syndroms): Removed.
13443 (gauss_solve): Use statically allocated arrays.
13444 (rs_recover): Likewise.
13445 Calculate syndroms directly.
13446 (decode_block): Use statically allocated arrays.
13447 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13448 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13449
2e13ede5
VS
134502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 Eliminate fixed limit on reed solomon decoder length.
13453
13454 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13455 rather than hardcoding the address.
13456 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13457 no_reed_solomon_length.
13458 Move gate_a20 to no-reed-solomon part.
13459 Don't force a particular size of no reed-solomon part.
13460 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13461 Removed.
13462 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13463 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13464
f8a9ab12
VS
134652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 * grub-core/commands/wildcard.c (match_files): Handle filenames
13468 without explicit device.
13469 (wildcard_expand): Don't add explicit device if not already present.
13470 * tests/grub_script_echo1.in: Add a new expansion test.
13471
87edb894
VS
134722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 Replace single-linked with double-linked lists. It results in more
13475 compact and more efficient code.
13476
13477 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13478 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13479 (grub_list_remove): Moved from here ...
13480 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13481 (grub_prio_list_insert): Set prev.
13482 * include/grub/list.h (grub_list): Add prev. All users updated.
13483
48b391e9
VS
134842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 Handle newer autotools. Add some missing quotes while on it.
13487
13488 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13489 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13490 (pkgdata_DATA): ... here.
13491 * Makefile.util.def (update-grub_lib): Removed.
13492 * conf/Makefile.common (pkglib_DATA): Removed.
13493 (pkglib_SCRIPTS): Likewise.
13494 (pkgdata_DATA): New variable.
13495 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13496 needed.
13497 Add missing quotes.
13498 Remove unused variable while on it.
13499 * tests/util/grub-shell.in: Likewise.
13500 * util/grub-install.in: Likewise.
13501 * util/grub-mkconfig.in: Likewise.
13502 * util/grub-mknetdir.in: Likewise.
13503 * util/grub-mkrescue.in: Likewise.
13504 * util/grub-mkstandalone.in: Likewise.
13505 * util/grub.d/00_header.in: Likewise.
13506 * util/grub.d/10_hurd.in: Likewise.
13507 * util/grub.d/10_illumos.in: Likewise.
13508 * util/grub.d/10_kfreebsd.in: Likewise.
13509 * util/grub.d/10_linux.in: Likewise.
13510 * util/grub.d/10_netbsd.in: Likewise.
13511 * util/grub.d/10_windows.in: Likewise.
13512 * util/grub.d/20_linux_xen.in: Likewise.
13513 * util/grub.d/30_os-prober.in: Likewise.
13514 * util/update-grub_lib.in: Removed.
13515
135162012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13517
13518 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13519 a workaround for intel problem.
13520
66832792
PRP
135212012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
135222012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
135232012-01-23 pfsmorigo
13524
13525 * util/grub-install.in: Support dd'in into PreP partition.
13526 * util/grub-probe.c (probe): Support discovering partition type.
13527 (main): Support -t msdos_parttype.
13528
7816a17e
VS
135292012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13532 infinite recursion using counter.
13533 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13534 init to skip it if the magic check fails.
13535 (dec_stream_header): Init s->crc32.
13536
8f9d3a8c
ZB
135372012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
135382012-01-22 Zachary Bedell <pendorbound@gmail.com>
135392012-01-22 Richard Laager <rlaager@wiktel.com>
13540
13541 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13542 All users updated.
13543 (find_bestub): Determine correct size.
13544 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13545 (scan_disk): Align the size down.
13546 Call check pool before find_bestub to have ashift.
13547
b055dd32
VS
135482012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13551 dprintf in no-malloc zone.
13552
d779e9bd
ML
135532012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13554
13555 * configure.ac: Add back in test for limits.h.
13556
b508af69
VS
135572012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 Support 4K-sector NTFS.
13560
13561 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13562 (grub_ntfs_data): Remove blocksize.
13563 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13564 Remove data argument. All users updated.
13565
dad9c8b5
VS
135662012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13569 being in .text to avoid dprel references.
13570 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13571 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13572 (grub_arch_highmemsize): Likewise.
13573 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13574 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13575 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13576
d43a777e
VS
135772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13580
13581 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13582 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13583
34e4208f
VS
135842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13587 GRUB_UTIL.
13588 (grub_set_datetime_cmos): Likewise.
13589
3ec0fc1c
VS
135902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 Make XZ compression parameters dependent on target and not host CPU.
13593
13594 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13595 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13596
22489834
VS
135972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13600 set but not used variable.
13601
8502fbca
VS
136022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13605 created when no uuid support is compiled into mkfs.reiser.
13606
76df2068
VS
136072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13610 (utf8_to_macroman): Do the opposite.
13611 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13612
64e3f8f6
VS
136132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * configure.ac: Refise build qemu_mips w/o unifont.
13616
9c271078
VS
136172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 Eliminate grub_min/grub_max prone to overflow usage.
13620
13621 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13622 (poll_nonroot_hub): Likewise.
13623 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13624 (grub_affs_label): Likewise.
13625 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13626 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13627 (grub_hfs_label): Likewise.
13628 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13629 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13630 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13631 (zap_leaf_array_get): Likewise.
13632 (dnode_get_path): Likewise.
13633 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13634 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13635 * grub-core/script/execute.c (grub_script_break): Likewise.
13636 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13637 grub_max.
13638 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13639 * include/grub/misc.h (grub_min): Removed.
13640 (grub_max): Likewise.
13641
80662dbc
VS
136422012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13643
13644 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13645 direct.inode = 0.
13646
e6da1467
VS
136472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13650
b1ac4cb1
VS
136512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13654
b4bf7c3b
VS
136552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13658 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13659
8ee1101a
VS
136602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13663 rather than a hack for grub_strncasemap.
13664
136652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 Support multiple initrds
13668 Note: part of this was accidently committed in r3739.
13669
13670 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13671 initrd.
13672 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13673 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13674 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13675 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13676 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13677
4d1e2bc9
VS
136782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13681 disks with unknown size.
13682 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13683
75b49ebe
VS
136842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 Remove defines pertaining to arbitrary limits not affecting GRUB
13687 anymore.
13688
13689 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13690 (EXT2_MAX_SYMLINKCNT): Likewise.
13691 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13692 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13693 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13694 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13695 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13696 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13697 (DN_MAX_OBJECT_SHIFT): Likewise.
13698 (DN_MAX_OFFSET_SHIFT): Likewise.
13699 (DN_MAX_OBJECT): Likewise.
13700 (DNODES_PER_LEVEL_SHIFT): Likewise.
13701 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13702 (SPA_MAXBLOCKSIZE): Likewise.
13703 (SPA_BLOCKSIZES): Likewise.
13704 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13705 (MZAP_MAX_BLKSZ): Likewise.
13706
74a1dce7
VS
137072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13710 handle NULL appropriately.
13711 Remove MIN.
13712
30c7d3ce
VS
137132012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Fix efiemu.
13716
13717 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13718 cpu/types.h.
13719 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13720 * configure.ac: Fix efiemu check.
13721
3c76ea0c
VS
137222012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13725 grub_probe.
13726 Reported by: adamwill
13727
7e532280
SG
137282012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13729
13730 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13731
30492374
VS
137322012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 Fix handling of wide characters in gfxterm.
13735
13736 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13737 (clear_char): Likewise.
13738 (paint_char): Skip code == NULL chars.
13739 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13740
e70cb72f
VS
137412012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/normal/charset.c: Move comment to right place.
13744
5c827cf9
VS
137452012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13748 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13749 (grub_affs_mount): Revert the correct version checking.
13750
53603892
VS
137512012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * docs/grub.texi (Unicode): Mention several other unsupported features.
13754
ff094b9b
VS
137552011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13758 case statements as compile-time one.
13759 (direct_read): Prevent spurious warnings.
13760 (grub_squash_read_data): Likewise.
13761
c029da8a
VS
137622011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Various squash4 fixes and LZO and XZ support.
13765
13766 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13767 Add xzembed source files.
13768 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13769 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13770 (grub_squash_inode): New subtype long_dir.
13771 (SQUASH_TYPE_LONG_DIR): New inode type.
13772 (COMPRESSION): New enum.
13773 (XZBUFSIZ): New const.
13774 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13775 (read_chunk): Use data->decompress.
13776 (zlib_decompress): New function.
13777 (lzo_decompress): Likewise.
13778 (xz_decompress): Likewise.
13779 (squash_mount): Set new data fields.
13780 (grub_squash_iterate_dir): Handle long dir.
13781 (squash_unmount): Free xzdec and xzbuf.
13782 (grub_squash_open): Check ino type.
13783 (direct_read): Stylistic fixes. Use data->decompress.
13784 (grub_squash_read_data): Likewise.
13785 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13786 (get_byte): Likewise.
13787 (grub_zlib_disk_read): Removed.
13788 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13789 (GRUB_POSIX_BOOL_DEFINED): New define.
13790 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13791 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13792 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13793 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13794
7a45a539
VS
137952011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Don't override more informative errors.
13798
13799 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13800 * grub-core/font/font.c (open_section): Likewise.
13801 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13802 filename. Don't override errors.
13803 (grub_cmd_openbsd_ramdisk): Don't override errors.
13804 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13805 (grub_cmd_initrd): Likewise.
13806 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13807 (grub_cmd_initrd): Likewise.
13808 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13809 (grub_cmd_linux): Likewise.
13810 (grub_cmd_initrd): Likewise.
13811 (grub_cmd_payload): Likewise.
13812 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13813 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13814 (grub_cmd_module): Likewise.
13815 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13816 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13817 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13818 (grub_cmd_xnu_mkext): Likewise.
13819 (grub_cmd_xnu_ramdisk): Likewise.
13820 (grub_xnu_check_os_bundle_required): Likewise.
13821 (grub_xnu_load_kext_from_dir): Likewise.
13822 (grub_cmd_xnu_kextdir): Likewise.
13823 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13824
b2d004db
VS
138252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13828 as 1024 in block size field. Found on one of my test images.
13829 Small optimisation while on it.
13830
ec000eac
VS
138312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13834 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13835 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13836 performance fixes while on it.
13837 (grub_sfs_close): Fix memory leak while on it.
13838 (grub_sfs_label): Convert Latin1 to UTF-8.
13839
f50e1165
VS
138402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13843 space to avoid overflows.
13844 (grub_hfs_label): Convert from macroman to UTF-8.
13845
2ae254de
VS
138462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13849
0108f491
VS
138502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13853
f45f5f89
VS
138542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * unicode: Import Unicode 6.0 data.
13857
4d8c4765
VS
138582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13859
63fa8ef9
VS
13860 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13861 outside of range.
13862
138632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13866
13867 * include/grub/charset.h (grub_getend): New function.
13868 * grub-core/script/function.c (grub_script_function_find): Use
13869 grub_getend.
13870 * grub-core/normal/completion.c (add_completion): Likewise.
13871
f3cb4a4e
VS
138722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13875 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13876 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13877 (GRUB_UNICODE_TAG_END): Likewise.
13878 (GRUB_UNICODE_LAST_VALID): Likewise.
13879
5da8dbc5
VS
138802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13883 len and make it smaller. All users updated.
13884 * util/import_unicode.py: Put length and not end character.
13885 Check length.
13886
8569f13d
VS
138872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 Make better Unicode-compliant and unify some UTF-8 code pathes.
13890
13891 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13892 valid character.
13893 (grub_is_valid_utf8): Use grub_utf8_process.
13894 Check resulting code range.
13895 (grub_utf8_to_ucs4): Use grub_utf8_process.
13896 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13897 valid character.
13898
cc4fddf5
VS
138992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13902
bbc47747
VS
139032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * docs/grub.texi (Filesystems): Mention AFS.
13906
f63d6bf4
VS
139072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * docs/grub.texi (Filesystems): Clarify restrictions.
13910 (Regexp): Mention non-Unicode regexp behaviour.
13911 (Other): Mention non-Unicode matching behaviour.
13912
74bbf0db
VS
139132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13914
f63d6bf4 13915 Make HFS implementation use MacRoman.
74bbf0db
VS
13916
13917 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13918 (macroman): New const array.
13919 (macroman_to_utf8): New function.
13920 (utf8_to_macroman): Likewise.
13921 (grub_hfs_find_dir): Use utf8_to_macroman.
13922 (grub_hfs_dir): Use macroman_to_utf8.
13923 Set case_insensitive.
13924
4ea0316e
VS
139252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13928
d3c13cbd
VS
139292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 Integrate hints into autogeneration scripts.
13932
13933 * docs/grub.texi (Filesystems): Add a hostdisk example.
13934 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13935 (grub-probe): Add ofpath.
13936 * gentpl.py: Remove group nosparc64.
13937 * grub-core/commands/search.c (cache_entry): New struct.
13938 (cache): New var.
13939 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13940 * grub-core/commands/search_wrap.c (options): Add platform-specific
13941 hint options.
13942 (grub_cmd_search): Handle platform-specific hints.
13943 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13944 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13945 (grub_util_biosdisk_data): Likewise.
13946 (grub_util_biosdisk_open): Set device_map.
13947 (read_device_map): Handle "" as indication of no map.
13948 Set device_map.
13949 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13950 (grub_util_biosdisk_get_compatibility_hint): New function.
13951 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13952 * include/grub/emu/hostdisk.h
13953 (grub_util_biosdisk_get_compatibility_hint): New proto.
13954 * util/grub-install.in: Don't call grub-mkdevicemap.
13955 Add platform-specific hint to load.cfg.
13956 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13957 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13958 hints. Set root preliminary to compatibility hint, not to OS name.
13959 * util/grub-probe.c (PRINT_*): Add hints.
13960 (print): Make static.
13961 (escape_of_path): New function.
13962 (guess_bios_drive): Likewise.
13963 (guess_efi_drive): Likewise.
13964 (guess_baremetal_drive): Likewise.
13965 (print_full_name): Likewise.
13966 (probe): Handle hints.
13967 (main): Likewise.
13968 * util/ieee1275/devicemap.c: Removed.
13969 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13970 updated.
13971 (grub_util_devname_to_ofpath): Return NULL on failure.
13972
13973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13974 resource leak.
13975 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13976
13977 * po/POTFILES.in: Regenerated.
13978
13979 Allow purely long options
13980
13981 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13982 (SHORT_ARG_USAGE): Likewise.
13983 (grub_arg_show_help): Compare opt with help_options.
13984 (parse_option): Receive opt as argument. If makes big simplificatons.
13985 All users updated
13986
00ce2df3
VS
139872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13990 Restructure to avoid warning.
13991
e77e325f
VS
139922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * util/grub-install.in: Account for possible escaped comma in device
13995 name.
13996
165099ea
VS
139972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14000 channel.
14001
ce4a999d
VS
140022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14005 allocation and zero-setting.
14006 (grub_ieee1275_get_devname): Check that alias is complete.
14007
379586ad
VS
140082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14011 unaligned segments.
14012
9197b0ad
VS
140132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14016 prefix.
14017 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14018 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14019 Add ieee1275 prefix.
14020
edddb7f9
VS
140212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * docs/grub.texi (Filesystems): Update.
14024
a1a8b1b9
VS
140252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Support odc, newc and bigendian cpio formats.
14028
14029 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14030 * grub-core/Makefile.core.def (newc): New module.
14031 (odc): Likewise.
14032 (cpio_be): Likewise.
14033 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14034 (MAGIC): Likewise.
14035 (MAGIC2): Likewise.
14036 (head) [MODE_ODC]: Adapt for the format.
14037 (head) [MODE_NEWC]: Likewise.
14038 (head) [!MODE_*]: Write fields of interest as arrays.
14039 (MAGIC_USTAR): Removed.
14040 (read_number) [MODE_NEWC]: Change to hex.
14041 (read_number) [!MODE_*]: Parse binary arrays.
14042 (grub_cpio_find_file): Factor out the code for better structure and
14043 always use read_number.
14044 (grub_cpio_mount): Use MAGIC and MAGIC2.
14045 (grub_cpio_dir): Exit on first hook non-0 return.
14046 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14047 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14048 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14049 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14050 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14051 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14052 * grub-core/fs/newc.c: New file.
14053 * grub-core/fs/odc.c: Likewise.
14054 * grub-core/fs/cpio_be.c: Likewise.
14055
58eba9ee
VS
140562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 Fix handling of tar numbers occupying the whole field.
14059
14060 * grub-core/fs/cpio.c (read_number): New function.
14061 (grub_cpio_find_file): Use read_number instead of strtoull.
14062
a54a0e12
VS
140632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14066 occupying the whole field size.
14067
a6120aca
LA
140682011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14069
14070 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14071
a93964ce
VS
140722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14075
3ea1ca46
SG
140762011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14077
14078 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14079 TARGET_IMG_LDFLAGS.
14080
b87f7ef2
VS
140812011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14084 (mountinfo_entry): Increase the field size to take escaping into
14085 account.
14086 (find_root_device_from_libzfs): Add one byte to size of strings for
14087 security.
14088
62092395
VS
140892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14092 an assert.
14093 * util/grub-setup.c (setup): Likewise.
14094
1f0b1a77
VS
140952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14098 _LzmaDecodeA.
14099
8eba9997
VS
141002011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * docs/grub.texi (Internationalisation): New section.
14103
dd0c91e9
VS
141042011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * docs/grub.texi (Loopback booting): New section.
14107
141082011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14109
14110 * util/grub-mkstandalone.in: Fix minor typo errors.
14111
198e150a
VS
141122011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14115
14116 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14117 net/icmp.c and net/icmp6.c.
14118 (http): New module.
14119 (priority_queue): Likewise.
14120 * grub-core/io/bufio.c: Rewritten.
14121 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14122 TYPE_WITH_CONFIGFILE_OPTION.
14123 (legacy_commands): Add bootp and dhcp.
14124 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14125 (grub_legacy_parse): Likewise.
14126 * grub-core/lib/priority_queue.c: New file.
14127 * grub-core/net/arp.c: Add missing license header.
14128 (arp_find_entry): Removed.
14129 (arp_find_entry): Likewise.
14130 (grub_net_arp_resolve): Rename to ...
14131 (grub_net_arp_send_request): ...this.
14132 (grub_net_arp_receive): New card argument.
14133 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14134 Set router and DNS server.
14135 (grub_net_configure_by_dhcp_ack): Handle routing information.
14136 (grub_cmd_bootp): Set checksum.
14137 (grub_bootp_init): Remove net_dhcp.
14138 * grub-core/net/dns.c: New file.
14139 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14140 completion.
14141 (get_card_packet): Handle allocation.
14142 (grub_efinet_findcards): Set mtu.
14143 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14144 (get_card_packet): Handle allocation.
14145 (emucard): Set mtu.
14146 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14147 (GRUB_MOD_INIT): Set mtu.
14148 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14149 mtu.
14150 (get_card_packet): Handle allocation.
14151 (grub_ofnet_findcards): Set mtu.
14152 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14153 assert.
14154 (grub_net_recv_ethernet_packet): Handle IPv6.
14155 * grub-core/net/http.c: New file.
14156 * grub-core/net/icmp.c: Likewise.
14157 * grub-core/net/icmp6.c: Likewise.
14158 * grub-core/net/ip.c (ip6addr): New type.
14159 (ip6hdr): Likewise.
14160 (reassemble): Likewise.
14161 (cmp): New function.
14162 (reassembles): New variable.
14163 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14164 (id): New variable.
14165 (send_fragmented): New function.
14166 (grub_net_send_ip_packet): Rename to ...
14167 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14168 Handle non-UDP.
14169 (grub_net_recv_ip_packets): Rename to ...
14170 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14171 (free_rsm): New function.
14172 (free_old_fragments): Likewise.
14173 (grub_net_recv_ip4_packets): New function.
14174 (grub_net_send_ip6_packet): Likewise.
14175 (grub_net_send_ip_packet): Likewise.
14176 (grub_net_recv_ip6_packets): Likewise.
14177 (grub_net_recv_ip_packets): Likewise.
14178 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14179 (LINK_LAYER_CACHE_SIZE): New const.
14180 (link_layer_find_entry): New function.
14181 (grub_net_link_layer_add_address): Likewise.
14182 (grub_net_link_layer_resolve_check): Likewise.
14183 (grub_net_link_layer_resolve): Likewise.
14184 (grub_net_ipv6_get_slaac): Likewise.
14185 (grub_net_ipv6_get_link_local): Likewise.
14186 (grub_cmd_ipv6_autoconf): Likewise.
14187 (parse_ip): Handle one number representation.
14188 (parse_ip6): New functoion.
14189 (match_net): Handle IPv6.
14190 (grub_net_resolve_address): Handle IPv6 and DNS.
14191 (grub_net_resolve_net_address): Handle IPv6.
14192 (route_cmp): New function.
14193 (grub_net_route_address): Find best route.
14194 (grub_net_addr_to_str): Handle IPv6.
14195 (grub_net_addr_cmp): New function.
14196 (grub_net_add_addr): Register local route.
14197 (print_net_address): Handle net address.
14198 (grub_net_poll_cards): Retransmit TCP.
14199 (grub_net_poll_cards_idle_real): Likewise.
14200 (have_ahead): New function.
14201 (grub_net_seek_real): Use underlying seek.
14202 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14203 * grub-core/net/tcp.c: New file.
14204 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14205 (cmp): New function.
14206 (ack): Likewise.
14207 (tftp_receive): Handle unordered input.
14208 (destroy_pq): New function.
14209 (tftp_close): Close pq.
14210 * grub-core/net/udp.c: Put missing license header.
14211 (grub_net_udp_socket): New function.
14212 (udp_socket_register): Likewise.
14213 (grub_net_udp_close): Likewise.
14214 (grub_net_recv_udp_packet): Check checksum.
14215 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14216 * include/grub/misc.h (grub_memchr): New function.
14217 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14218 (grub_net_card_driver): Return buf in recv.
14219 (grub_net_slaac_mac_list): New struct.
14220 (grub_network_level_protocol_id): Add ipv6.
14221 (grub_net_network_level_addr): Likewise.
14222 (grub_net_network_level_net_addr): Likewise.
14223 (grub_net_app_protocol): Add seek.
14224 (grub_net_socket): Removed.
14225 (grub_net_sockets): Likewise.
14226 (grub_net_socket_register): Likewise.
14227 (grub_net_socket_unregister): Likewise.
14228 (FOR_NET_SOCKETS): Likewise.
14229 (grub_net_add_addr): Add const.
14230 (GRUB_NET_BOOTP_*): New enum.
14231 (grub_net_addr_cmp): New proto.
14232 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14233 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14234 (grub_net_hwaddr_to_str): NEw proto.
14235 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14236 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14237 (grub_dns_init): New proto.
14238 (grub_dns_fini): Likewise.
14239 (grub_net_tcp_retransmit): Likewise.
14240 (grub_net_link_layer_add_address): Likewise.
14241 (grub_net_link_layer_resolve_check): Likewise.
14242 (grub_net_link_layer_resolve): Likewise.
14243 (grub_net_dns_lookup): Likewise.
14244 (grub_net_add_dns_server): Likewise.
14245 (grub_net_remove_dns_server): Likewise.
14246 (GRUB_NET_TRIES): New const.
14247 (GRUB_NET_INTERVAL): Likewise.
14248 * include/grub/net/arp.h: Mostly rewritten.
14249 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14250 * include/grub/net/ip.h: Mostly rewritten.
14251 * include/grub/net/netbuff.h: Indent.
14252 * include/grub/net/tcp.h: New file.
14253 * include/grub/net/udp.h: Mostly rewritten.
14254 * include/grub/priority_queue.h: New file.
14255 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14256 (grub_swap_bytes64_compile_time): Likewise.
14257 (grub_cpu_to_be16_compile_time): Likewise.
14258 (grub_cpu_to_be32_compile_time): Likewise.
14259 (grub_cpu_to_be64_compile_time): Likewise.
14260 (grub_be_to_cpu64_compile_time): Likewise.
14261
215c1800
VS
142622011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14265 UINT_TO_PTR with cast.
14266
c17e546c
VS
142672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14270 don't use them.
14271
ff6b18b6
VS
142722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14275 already there.
14276
70ffcc93
VS
142772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14280 confusing ipxe.
14281
e5f4d260
VS
142822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14285 Add missing const attribute.
14286 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14287 Likewise.
14288 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14289 Likewise.
14290
8e54b4b7
VS
142912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14294 misaligned access.
14295 (serpent_setkey): Likewise.
14296 (serpent_encrypt_internal): Likewise.
14297 (serpent_decrypt_internal): Likewise.
14298 (serpent_encrypt): Don't put an alignment-increasing cast.
14299 (serpent_decrypt): Likewise.
14300 (serpent_test): Likewise.
14301
813c0a2b
VS
143022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14305
f2b60fbd
VS
143062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14309
14310 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14311 grub_addr_t casts.
14312 (PTR_TO_UINT64): Likewise.
14313 (PTR_TO_UINT32): Likewise.
14314
5ef5c511
VS
143152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14318 because of stack.
14319 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14320 limit.
14321
c476e6df
VS
143222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14325 text_width > available width a bit more gracefully.
14326
384ad7cc
VS
143272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14330 current address calculation.
14331
96f8caf8
VS
143322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14335 stack.
14336 (encode_block): Likewise.
14337
276b7a8b
VS
143382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14341 certainety.
14342
e3fd394a
VS
143432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14346 non-RS part to avoid RS messing with GDT.
14347 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14348 Increase to suit in realmode routines.
14349
143502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * grub-core/kern/i386/realmode.S: Increase alignment.
14353 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14354
ee9c2e7a
VS
143552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14358 be deterministic.
14359 (syndroms): Compute 0 syndrom.
14360 (rs_recover): Use 0 syndrom.
14361
7a7f7cc9
VS
143622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14365
a14b16d1
VS
143662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14369 brackets.
14370
9f59e9fc
VS
143712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14372
ca1b552c
VS
14373 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14374 account.
14375 (get_top_pad): Likewise.
14376 (get_right_pad): Likewise.
14377 (get_bottom_pad): Likewise.
14378
143792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14382
e739d698
VS
143832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14386 attribute as the structure isn't guaranteed to be properly aligned.
14387 (grub_efi_pci_device_path): Likewise.
14388 (grub_efi_pccard_device_path): Likewise.
14389 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14390 specify the size of `memory_type'.
14391 (grub_efi_vendor_device_path): Likewise.
14392 (grub_efi_controller_device_path): Likewise.
14393 (grub_efi_acpi_device_path): Likewise.
14394 (grub_efi_expanded_acpi_device_path): Likewise.
14395 (grub_efi_atapi_device_path): Likewise.
14396 (grub_efi_scsi_device_path): Likewise.
14397 (grub_efi_fibre_channel_device_path): Likewise.
14398 (grub_efi_1394_device_path): Likewise.
14399 (grub_efi_usb_device_path): Likewise.
14400 (grub_efi_usb_class_device_path): Likewise.
14401 (grub_efi_i2o_device_path): Likewise.
14402 (grub_efi_mac_address_device_path): Likewise.
14403 (grub_efi_ipv4_device_path): Likewise.
14404 (grub_efi_ipv6_device_path): Likewise.
14405 (grub_efi_infiniband_device_path): Likewise.
14406 (grub_efi_uart_device_path): Likewise.
14407 (grub_efi_vendor_messaging_device_path): Likewise.
14408 (grub_efi_hard_drive_device_path): Likewise.
14409 (grub_efi_cdrom_device_path): Likewise.
14410 (grub_efi_vendor_media_device_path): Likewise.
14411 (grub_efi_file_path_device_path): Likewise.
14412 (grub_efi_protocol_device_path): Likewise.
14413 (grub_efi_piwg_device_path): Likewise.
14414 (grub_efi_bios_device_path): Likewise.
14415
cb8f88ea
VS
144162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14419 (grub_ucs4_to_utf8_alloc): Likewise.
14420 (grub_ucs4_to_utf8): Likewise.
14421 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14422 (grub_ucs4_to_utf8_alloc): Likewise.
14423
309e5352
VS
144242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 AFFS never uses unicode.
14427
14428 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14429 (grub_latin1_to_utf8): New inline function.
14430 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14431
e7987e1b
VS
144322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14435 overflow.
14436
efc2616e
VS
144372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14440 (grub_squash_dirent_header): Likewise.
14441 (read_chunk): Don't double swap.
14442 (grub_squash_iterate_dir): Fix swap sizes.
14443
3c349f5a
VS
144442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14447
b453412d
VS
144482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14451 (grub_hfs_iterate_dir): Likewise.
14452
12e9d4d1
VS
144532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 Fix video on platforms where unaligned access is forbidden.
14456 Make several optimisations while on it.
14457
14458 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14459 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14460 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14461 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14462 Disable.
14463 (grub_video_fbblit_replace_16bit_1bit):
14464 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14465 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14466 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14467 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14468 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14469 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14470 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14471 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14472 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14473 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14474 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14475 (grub_video_fbblit_replace_index_RGB888): Likewise.
14476 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14477 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14478 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14479 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14480 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14481 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14482 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14483 Disable.
14484 (grub_video_fbblit_blend_XXX565_1bit):
14485 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14486 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14487 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14488 void *.
14489 * grub-core/video/fb/video_fb.c (common_blitter)
14490 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14491 (grub_video_fb_create_render_target_from_pointer)
14492 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14493 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14494 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14495 definition.
14496 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14497
ace96609
VS
144982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14501 HH22 and HM10 relocations.
14502
fd261d73
VS
145032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14506
e59b7857
VS
145072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14510 allocation succeeded.
14511
9b4baaa4
VS
145122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14515 argument a u8 pointer. All users updated.
14516 Handle unaligned buffers.
14517
dc713193
VS
145182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14521 add_part to workaround compiler bug.
14522
30dd48c2
VS
145232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14526
0c6087a8
VS
145272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14530 Reserve alignment invariants.
14531 (grub_multiboot_load): Likewise.
14532 (retrieve_video_parameters): Likewise.
14533 (grub_multiboot_make_mbi): Likewise.
14534
c2e77777
VS
145352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14538 incorrect pointer.
14539
b70b6d11
VS
145402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14543 (grub_pata_pio_write): Likewise.
14544
02a2bf83
VS
145452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 Add noreturn attributes and remove unreachable code.
14548
14549 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14550 code.
14551 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14552 code. Mark as noreturn.
14553 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14554 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14555 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14556 unreachable code.
14557 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14558 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14559 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14560 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14561 * include/grub/kernel.h (grub_main): Mark as noreturn.
14562 * include/grub/reader.h (grub_rescue_run): Likewise.
14563
2019d09e
VS
145642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14567 redundant declaration.
14568
d1c501ee
VS
145692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14572 redundant declaration.
14573 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14574
61664420
VS
145752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14578 to ensure alignment.
14579 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14580 alignment. Ensure tmp alignment.
14581 (grub_cmd_hdparm): Ensure buf alignment.
14582 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14583 to ensure alignment.
14584 (grub_ata_dumpinfo): Ensure text alignment.
14585 (grub_atapi_identify): Preserve alignment invariant.
14586 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14587
0d51ee20
VS
145882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14591 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14592 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14593 * include/grub/misc.h (grub_reboot)
14594 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14595 (grub_halt) [__mips__]: Likewise.
14596
753ef8c1
VS
145972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14600 Remove redundant declaration.
14601 (grub_mmap_get_post64): Likewise.
14602 (grub_mmap_get_upper): Likewise.
14603 (grub_mmap_get_lower): Likewise.
14604
85c85365
VS
146052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14608 uint32_t * to ensure alignment.
14609 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14610
a23f2cc4
VS
146112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14612
93018f64
VS
14613 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14614 uint16_t * to ensure alignment.
14615 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14616 alignment.
14617
146182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14621 to ensure alignment.
14622 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14623
58acccd6
VS
146242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14627 Handle unaligned pointers.
14628 (u32at): Likewise.
14629 (u64at): Likewise.
14630 (fixup): Use byte access instead of v16at.
14631 (find_attr): Fix imporper usage of v32at.
14632 (read_data): Likewise.
14633 (list_file): Handle byte-swapping and unaligned strings.
14634 (grub_ntfs_label): Likewise.
14635
9b05cad7
VS
146362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14639 as it's not necessarily aligned.
14640
b3950b84
VS
146412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14644 redundant declaration.
14645 (grub_serial_init): Likewise.
14646 (grub_terminfo_init): Likewise.
14647
fcd232b7
VS
146482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14651 function.
14652 (ZAP_HASH_IDX): Likewise.
14653 (ZAP_LEAF_HASH_SHIFT): Likewise.
14654 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14655 (LEAF_HASH): Likewise.
14656 (ZAP_LEAF_NUMCHUNKS): Likewise.
14657 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14658 alignment invariants. Return pointer. All users updated.
14659 (ZAP_LEAF_ENTRY): Make into inline function.
14660 (NBBY): Removed.
14661 (xor): LIkewise.
14662 (xor_out): Use grub_crypto_xor.
14663 (dnode_get_path): Use grub_get_unaligned.
14664 (nvlist_find_value): Likewise.
14665 (grub_zfs_nvlist_lookup_uint64): Likewise.
14666 (grub_zfs_nvlist_lookup_string): Likewise.
14667 (get_nvlist_size): Likewise.
14668 (grub_zfs_open): Likewise.
14669 (fill_fs_info): Likewise.
14670 (grub_zfs_dir): Likewise.
14671 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14672 alignment invariants.
14673 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14674 necessarily aligned.
14675
f138623a
VS
146762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14679
564840dc
VS
146802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14683 arithmetic to conserve alignment invariants.
14684
9b40df20
VS
146852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14688 redundant declaration.
14689 (grub_efiemu_mm_obtain_request): Likewise.
14690 (grub_efiemu_prepare): Likewise.
14691
d1c930f9
VS
146922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14695 to match types.
14696
4c5f3056
VS
146972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14700 case of aunaligned recptr.
14701 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14702 alignment.
14703 (grub_hfsplus_btree_search): Handle unaligned index.
14704
728cba91
VS
147052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14708 to get freetag and skip.
14709
eb561f31
VS
147102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14713 array.
14714 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14715 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14716
20993fbb
VS
147172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14720 name for checksum and fix allocation algorithm.
14721
1f313b94
VS
147222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * include/grub/types.h (grub_properly_aligned_t): New type.
14725 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14726 (grub_get_unaligned16): Add explicit casts.
14727 (grub_get_unaligned32): Likewise.
14728 (grub_get_unaligned64): Likewise.
14729 (grub_set_unaligned16): New function.
14730 (grub_set_unaligned32): Likewise.
14731
47ae27ec
VS
147322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14735
78c2cd1c
VS
147362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14739 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14740 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14741
53072f9b
VS
147422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14745 conditionals.
14746
055dc239
VS
147472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14750 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14751
496bd074
VS
147522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Unify and improve RAID and crypto xor.
14755
14756 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14757 changed to grub_crypto_xor
14758 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14759 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14760 Use bigger types when possible.
14761
ef6e4335
VS
147622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * grub-core/disk/raid.c (scan_devices): Fix condition.
14765
5d048bf2
VS
147662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14769 Make name a const ptr.
14770
ee533335
VS
147712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14774 first argument a const pointer.
14775 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14777 proto.
14778 (grub_children_iterate): Likewise.
14779 (grub_machine_mmap_iterate): Remove redundant declaration.
14780
cc8f3668
VS
147812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14784 (grub_cmd_acpi) [!x86]: Disable EBDA.
14785
c5fc563a
VS
147862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 Enable UTF8 in gnulib regexp.
14789
14790 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14791 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14792 (isupper): Use grub_isupper.
14793 (isascii): New inline function.
14794 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14795 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14796 * grub-core/normal/charset.c (grub_utf8_process): New function.
14797 (grub_utf8_to_utf16): Use grub_utf8_process.
14798 (grub_encode_utf8_character): New function.
14799 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14800 * include/grub/charset.h (grub_utf8_process): New declaration.
14801 (grub_encode_utf8_character): Likewise.
14802 * include/grub/misc.h (grub_islower): New inline function.
14803 (grub_isupper): Likewise.
14804 (grub_strchrsub): Moved down to fix the definitions.
14805
0af2346f
VS
148062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14809 specification.
14810
74dbd244
VS
148112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * include/grub/loader.h (grub_loader_register_preboot_hook):
14814 Use struct preboot * and not void * for handle. All users updated.
14815 (grub_loader_unregister_preboot_hook): Likewise.
14816
1bc8f60d
VS
148172011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14820 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14821 UTF-16-BE. All users updated.
14822 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14823 (grub_hfsplus_iterate_dir): Likewise.
14824 (grub_hfsplus_label): Likewise.
14825
48d6e456
VS
148262011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14829
bf3a3857
VS
148302011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 Add missing const qualifiers.
14833
14834 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14835 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14836 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14837 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14838 (grub_lvm_check_flag): Likewise.
14839 * grub-core/efiemu/i386/coredetect.c
14840 (grub_efiemu_get_default_core_name): Likewise
14841 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14842 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14843 * grub-core/fs/ntfs.c (fixup): Likewise.
14844 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14845 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14846 (fzap_lookup): Likewise.
14847 (zap_lookup): Likewise.
14848 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14849 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14850 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14851 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14852 (grub_freebsd_add_meta_module): Likewise.
14853 (grub_cmd_freebsd_module): Likewise.
14854 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14855 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14856 (grub_xnu_writetree_get_size): Likewise.
14857 (grub_xnu_writetree_toheap_real): Likewise.
14858 (grub_xnu_find_key): Likewise.
14859 (grub_xnu_create_key): Likewise.
14860 (grub_xnu_create_value): Likewise.
14861 (grub_xnu_register_memory): Likewise.
14862 (grub_xnu_check_os_bundle_required): Likewise.
14863 (grub_xnu_scan_dir_for_kexts): Likewise.
14864 (grub_xnu_load_kext_from_dir): Likewise.
14865 * grub-core/normal/color.c (color_list): Likewise.
14866 * grub-core/normal/completion.c (current_word): Likewise.
14867 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14868 * grub-core/term/serial.c (grub_serial_find): Likewise.
14869 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14870 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14871 Likewise.
14872 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14873 (grub_freebsd_add_meta_module): Likewise.
14874 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14875 * include/grub/net.h (grub_net_card_driver): Likewise.
14876 (grub_net_card): Likewise.
14877 (grub_net_app_protocol): Likewise.
14878 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14879 * include/grub/serial.h (grub_serial_find): Likewise.
14880 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14881 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14882 (grub_xnu_create_value): Likewise.
14883 (grub_xnu_find_key): Likewise.
14884 (grub_xnu_scan_dir_for_kexts): Likewise.
14885 (grub_xnu_load_kext_from_dir): Likewise.
14886
14887 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14888 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14889 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14890 Moved from here ...
14891 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14892
112b4837
CW
148932011-11-28 Colin Watson <cjwatson@ubuntu.com>
14894
14895 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14896
49e891ac
VS
148972011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14900 (read_device): Fix size calculation.
14901
fd258e5c
RM
149022011-11-25 Robert Millan <rmh@gnu.org>
14903
14904 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14905 (find_root_device_from_libzfs): Add zpool output parser to be used
14906 as fallback when libzfs isn't available.
14907
78845dc2
SG
149082011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14909
14910 * po/Makefile.in.in: Add missing escape-continuation.
14911
adac5211
VS
149122011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14915
10b64f1c
VS
149162011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14919
bb416954
VS
149202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14923
bdfe9eeb
VS
149242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14927
581ffa8a
VS
149282011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 * grub-core/lib/adler32.c: Add missing license specification.
14931 * grub-core/lib/crc64.c: Likewise.
14932 * grub-core/loader/i386/pc/plan9.c: Likewise.
14933 * grub-core/partmap/plan.c: Likewise.
14934
2536cf64
LK
149352011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14936
14937 Add facility to debug GRUB with gdb under qemu.
14938
14939 * grub-core/gdb_grub.in: New file.
14940 * grub-core/gmodule.pl.in: Likewise.
14941 * grub-core/Makefile.core.def (gmodule.pl): New script.
14942 (gdb_grub): Likewise.
14943
bc108a4a
VS
149442011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * util/grub-mount.c (argp_parser): Accept relative pathes.
14947 * util/grub-fstest.c (argp_parser): Likewise.
14948
111c1778
VS
149492011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 Plan9 support.
14952
14953 * Makefile.util.def (libgrubmods): Add
14954 grub-core/partmap/plan.c.
14955 * docs/grub.texi: Notice Plan9 support.
14956 * grub-core/Makefile.core.def (plan9): New module.
14957 (part_plan): Likewise.
14958 * grub-core/loader/i386/pc/plan9.c: New file.
14959 * grub-core/partmap/plan.c: Likewise.
14960 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14961 define.
14962 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14963 * include/grub/mm.h (grub_extend_alloc): New inline function.
14964
c30be3b6
VS
149652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 Make Reed-Solomon faster by using power of generator representation of
14968 GF(256)*.
14969
14970 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14971 (gf_double_t): Likewise.
14972 (gf_invert): Removed.
14973 (gf_powx): New array.
14974 (gf_powx_inv): Likewise.
14975 (scratch): Move higher.
14976 (gf_reduce): Removed.
14977 (gf_mul): Use powx.
14978 (gf_invert): Likewise.
14979 (init_inverts): Replaced with ...
14980 (init_powx): ...this. All users updated.
14981 (pol_evaluate): Replace multiplications with additions.
14982 (rs_encode): Likewise.
14983 (gauss_eliminate): Call gf_invert.
14984 (grub_reed_solomon_add_redundancy): Call init_powx.
14985 (grub_reed_solomon_recover): Call init_powx unconditionally.
14986
fa5aeffc
VS
149872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14990
a346b81c
VS
149912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14994 disk->partiton for safety.
14995
d89ee414
VS
149962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14999 Fix a memory leak.
15000 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15001
91ee7b6d
VS
150022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15005
91e5a33d
VS
150062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15009
9edd7be2
VS
150102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 Fix spaces handling in proc/self/mountinfo.
15013
15014 * util/getroot.c (unescape): New function.
15015 (grub_find_root_device_from_mountinfo): Use unescape.
15016
ba102053
VS
150172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 Support ZFS embedding.
15020
15021 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15022 (grub_zfs_fs): Register grub_zfs_embed.
15023
aa94b870
VS
150242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 Fix MIPS compilation.
15027
15028 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15029 * include/grub/offsets.h: Rename decompressor fields from
15030 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15031 * util/grub-mkimage.c (image_targets): Use new names.
15032
5fbdac14
VS
150332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Defer multiboot device parsing until we're in compressed part.
15036
15037 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15038 bsd_part. setdevice has fallen into disuse.
15039 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15040 (bsd_part): Likewise.
15041 (boot_dev): New variable.
15042 (multiboot_trampoline): Don't parse multiboot device.
15043 Pass multiboot device in %edx.
15044 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15045 grub_boot_device.
15046 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15047 Likewise.
15048 * grub-core/kern/i386/pc/startup.S: Save edx.
15049 (grub_boot_drive): Removed.
15050 (grub_install_dos_part): Likewise.
15051 (grub_install_bsd_part): Likewise.
15052 (grub_boot_device): New variable.
15053 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15054 (grub_install_bsd_part): Likewise.
15055 (grub_boot_drive): Likewise.
15056 (grub_boot_device): New variable.
15057 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15058 Removed.
15059 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15060 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15061 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15062 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15063 * util/grub-install.in: Remove redundant condition.
15064
691cbb58
VS
150652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 Fix bug introduced by previous commit.
15068
15069 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15070
60240b8b
VS
150712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 Use decompressors framework on i386-pc. It increases core size
15074 by 46 bytes but improves compatibility and maintainability.
15075
15076 * grub-core/Makefile.core.def (lzma_decompress): New image.
15077 (kernel): Add i386_pc_ldflags.
15078 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15079 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15080 to real_to_prot, prot_to_real and device info.
15081 * include/grub/offsets.h: Renamed decompressor offsets.
15082 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15083 (image_target_desc): Remove raw_size and rename decompressor fields.
15084 (compress_kernel): Handle lzma.
15085 (generate_image): Handle decompressors on i386-pc.
15086
e9d3421c
VS
150872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * configure.ac: Add -fno-asynchronous-unwind-tables.
15090
2b23074a
VS
150912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 Move assembly code to C by using intwrap. It increases core size
15094 by 88 bytes but improves compatibility and maintainability.
15095
15096 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15097 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15098 ... here. Translated to C.
15099 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15100 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15101 ... here. Translated to C.
15102 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15103 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15104 ... here. Translated to C.
15105 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15106 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15107 ... here. Translated to C.
15108 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15109 * grub-core/term/i386/pc/console.c (grub_console_cls):
15110 ... here. Translated to C.
15111 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15112 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15113 ... here. Translated to C.
15114 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15115 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15116 Translated to C.
15117 * grub-core/term/i386/pc/console.c (int10_9): New function.
15118 (grub_console_putchar): Likewise.
15119 * include/grub/i386/pc/console.h: Removed the not anymore shared
15120 functions.
15121
678f4b67
VS
151222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 Move grub_chainloader_real_boot out of the kernel.
15125
15126 * grub-core/Makefile.am: Remove machine/loader.h.
15127 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15128 Removed.
15129 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15130 variable.
15131 (grub_relocator16_keep_a20_enabled): Likewise.
15132 (grub_relocator16_boot): Fill new variables.
15133 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15134 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15135 relocator.
15136 (grub_chainloader_unload): Likewise.
15137 (grub_chainloader_cmd): Likewise.
15138 * include/grub/i386/pc/loader.h: Removed.
15139 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15140 and esi. All initialisers updated.
15141
4626edf6
VS
151422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
151432011-11-12 Colin Watson <cjwatson@ubuntu.com>
15144
15145 * Makefile.util.def (grub-mount): New util.
15146 * .bzrignore: Add grub-mount.
15147 * configure.ac: Check for fuse and enable grub-mount if available.
15148 * docs/man/grub-mount.h2m: New file.
15149 * util/grub-mount.c: Likewise.
15150
10f0117b
VS
151512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 * grub-core/commands/efi/fixvideo.c: Gettextize.
15154 * grub-core/commands/hashsum.c: Likewise.
15155 * grub-core/commands/i386/cmostest.c: Likewise.
15156 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15157 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15158 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15159 * grub-core/commands/lsmmap.c: Likewise.
15160 * grub-core/commands/menuentry.c: Likewise.
15161 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15162 * grub-core/commands/setpci.c: Likewise.
15163 * grub-core/loader/i386/bsd.c: Likewise.
15164 * grub-core/loader/i386/linux.c: Likewise.
15165 * util/getroot.c: Likewise.
15166 * util/grub-editenv.c: Likewise.
15167 * util/grub-fstest.c: Likewise.
15168 * util/grub-mkfont.c: Likewise.
15169 * util/grub-mkimage.c: Likewise.
15170 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15171 * util/grub-pe2elf.c: Likewise.
15172 * util/grub-probe.c: Likewise.
15173 * util/grub-setup.c: Likewise.
15174 * util/ieee1275/ofpath.c: Likewise.
15175 * util/misc.c: Likewise.
15176 * util/raid.c: Likewise.
15177
566f779b
RM
151782011-11-11 Robert Millan <rmh@gnu.org>
15179
15180 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15181 __attribute__((unused)) from `os_dev', which *is* being used.
15182
b50787de
VS
151832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15186 forgotten define.
15187 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15188 GRUB_IA64_DL_GOT_ALIGN.
15189 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15190 GRUB_IA64_DL_TRAMP_ALIGN.
15191
119d11c8
VS
151922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 Replace grub_fatal with normal errors in i386 linux loader.
15195
15196 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15197 (allocate_pages): Check find_efi_mmap_size return value.
15198 (grub_e820_add_region): Return error.
15199 (grub_linux_boot): Check mmap return value.
15200
6e0632e2
VS
152012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * grub-core/commands/acpihalt.c: Gettextized.
15204 * grub-core/commands/cacheinfo.c: Likewise.
15205 * grub-core/commands/cmp.c: Likewise.
15206 * grub-core/commands/efi/loadbios.c: Likewise.
15207 * grub-core/commands/gptsync.c: Likewise.
15208 * grub-core/commands/ieee1275/suspend.c: Likewise.
15209 * grub-core/commands/legacycfg.c: Likewise.
15210 * grub-core/commands/memrw.c: Likewise.
15211 * grub-core/commands/minicmd.c: Likewise.
15212 * grub-core/commands/parttool.c: Likewise.
15213 * grub-core/commands/time.c: Likewise.
15214 * grub-core/commands/videoinfo.c: Likewise.
15215 * grub-core/disk/geli.c: Likewise.
15216 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15217 * grub-core/disk/luks.c: Likewise.
15218 * grub-core/disk/lvm.c: Likewise.
15219 * grub-core/font/font_cmd.c: Likewise.
15220 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15221 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15222 * grub-core/gfxmenu/view.c: Likewise.
15223 * grub-core/kern/emu/hostdisk.c: Likewise.
15224 * grub-core/kern/emu/main.c: Likewise.
15225 * grub-core/kern/emu/misc.c: Likewise.
15226 * grub-core/kern/emu/mm.c: Likewise.
15227 * grub-core/kern/mips/arc/init.c: Likewise.
15228 * grub-core/kern/mips/loongson/init.c: Likewise.
15229 * grub-core/kern/partition.c: Likewise.
15230 * grub-core/lib/i386/halt.c: Likewise.
15231 * grub-core/lib/mips/arc/reboot.c: Likewise.
15232 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15233 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15234 * grub-core/loader/i386/xnu.c: Likewise.
15235 * grub-core/loader/multiboot.c: Likewise.
15236 * grub-core/net/bootp.c: Likewise.
15237 * grub-core/net/net.c: Likewise.
15238 * grub-core/normal/term.c: Likewise.
15239 * grub-core/partmap/bsdlabel.c: Likewise.
15240 * grub-core/parttool/msdospart.c: Likewise.
15241 * grub-core/term/gfxterm.c: Likewise.
15242 * grub-core/term/terminfo.c: Likewise.
15243 * grub-core/video/i386/pc/vbe.c: Likewise.
15244 * util/grub-menulst2cfg.c: Likewise.
15245 * util/grub-mkdevicemap.c: Likewise.
15246 * util/grub-mklayout.c: Likewise.
15247 * util/grub-mkrelpath.c: Likewise.
15248 * util/grub-script-check.c: Likewise.
15249 * util/ieee1275/grub-ofpathname.c: Likewise.
15250 * util/resolve.c: Likewise.
15251
073aa7a9
VS
152522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 Support %1$d syntax.
15255
15256 * tests/printf_unit_test.c: New file.
15257 * Makefile.util.def (printf_test): New test.
15258 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15259
c76b5417
VS
152602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15263 fix.
15264
df067ad1
VS
152652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15268 dprintf.
15269 * grub-core/font/font.c (grub_font_load): Likewise.
15270
5b289bc5
VS
152712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * util/grub-macho2img.c: Add comment concerning gettext.
15274 * grub-core/lib/legacy_parse.c: Likewise.
15275
c1860f87
VS
152762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15279 (grub_xvasprintf): Likewise.
15280
d35d0d37
VS
152812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Add const keyword to grub_env_get and gettextize week days.
15284
15285 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15286 (grub_read_hook_datetime): Return const char *.
15287 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15288 updated.
15289 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15290 Mark for gettext.
15291 (grub_get_weekday_name): Return const char *. Call gettext.
15292 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15293 char * and len as the argument. All users updated.
15294 (grub_script_argv_split_append): Receive const char *.
15295 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15296 * include/grub/env.h (grub_env_get): Likewise.
15297 (grub_env_read_hook_t): Return const char *.
15298 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15299 (grub_script_argv_split_append): Likewise.
15300
9aed8a71
VS
153012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15304
067fdf00
VS
153052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15308 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15309
a8bd9d39
VS
153102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15313 Fix prototype.
15314
f7ce5baf
VS
153152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 Fix mips compilation.
15318
15319 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15320 normal decoder.
15321 (hashes): Use in embed decoder as well (for sizes).
15322 (dec_stream_header): Fix embed decompressor logic.
15323 (dec_stream_footer): Likewise.
15324
9bb182f3
VS
153252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15328 an error and not a fatal on unrecognised relocation types.
15329
63a9e6f6
VS
153302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15333 Issue error rather than printf on unknown arguments.
15334
4c458569
VS
153352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15338 Make buf a const.
15339
e2d22baf
VS
153402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15343 Fix module name.
15344
53dc8590
VS
153452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15348 leftover debug printf.
15349
6c189294
VS
153502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15353
f7688369
VS
153542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15357 A stylistic fix.
15358
11a775a3
VS
153592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15362
33f784e8
SL
153632011-11-10 Shea Levy <slevy@tieronedesign.com>
15364
15365 Allow all modules to perform serial IO
15366
15367 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15368 * include/grub/serial.h (grub_serial_port_configure): New inline
15369 function.
15370 (grub_serial_port_fetch): Likewise.
15371 (grub_serial_port_put): Likewise.
15372 (grub_serial_port_fini): Likewise.
15373 (grub_serial_find): New proto.
15374
f6276525
VS
153752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Put symlink at the end of the node and fix a potential
15378 memory corruption.
15379
15380 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15381 Make symlink into an array.
15382 (set_rockridge): Set have_symlink and alloc_dirents.
15383 (grub_iso9660_read_symlink): Use new layout.
15384 (grub_iso9660_iterate_dir): Fix memory corruption.
15385 Use new layout.
15386 (grub_iso9660_dir): Set have_symlink.
15387 (grub_iso9660_open): Likewise.
15388
c3591189
VS
153892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 Remove local keyword.
15392
15393 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15394 (version_test_gt): Likewise.
15395 (version_find_latest): Likewise.
15396 (gettext_printf): Likewise.
15397 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15398
cb544caa
VS
153992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15402
45bd824d
VS
154032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 Fix ZFS memory and resource leaks.
15406
15407 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15408 All users updated.
15409 Free type on exit.
15410 (fill_vdev_info): New parameter inserted. All users updated.
15411 (check_pool_label): Likewise.
15412 (scan_disk): Likewise.
15413 (scan_devices): Close non-inserted disks.
15414 (fzap_iterate): Free l.
15415 (unmount_device): Free children descripto memory.
15416
ad9a2f44
VS
154172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15420 argument (access out of bounds).
15421
6b68db81
VS
154222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15425 >= 6 drives.
15426
28840fda
VS
154272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15430 Fix declaration.
15431
8a5a3a5b
VS
154322011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 Fix several memory leaks.
15435
15436 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15437 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15438 (grub_cpio_dir): Likewise.
15439 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15440 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15441 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15442 (grub_romfs_label): Likewise.
15443 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15444 (squash_unmount): New function.
15445 (grub_squash_dir): Fix memory leak.
15446 (grub_squash_open): Likewise.
15447 (grub_squash_read): Likewise.
15448 (grub_squash_mtime): Likewise.
15449 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15450 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15451 * util/grub-fstest.c (fstest): Likewise.
15452
57b01250
VS
154532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15456 avoid accessing beyond the array.
15457
19e81ba7
VS
154582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15461
52b656c0
VS
154622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 Several AFFS fixes.
15465
15466 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15467 (GRUB_AFFS_FLAG_FFS): Removed.
15468 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15469 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15470 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15471 (grub_fshelp_node): Make block 32-bit.
15472 Add block_cache and last_block_cache.
15473 (grub_affs_read_block): Fill and use block cache.
15474 (grub_affs_read_file): Removed.
15475 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15476 boot block.
15477 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15478 safety.
15479 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15480 space.
15481 (grub_affs_close): Free block cache.
15482 (grub_affs_read): Use grub_fshelp_read_file directly.
15483
438a746a
VS
154842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15487 with no error set.
15488
49a45021
VS
154892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15492 used variable.
15493 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15494 Likewise.
15495
3ae17eb8
VS
154962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15499
15500 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15501 byteswap when needed.
15502
27610c38
VS
155032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 Fix FreeBSD compilation.
15506
15507 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15508 to avoid circular dependency.
15509 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15510 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15511 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15512
4a19b601
VS
155132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 Fix ZFS crypto error types.
15516
15517 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15518 (grub_gcm_decrypt): Likewise.
15519 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15520 from PBKDF2.
15521
958ee221
VS
155222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Illumos support.
15525
15526 * Makefile.util.def (10_illumos): New script.
15527 * configure.ac: Set COND_HOST_ILLUMOS.
15528 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15529 Support Illumos calls.
15530 (find_partition_start) [__sun__]: Likewise.
15531 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15532 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15533 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15534 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15535 device.
15536 * util/grub-probe.c (probe) [__sun__]: Do character check.
15537 * util/grub.d/10_illumos.in: New file.
15538
cac14fb6
VS
155392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 Support escaped commas in hostdisk.
15542
15543 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15544 (find_grub_drive): Use unescape_cmp.
15545 (make_device_name): Escape commas.
15546
78e08dc3
VS
155472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15550
9f421dd1
VS
155512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15554 variable.
15555
ed64e9e2
VS
155562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Support trampoline jumps on powerpc.
15559
15560 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15561 __ia64__ path.
15562 (grub_dl_load_segments): Set mod->sz.
15563 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15564 segments.
15565 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15566 (jump): Likewise.
15567 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15568 function.
15569 (trampoline): New struct.
15570 (trampoline_template): New const.
15571 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15572 * include/grub/dl.h (grub_dl): Add sz element.
15573 [__powerpc__]: Follow __ia64__.
15574 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15575 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15576 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15577 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15578
3084ede4
VS
155792011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 ZFS crypto support.
15582
15583 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15584 * grub-core/Makefile.core.def (zfscrypt): New module.
15585 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15586 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15587 it. All users updated.
15588 (grub_zfs_decrypt): New var.
15589 (grub_zfs_load_key): Likewise.
15590 (zio_checksum_functions): Add SHA256+MAC.
15591 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15592 (zio_read): Handle encrypted blocks.
15593 (zap_verify): Remove incorrect check.
15594 (fzap_iterate): Handle non-standard fzap.
15595 (zap_iterate): Likewise.
15596 (zap_iterate_u64): New function.
15597 (dnode_get_fullpath): Load keys.
15598 * grub-core/fs/zfs/zfscrypt.c: New file.
15599 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15600 (grub_crypto_ecb_encrypt): Make input const.
15601 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15602 (grub_crypto_ecb_encrypt): Make input const.
15603 (GRUB_CIPHER_AES): New macro.
15604 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15605 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15606 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15607 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15608 prefix. All users updated.
15609 (grub_zfs_add_key): New proto.
15610 (grub_zfs_decrypt): Likewise.
15611 (grub_zfs_load_key): Likewise.
15612 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15613 * util/grub-fstest.c (options): Add -K option.
15614 (argp_parser): Likewise.
15615
b632b404
VS
156162011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 Support zle compression on ZFS.
15619
15620 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15621 (decomp_table): Add zle.
15622 * include/grub/zfs/zio.h (zio_compress): Add zle.
15623
c7ba4f69
VS
156242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 Support BtrFS embedding.
15627
15628 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15629 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15630 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15631 * util/grub-setup.c (setup): Use fs embedding if available.
15632 Add additional sanity check.
15633
455377d9
VS
156342011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * util/grub-install.in: Fix condition for config_opt.
15637
c2fd16ca
VS
156382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Support third redundancy strip on raidz3.
15641
15642 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15643 Return error on singularity. All users updated.
15644 (read_device): Don't stop on 3rd failure on raidz3.
15645
8622923b
VS
156462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 Support case-insensitive ZFS subvolumes.
15649
15650 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15651 All users updated.
15652 (zap_hash): Likewise.
15653 (name_cmp): New function.
15654 (zap_leaf_array_equal): New parameter case_insensitive.
15655 All users updated.
15656 (zap_leaf_lookup): Likewise.
15657 (fzap_lookup): Likewise.
15658 (zap_lookup): Likewise.
15659 (dnode_get_path): New parameter case_insensitive. Retrieve case
15660 sensitiviness of a volume. All users updated.
15661 (dnode_get_fullpath): New parameter case_insensitive.
15662 All users updated.
15663 (grub_zfs_dir): Set info.case_insensitiveness.
15664
95f2e860
VS
156652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Support second redundancy strip on raidz(2,3).
15668
15669 * grub-core/fs/zfs/zfs.c (powx): New array.
15670 (powx_inv): Likewise.
15671 (poly): New const.
15672 (xor_out): New function.
15673 (gf_mul): Likewise.
15674 (recovery): Likewise.
15675 (read_device): Use second redundancy strip.
15676
11ee4389
VS
156772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Use a power of generator representation of GF(256) multiplication group
15680 to save space time and complexity.
15681
15682 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15683 (raid6_table2): Likewise.
15684 (powx): New array.
15685 (powx_inv): Likewise.
15686 (poly): New const.
15687 (grub_raid_block_mul): Replace with ...
15688 (grub_raid_block_mulx): ...this.
15689 (grub_raid6_init_table): Rewritten.
15690 (grub_raid6_recover): Use power of generator representation.
15691
09e2763f
VS
156922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15695 for the right device.
15696
8bec9a28
VS
156972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15700 expected by grub-mkimage and it's more clear since there is no implicit
15701 padding.
15702
dbd3a32e
VS
157032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15706 disk.
15707 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15708
182c872a
PMH
157092011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15710
15711 * util/grub-mkrescue.in: Fix handling xorriso option.
15712
1e51cabd
VS
157132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15716 NULL.
15717
9cc3581d 157182011-11-03 crocket <crockabiscuit@gmail.com>
15719
15720 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15721
158dc1ea
VS
157222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 XZ CRC64 and SHA256 support.
15725
15726 * Makefile.util.def (libgrubmods): Add crc64.c.
15727 * grub-core/Makefile.core.def (crc64): New module.
15728 * grub-core/lib/crc64.c: New file.
15729 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15730 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15731 Fix the type.
15732 (MAX_HASH_SIZE): New define.
15733 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15734 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15735 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15736 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15737 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15738 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15739 Handle non-crc32 hashes.
15740 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15741 (dec_stream_header): Handle non-crc32 hashes.
15742 (dec_stream_footer): Likewise.
15743 (dec_block_header): Likewise.
15744 (dec_main): Likewise.
15745 (xz_dec_init): Likewise.
15746 (xz_dec_reset): Likewise.
15747 (xz_dec_end): Likewise.
15748 * util/import_gcry.py: Add CRC64 line.
15749
9d9b3d2f
VS
157502011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15753 as well.
15754
7d0ac931
VS
157552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 Make reiserfs label retrieval similar to other *_label functions.
15758
15759 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15760 (REISERFS_MAX_LABEL_LENGTH): Removed.
15761 (REISERFS_LABEL_OFFSET): Likewise.
15762 (grub_reiserfs_label): Rewritten.
15763
157642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15767 field.
15768
cf5ba824
VS
157692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15772
17744004
VS
157732011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15776 drive failure on both raidz and raidz2.
15777
aca5aefc
VS
157782011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 Fix RAIDZ(2) for >= 5 devices.
15781
15782 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15783 asize argument. All users updated.
15784
ce8ca56e
VS
157852011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Fix RAIDZ(2).
15788
15789 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15790 (fill_vdev_info_real): Set ashift.
15791 (read_device): Rewrite RAIDZ part based on reverse engineering.
15792
7c01e783
VS
157932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15796 don't report potentially unavialiable fields in debug output.
15797 (find_path): Fix double-free and memory leak.
15798
ce109e84
VS
157992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Read label on UFS1.
15802
15803 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15804 (grub_ufs_fs): Always set .label.
15805
87661123
VS
158062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 Use shifts in UFS.
15809
15810 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15811 (grub_ufs_data): New field log2_blksz.
15812 (grub_ufs_read_file): Use shifts.
15813 (grub_ufs_mount): Check block size and logarithm it.
15814
46bc1dc2
VS
158152011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15818 long symlinks.
15819
19ee2987
VS
158202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 Handle symlinks and long names on tar and cpio.
15823
15824 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15825 (ATTR_FILE): Likewise.
15826 (ATTR_DIR): Likewise.
15827 (ATTR_LNK): Likewise.
15828 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15829 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15830 L and K entries.
15831 (grub_cpio_mount): Zero-fill data.
15832 (handle_symlink): New function.
46bc1dc2
VS
15833 (grub_cpio_dir): Handle symlinks.
15834 (grub_cpio_open): Likewise.
15835 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15836
c83a08d8
VS
158372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 Fix iso9660 filename limitations and fix memory leaks.
15840
15841 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15842 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15843
45cdd3ea
VS
158442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 Fix JFS file name length limitations.
15847
15848 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15849 (grub_jfs_diropen): Fix maximum filename length.
15850 (grub_jfs_getent): Fix filename length.
15851 (grub_jfs_lookup_symlink): Fix size checks.
15852
94ef05c2
VS
158532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15856 string.
15857
785ab8c7
VS
158582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15859
eb0b6b45
VS
15860 Leverage BFS implementation to read AFS.
15861
15862 * Makefile.util.def (libgrubmods): Add afs.c.
15863 * grub-core/Makefile.core.def (afs): New module
15864 * grub-core/fs/afs.c: New file.
15865 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15866
158672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15870
c4a1628f
VS
158712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * grub-core/fs/bfs.c: Run indent.
15874
5825b379
VS
158752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 BFS implementation based on the specification.
15878
15879 * grub-core/fs/bfs.c: New file.
15880 * Makefile.util.def (libgrubmods): Add bfs.c.
15881 * grub-core/Makefile.core.def (bfs): New module.
15882
42b2a706
VS
158832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * util/grub-fstest.c (cmd_cp): Clarify error message.
15886 (cmd_cmp): Likewise.
15887
61b99bfc
YB
158882011-10-30 Yves Blusseau <blusseau@zetam.org>
15889
15890 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15891 and befs_be.
15892
faba3d16
VS
158932011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 Remove afs and befs because of copyright problem.
15896
15897 * grub-core/fs/afs.c: Removed.
15898 * grub-core/fs/afs_be.c: Removed.
15899 * grub-core/fs/befs.c: Removed.
15900 * grub-core/fs/befs_be.c: Removed.
15901 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15902 * grub-core/Makefile.core.def (afs): Removed.
15903 (afs_be): Likewise.
15904 (befs): Likewise.
15905 (befs_be): Likewise.
15906
c39224b0
VS
159072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 Prefer rockridge over Joliet.
15910
15911 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15912 to ...
15913 (set_rockridge): ... here.
15914 (grub_iso9660_mount): Check rockridge on the primary label when
15915 discovering. Ignore Joliet if Rockridge is present.
15916
e551115a
VS
159172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Use shifts in nilfs2.
15920
15921 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15922 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15923 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15924 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15925 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15926 (grub_nilfs2_entries_per_block): Replaced with ...
15927 (grub_nilfs2_log_entries_per_block_log): ... this.
15928 (grub_nilfs2_blocks_per_group): Replaced with ...
15929 (grub_nilfs2_blocks_per_group_log): ... this.
15930 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15931 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15932 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15933 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15934 (grub_nilfs2_palloc_entry_offset): Replaced ...
15935 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15936 (grub_nilfs2_dat_translate): Use shifts.
15937 (grub_nilfs2_read_inode): Likewise.
15938 (GRUB_MOD_INIT): Ensure that logs are correct.
15939
564dd58c
VS
159402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 Use shifts in minix filesystem.
15943
15944 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15945 (GRUB_MINIX_ZONE2SECT): Likewise.
15946 (grub_minix_data): Replace block_size with log_block_size.
15947 (grub_minix_read_file): Use shifts.
15948 (grub_minix_mount): Check block size and take a logarithm.
15949
ed9ba06d
VS
159502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 Use shifts in squash4.
15953
15954 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15955 (squash_mount): Check block size and take logarithm.
15956 (direct_read): Use shifts.
15957
ad03fe76
VS
159582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 Correct befs block counting logic.
15961
15962 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15963 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15964 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15965 (grub_afs_read_inode): Use block_shift.
15966 (RANGE_SHIFT): New definition.
15967 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15968 unexpected conditions, use shifts and appropriate types.
15969 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15970
6563f63d
VS
159712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 * grub-core/disk/raid.c (scan_devices): Check partition.
15974 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15975
5b1ae25f
VS
159762011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 Support BFS (befs) UUID.
15979
15980 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15981 (grub_afs_small_data_element_header): New struct.
15982 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15983 (grub_afs_read_attribute) [MODE_BFS]: New function.
15984 (grub_afs_iterate_dir): Allocate for complete inode.
15985 (grub_afs_mount): Likewise.
15986 (grub_afs_uuid) [MODE_BFS]: New function.
15987 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15988
f8d82408
VS
159892011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15992 (zfs_unmount): Fix memory leak.
15993
5773fb64
VS
159942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 Support NTFS reparse points.
15997
15998 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15999 (symlink_descriptor): New struct.
16000 (grub_ntfs_read_symlink): New function.
16001 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16002 (grub_ntfs_open): Likewise.
16003
91c3fdde
VS
160042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16007
3be82e10
VS
160082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 fstest xnu_uuid subcommand.
16011
16012 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16013 grub-core/commands/xnu_uuid.c.
16014 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16015 (fstest): Handle xnu_uuid.
16016 (options): Document xnu_uuid.
16017 (argp_parser): Parse xnu_uuid.
16018
8e32442e
VS
160192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16020
16021 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16022 -l argument. Add newline at the end if printing.
16023 (GRUB_MOD_INIT): Document -l.
16024
52a05075
VS
160252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16028
1869edb5
VS
160292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 ZFS multi-device and version 33 support.
16032
16033 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16034 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16035 (grub_zfs_data): Add multidev-ice-related fields.
16036 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16037 (dva_get_offset): Make dva const.
16038 (zfs_fetch_nvlist): New function.
16039 (fill_vdev_info_real): Likewise.
16040 (fill_vdev_info): Likewise.
16041 (check_pool_label): Likewise.
16042 (scan_disk): Likewise.
16043 (scan_devices): Likewise.
16044 (read_device): Likewise.
16045 (read_dva): Likewise.
16046 (zio_read_gang): Use read_dva.
16047 (zio_read_data): Likewise.
16048 (zap_leaf_lookup): Add missing endian conversion.
16049 (zap_verify): Add missing endian conversion. All users updated.
16050 (fzap_lookup): Likewise.
16051 (fzap_iterate): Likewise.
16052 (dnode_get_path): Handle SA bonus.
16053 (nvlist_find_value): Make input const. All users updated.
16054 (unmount_device): New function.
16055 (zfs_unmount): Use unmount_device.
16056 (zfs_mount): Use scan_disk.
16057 (zfs_mtime): New function.
16058 (grub_zfs_open): Handle system attributes.
16059 (fill_fs_info): Likewise.
16060 (grub_zfs_dir): Likewise.
16061 (grub_zfs_fs): Add mtime.
16062 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16063 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16064 (SA_MTIME_OFFSET): Likewise.
16065 (SA_SYMLINK_OFFSET): Likewise.
16066 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16067 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16068 (fstest): Support zfsinfo.
16069 (argp_parser): Likewise.
16070
186b4028
VS
160712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16074 error.
16075
160762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16077
16078 ZFS fixes.
16079
16080 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16081 sharing the same block. Iterate over correct number of indices.
16082 (dnode_get_path): Handle symlinks correctly.
16083
c0584900
VS
160842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16087
67e2bd71
VS
160882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 Read label on HFS+.
16091
16092 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16093 (grub_hfsplus_btree_search): Fix types.
16094 (grub_hfsplus_label): Implement.
16095
e9cc6b7b
VS
160962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16099
19832ddb
VS
161002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16103
66b40850
VS
161042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 Fix symlink handling on iso9660.
16107
16108 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16109 All users updated.
16110 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16111 (grub_iso9660_read_symlink): Moved most of code ...
16112 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16113
db821363
VS
161142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16117 Use union to avoid breaking strict-aliasing rules.
16118
e1211949
VS
161192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 Support multi-extent iso files.
16122
16123 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16124 Add node.
16125 (grub_fshelp_node): Revamp. All users updated.
16126 (FLAG_*): New enum.
16127 (read_node): New function.
16128 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16129 All users updated.
16130 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16131 (get_node_size): New function.
16132 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16133 entries.
16134 Fix memory leak on . and ..
16135 (grub_iso9660_read): Use read_node.
16136 (grub_iso9660_close): Free node.
16137
d4888031
VS
161382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Fix tar 4G limit and handle paths containing dot.
16141
16142 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16143 (canonicalize): New function.
16144 (grub_cpio_find_file): Use canonicalize. Store offs in
16145 grub_disk_addr_t.
16146 (grub_cpio_dir): Use grub_disk_addr_t.
16147 (grub_cpio_open): Likewise.
16148
9f12e664
VS
161492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16152
16153 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16154 unused flags.
16155 (grub_squash_inode): Add long_file and block_size.
16156 (grub_squash_cache_inode): New struct.
16157 (grub_squash_dirent): Make types into enum.
16158 (SQUASH_TYPE_LONG_REGULAR): New type.
16159 (grub_squash_frag_desc): Add field size.
16160 (SQUASH_BLOCK_FLAGS): New enum.
16161 (grub_squash_data): Use grub_squash_cache_inode.
16162 (grub_fshelp_node): Make ino_chunk 64-bit.
16163 (read_chunk): Minor argument change. All users updated.
16164 (squash_mount): Use correct le_to_cpu.
16165 (grub_squash_open): Handle LONG_REGULAR.
16166 (direct_read): New function.
16167 (grub_squash_read_data): Handle blocks correctly.
16168
9f326fba
VS
161692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16172
f4d9b64b
VS
161732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16176
5bbd28b8
VS
161772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Fix 2G limit on ZFS.
16180
16181 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16182 types.
16183 (uberblock_verify): Likewise.
16184 (dmu_read): Likewise.
16185 (grub_zfs_read): Likewise. Remove invalid cast.
16186
68c72069
VS
161872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16190 (grub_jfs_blkno): Fix incorrect shift.
16191 (grub_jfs_read_file): Use more appropriate types.
16192
6e536dc8
VS
161932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Support triple indirect on minix2 and minix3.
16196
16197 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16198 Declare triple_indir_zone.
16199 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16200 indirect.
16201
e0864e7a
VS
162022011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 Minix FS fixes.
16205
16206 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16207 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16208 Rename ctime to mtime. All users updated.
16209 (grub_minix_get_file_block): Fix types and double indirect computations.
16210
89481cab
VS
162112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16214 if no label is found.
16215 (grub_fat_iterate_dir): Fix file size type.
16216 (grub_fat_iterate_dir): Likewise.
16217
f646e143
VS
162182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16221 save some space.
16222 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16223 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16224
534d769e
VS
162252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16228
e084ba18
VS
162292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 * util/import_gcry.py: Accept space between # and include.
16232
3471ecdf
VS
162332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16236
124df5f6
VS
162372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16240
16241 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16242 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16243 yylex_strncpy.
16244 * grub-core/script/yylex.l: Add fine-grained #pragma.
16245
4defb8d5
VS
162462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16249 New inline function.
16250 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16251 Likewise.
16252 (memset) [GRUB_UTIL]: Likewise.
16253 (memcmp) [GRUB_UTIL]: Likewise.
16254
4e94ae65
VS
162552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16258 inline function rather than a define.
16259
18c575e5
VS
162602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * util/grub-setup.c: Add missing include.
16263
f8bc22a8
VS
162642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * util/ieee1275/grub-ofpathname.c: Add missing include.
16267
3ce69fc9
VS
162682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16271 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16272 Likewise.
16273
d1e293bb
VS
162742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16277 grub_memcmp usage.
16278
7a5c54a4
VS
162792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * util/grub-install.in: Add datarootdir as per automake manual
16282 suggestion.
16283 * util/grub-mknetdir.in: Likewise.
16284
162852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16286
16287 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16288 suggestion.
16289 * util/grub.d/10_kfreebsd.in: Likewise.
16290 * util/grub.d/10_linux.in: Likewise.
16291 * util/grub.d/10_netbsd.in: Likewise.
16292 * util/grub.d/10_windows.in: Likewise.
16293 * util/grub.d/20_linux_xen.in: Likewise.
16294
766f7d08
VS
162952011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 Remove redundant grub_kernel_image_size.
16298
16299 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16300 _edata and _start.
16301 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16302 the small code. It moves it only by few bytes but simplifies the code.
16303 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16304 _start.
16305 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16306 (grub_kernel_image_size): Removed.
16307 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16308 (grub_kernel_image_size): Removed.
16309 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16310 compiled with Apple toolchain.
16311 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16312 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16313 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16314 (grub_total_module_size): Likewise.
16315 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16316 Removed.
16317 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16318 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16319 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16320 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16321 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16322 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16323 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16324 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16325 Removed.
16326 (grub_total_module_size): Removed.
16327 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16328 (image_targets): Likewise.
16329 Set .compressed_size to no field on sparc.
16330 (generate_image): Remove kernel_image_size handling.
16331
fcf1d672
SJ
163322011-10-19 Szymon Janc <szymon@janc.net.pl>
16333
16334 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16335 NULL pointer dereference.
16336
de9c615e
VS
163372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16340 done with a dedicated section.
16341
16342 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16343 Ensure the correct position of boot_path.
16344 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16345 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16346 other fields.
16347 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16348 * include/grub/boot.h: Removed. All references removed.
16349 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16350 Removed.
16351 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16352
e55599dc
VS
163532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16356 name.
16357
36dd20ad
VS
163582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16361
f8f72eb8
VS
163622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16365 Don't add the bogus brackets.
16366
a374751b
VS
163672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 ExFAT support.
16370
16371 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16372 * grub-core/Makefile.core.def (exfat): New module.
16373 * grub-core/fs/exfat.c: New file.
16374 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16375 (GRUB_FAT_ATTR_*): Make into an enum.
16376 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16377 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16378 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16379 (GRUB_FAT_MAXFILE): Removed.
16380 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16381 (grub_current_fat_bpb_t): New type.
16382 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16383 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16384 (grub_fat_dir_node_t): New type.
16385 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16386 (fat_log2) [MODE_EXFAT]: Removed.
16387 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16388 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16389 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16390 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16391 (grub_fat_label) [MODE_EXFAT]: New function.
16392 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16393 reserved_first_sector to 0.
16394
544c2487
VS
163952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 Move grub_reboot out of the kernel.
16398
16399 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16400 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16401 * grub-core/lib/efi/reboot.c: ... here.
16402 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16403 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16404 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16405 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16406 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16407 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16408 * grub-core/lib/ieee1275/reboot.c: ... here.
16409 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16410 * grub-core/lib/mips/arc/reboot.c: ... here.
16411 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16412 * grub-core/lib/mips/loongson/reboot.c: ...here.
16413 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16414 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16415 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16416 * include/grub/i386/reboot.h: New file.
16417 * include/grub/mips/loongson/ec.h: Fix includes.
16418 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16419 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16420 * grub-core/lib/i386/reboot.c: New file.
16421
a97501d2
VS
164222011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 Make grub_prefix into module to fix the arbitrary limit and save
16425 some space.
16426
16427 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16428 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16429 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16430 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16431 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16432 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16433 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16434 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16435 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16436 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16437 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16438 * include/grub/ia64/efi/kernel.h: Removed.
16439 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16440 (grub_prefix): Removed.
16441 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16442 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16443 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16444 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16445 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16446 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16447 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16448 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16449 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16450 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16451 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16452 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16453 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16454 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16455 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16456 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16457 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16458 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16459 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16460 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16461 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16462 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16463 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16464 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16465 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16466 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16467 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16468 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16469 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16470 from module.
16471 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16472 prefix_end.
16473 (image_targets): Likewise.
16474 (generate_image): Put prefix as a module.
16475
39705fad
VS
164762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 Replace grub_module_iterate with FOR_MODULES.
16479
16480 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16481 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16482 (grub_efi_modules_addr): ...this.
16483 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16484 (grub_efi_init): Set grub_modbase.
16485 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16486 (grub_modbase): New variable.
16487 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16488 (grub_modbase): New variable.
16489 (grub_machine_init): Set grub_modbase.
16490 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16491 (grub_modbase): New variable.
16492 (grub_machine_init): Set grub_modbase.
16493 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16494 (grub_modbase): New variable.
16495 (grub_machine_init): Set grub_modbase.
16496 * grub-core/kern/main.c (grub_module_iterate): Remove.
16497 (grub_modules_get_end): Use grub_modbase.
16498 (grub_load_modules): Use FOR_MODULES.
16499 (grub_load_config): Likewise.
16500 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16501 (grub_modbase): New variable.
16502 (grub_machine_init): Set grub_modbase.
16503 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16504 (grub_modbase): New variable.
16505 (grub_machine_init): Set grub_modbase.
16506 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16507 Removed.
16508 (grub_modbase): New variable.
16509 (grub_machine_init): Set grub_modbase.
16510 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16511 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16512 (grub_module_iterate): Likewise.
16513 (grub_modbase): New variable declaration.
16514 (FOR_MODULES): New macro.
16515
2afb7f6c
VS
165162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16519 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16520
366e34fa
VS
165212011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 Fix few obvious type discrepancies.
16524
16525 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16526 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16527 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16528 variable.
16529 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16530 and connected types.
16531 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16532 offset.
16533 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16534 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16535 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16536 and connected types.
16537
177b960e
VS
165382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 Fix python 3.x incompatibilities.
16541
16542 * gentpl.py: Put brackets around print strings.
16543 * util/import_gcry.py: Open explicitly as utf-8.
16544 Use in instead of has_key.
16545
3b619ae1
VS
165462011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16549 (GRUB_XFS_INO_AGBITS): Make into inline function.
16550 (GRUB_XFS_INO_INOINAG): Likewise.
16551 (GRUB_XFS_INO_AG): Likewise.
16552 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16553 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16554 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16555 (GRUB_XFS_EXTENT_SIZE): Likewise.
16556 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16557 (GRUB_XFS_NEXT_DIRENT): Likewise.
16558 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16559 (grub_xfs_read_file): Fix offset type.
16560
8bcebcb8
RM
165612011-10-15 Robert Millan <rmh@gnu.org>
16562
16563 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16564
0017e5ef
RM
165652011-10-15 Robert Millan <rmh@gnu.org>
16566
16567 Fix build problem on FreeBSD and GNU/kFreeBSD.
16568
16569 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16570
d8919552
VS
165712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16574
16575 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16576 types.
16577 (grub_hfsplus_btree_recoffset): Likewise.
16578 (grub_hfsplus_btree_recptr): Likewise.
16579 (grub_hfsplus_find_block): Likewise.
16580 (grub_hfsplus_btree_search): Likewise.
16581 (grub_hfsplus_read_block): Likewise.
16582 (grub_hfsplus_read_file): Likewise.
16583 (grub_hfsplus_mount): Likewise.
16584 (grub_hfsplus_btree_iterate_node): Likewise.
16585 (grub_hfsplus_btree_search): Likewise.
16586 (grub_hfsplus_iterate_dir): Likewise.
16587 (grub_hfsplus_read): A small code simplification.
16588
c81296b6
VS
165892011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 * grub-core/kern/emu/hostdisk.c
16592 (convert_system_partition_to_system_disk): Don't assume that children
16593 of mapper nodes are mapper nodes.
16594
0eb8ffb1
VS
165952011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16598 * include/grub/misc.h (grub_isxdigit): New function.
16599 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16600 switched to grub_isxdigit.
16601 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16602 number starting with a letter.
16603
a98f4a08
RM
166042011-10-09 Robert Millan <rmh@gnu.org>
16605
16606 LVM support for FreeBSD and GNU/kFreeBSD.
16607
16608 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16609 GNU/kFreeBSD.
16610 (LVM_DEV_MAPPER_STRING): Move from here ...
16611 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16612 * util/getroot.c: Include `<grub/util/lvm.h>'.
16613 (grub_util_get_dev_abstraction): Enable
16614 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16615 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16616 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16617 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16618 support it.
16619 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16620 GNU/kFreeBSD.
16621 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16622 when LVM abstraction is required for ${GRUB_DEVICE}.
16623
050e8e90
SJ
166242011-10-06 Szymon Janc <szymon@janc.net.pl>
16625
16626 Add support for LZO compression in GRUB:
16627 - import of minilzo library,
16628 - LZO decompression for btrfs,
16629 - lzop files decompression.
16630
16631 * grub-core/io/lzopio.c: New file.
16632 * grub-core/lib/adler32.c: Likewise.
16633 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16634 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16635 * grub-core/lib/minilzo/minilzo.c: Likewise.
16636 * grub-core/lib/minilzo/minilzo.h: Likewise.
16637 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16638 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16639 grub-core/lib/minilzo/minilzo.c to common.
16640 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16641 cflags in cppflags.
16642 * grub-core/Makefile.core.def (btrfs): Likewise.
16643 * grub-core/Makefile.core.def (lzopio): New module.
16644 (adler32): Likewise.
16645 * grub-core/fs/btrfs.c: Include minilzo.h.
16646 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16647 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16648 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16649 (grub_btrfs_lzo_decompress): New function.
16650 (grub_btrfs_extent_read): Add support for LZO compression type.
16651 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16652 (GRUB_USHRT_MAX): Likewise.
16653 (GRUB_UINT_MAX): Likewise.
16654 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16655 (UINT_MAX): Likewise.
16656 (CHAR_BIT): Likewise.
16657 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16658 grub-core/lib/posix_wrap/limits.h
16659 (UCHAR_MAX): Likewise.
16660 * include/grub/file.h (grub_file_filter_id): New compression filter
16661 GRUB_FILE_FILTER_LZOPIO.
16662 * include/grub/file.h (grub_file_filter_id): Set
16663 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16664 * include/grub/types.h (grub_get_unaligned16): New function.
16665 (grub_get_unaligned32): Likewise.
16666 (grub_get_unaligned64): Likewise.
16667 * util/import_gcry.py (cryptolist): Add adler32.
16668
0eb8ffb1
VS
166692011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16672 in perspective decreases the complexity of build system and fixes
16673 compilation right now.
16674
ce79cc99 166752011-10-01 Ales Nesrsta <starous@volny.cz>
16676
16677 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16678 (fixed problem related to using UHCI with coreboot).
16679
8667a314
BC
166802011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16681
16682 * gentpl.py: Use Autogen macros so that the output template file
16683 (Makefile.tpl) size is reduced.
16684
fc5efcc0
MK
166852011-09-29 Mads Kiilerich <mads@kiilerich.com>
16686
16687 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16688 extra_dist.
16689
d1ab689d
ML
166902011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16691
16692 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16693 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16694
c05de032
ML
166952011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16696
16697 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16698 _fullpath.
16699
cca7ccd8
ML
167002011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16701
16702 Remove extra declaration of sleep for mingw32.
16703
16704 * util/misc.c (sleep) [__MINGW32__]: Removed.
16705 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16706
e0b0dc83
GS
167072011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16708
16709 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16710 type and packname.
16711 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16712 Resurrected.
16713 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16714 (grub_netbsd_btinfo_bootwedge): New struct.
16715 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16716 New function.
16717 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16718
91a1a164
TH
167192011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16720
16721 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16722 loader.
16723
2ded951e
AB
167242011-09-28 Andreas Born <futur.andy@googlemail.com>
16725
16726 Fix incorrect identifiers in bash-completion.
16727
16728 * util/bash-completion.d/grub-completion.bash.in
16729 (_grub_mkpasswd-pbkdf2): Rename to ...
16730 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16731 (_grub_script-check): Rename to ...
16732 (_grub_script_check): ... this. All users updated.
16733
69915030
VS
167342011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16737 Return 0 if disk isn't biosdisk.
16738
20fd15f9
GS
167392011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16740
16741 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16742 on NetBSD.
16743 * Makefile.util.def (grub-fstest): Likewise.
16744
1a7d7db9
GS
167452011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16746
16747 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16748 Get sector size from disk label.
16749
2221ab6c
CW
167502011-09-05 Colin Watson <cjwatson@ubuntu.com>
16751
16752 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16753 */README* as well as README*.
16754 Reported by: Axel Beckert.
16755
ca51c4a0
VS
167562011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16759 case of less than 256 MiB of RAM.
16760
ab80f326
VS
167612011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * grub-core/commands/wildcard.c (make_regex): Handle @.
16764
4155e697
VS
167652011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16768
ab178c08
SJ
167692011-08-21 Szymon Janc <szymon@janc.net.pl>
16770
16771 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16772 AC_LANG_CONFTEST macros.
16773
7dc3c686
SJ
167742011-08-20 Szymon Janc <szymon@janc.net.pl>
16775
16776 Add grub-fstest option to uncompress data for commands.
16777
16778 * util/grub-fstest.c (uncompress): New var.
16779 (options): New option -u.
16780
fe8d4a7b
SJ
167812011-08-20 Szymon Janc <szymon@janc.net.pl>
16782
16783 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16784 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16785
a5219af1
SJ
167862011-08-20 Szymon Janc <szymon@janc.net.pl>
16787
16788 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16789 file type was not recognized correctly (not gzip or corrupted).
16790
f87abff5
VS
167912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16794 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16795
d94497ea
VS
167962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16799 loongson.
16800 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16801 video_radeon_fuloong2e.
16802 * grub-core/video/radeon_fuloong2e.c: New file.
16803 * include/grub/video.h (grub_video_id_t): Add new ID
16804 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16805
0d1fd011
VS
168062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16809 define.
16810 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16811 that PRID matches the detected subplatform and reset the subplatform
16812 if it doesn't.
16813
84beb0ee
VS
168142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16817
1227c133
VS
168182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16819
16820 Fix PCI iterating on functions >= 4.
16821
16822 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16823 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16824 Removed.
16825 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16826 (grub_pci_read): Fix bitmask.
16827 (grub_pci_read_word): Likewise.
16828 (grub_pci_read_byte): Likewise.
16829 (grub_pci_write): Likewise.
16830 (grub_pci_write_word): Likewise.
16831 (grub_pci_write_byte): Likewise.
16832
9594c689
VS
168332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16834
16835 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16836 can still be specified in TARGET_CFLAGS)
16837
14a2562c
VS
168382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16841
16842 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16843 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16844 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16845 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16846 (FULOONG): Rename to ...
16847 (FULOONG2F): ... this. All users updated.
16848 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16849 (machtype_fuloong2f_str): ... this.
16850 (machtype_fuloong2e_str): New string.
16851 Check for machtype_fuloong2e_str.
16852 * grub-core/loader/mips/linux.c (loongson_machtypes)
16853 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16854 * grub-core/term/serial.c (loongson_defserial)
16855 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16856 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16857 loongson_defserial.
16858 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16859 Rename to ...
16860 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16861 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16862 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16863 to IMAGE_FULOONG2F_FLASH. All users updated.
16864 (image_targets): Rename images.
16865 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16866
b526cbb6
SJ
168672011-08-19 Szymon Janc <szymon@janc.net.pl>
16868
16869 Make enable of disk cache statistics code configurable.
16870
16871 * configure.ac: --enable-cache-stats added.
16872 * config.h.in (DISK_CACHE_STATS): New define.
16873 * grub-core/Makefile.core.def (cacheinfo): New command.
16874 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16875 * grub-core/commands/cacheinfo.c: New file.
16876 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16877 moved to cacheinfo.c.
16878 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16879 debug code.
16880 * include/grub/disk.h: Likewise.
16881
fb739ccd
SJ
168822011-08-19 Szymon Janc <szymon@janc.net.pl>
16883
16884 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16885 * grub-core/Makefile.am: Likewise.
16886
2bba8cfd
VS
168872011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16890 non-zero pull.
16891
43526629
VS
168922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16895 All users updated.
16896 (grub_jfs_lookup_symlink): Use correct starting inode.
16897
5c144cc8
VS
168982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * util/grub-setup.c (main): Add missing gcry initialisation.
16901
b1257f65
VS
169022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Don't accept text modes on EFI when booting Linux.
16905
16906 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16907 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16908
828bc390
ML
169092011-08-15 Mario Limonciello <mario_limonciello@dell.com>
169102011-08-15 Colin Watson <cjwatson@ubuntu.com>
16911
16912 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16913 use of "/path/.." as in grub-install for EFI as well as handling
16914 symlinks correctly.
16915 Fixes Debian bug #637768.
16916
5f60ccac
CW
169172011-08-15 Colin Watson <cjwatson@ubuntu.com>
16918
16919 * util/grub-probe.c: Remove duplicate #include.
16920
6dc212f9
RM
169212011-08-10 Robert Millan <rmh@gnu.org>
16922
16923 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16924
16925 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16926 function.
16927 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16928 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16929
66816d85
RM
169302011-08-03 Robert Millan <rmh@gnu.org>
16931
16932 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16933 la_array as packed.
16934 Reported by: Zachary Bedell
16935
20168fca
CW
169362011-07-26 Colin Watson <cjwatson@ubuntu.com>
16937
16938 * configure.ac: The Loongson port requires grub-mkfont due to its
16939 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16940 be built.
16941
303b6246
CW
169422011-07-26 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16945 processing arguments (otherwise help2man fails when GRUB has not yet
16946 been installed).
16947
6795300e
VS
169482011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16949
41aa28ea
VS
16950 New script grub-mkstandalone.
16951
16952 * Makefile.util.def (grub-mkstandalone): New script.
16953 * docs/man/grub-mkstandalone.h2m: New file.
16954 * util/grub-mkstandalone.in: Likewise.
16955
169562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16957
16958 Support ATA disks with 4K sectors.
6795300e
VS
16959
16960 * include/grub/ata.h (grub_ata): New member log_sector_size.
16961 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16962 (grub_ata_identify): Read sector size.
16963 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16964
92227597
VS
169652011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * util/grub-install.in: Don't use uhci outside of x86.
16968
c77069f5
VS
169692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * util/grub-mkrescue.in: Add missing quotes.
16972
169732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16974
16975 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16976 dereference.
16977
583168a2
VS
169782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16981
6be1c01f
VS
169822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * include/grub/video.h: add missing EXPORT_FUND on
16985 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16986
a1167439
VS
169872011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * include/grub/mips/kernel.h: Fix define conflict.
16990
bf66054f
VS
169912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16994 all four ways.
16995
8fc4fa45
CW
169962011-07-21 Colin Watson <cjwatson@ubuntu.com>
16997
16998 Preferred resolution detection for VBE.
16999
17000 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17001 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17002 the Flat Panel extension, in line with the X.org VESA driver.
17003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17004 New function.
17005 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17006 (grub_vbe_bios_read_edid): Likewise.
17007 (grub_vbe_get_preferred_mode): Likewise.
17008 (grub_video_vbe_setup): When the mode is "auto", try to get the
17009 preferred mode from VBE, and use the largest mode that is no larger
17010 than the preferred mode (some BIOSes expose a preferred mode that is
17011 not in their mode list!). If this fails, fall back to 640x480 as a
17012 safe conservative choice.
17013 (grub_video_vbe_get_edid): New function.
17014 (grub_video_vbe_adapter): Add get_edid.
17015 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17016 (struct grub_video_adapter): Add get_edid.
17017 (grub_video_edid_checksum): Add prototype.
17018 (grub_video_edid_preferred_mode): Likewise.
17019 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17020 structure.
17021
17022 * grub-core/commands/videoinfo.c (print_edid): New function.
17023 (grub_cmd_videoinfo): Print EDID if available.
17024
17025 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17026 is more appropriate on a wider range of platforms than 640x480.
17027 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17028 documentation.
17029
ca5572a9
VS
170302011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17033
e4bcf625
VS
170342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * po/POTFILES.in: Regenerate.
17037
c4edd548
VS
170382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17041 incorrect memory usage.
17042
16a2bab0
VS
170432011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 * util/grub-install.in: Source grub-mkconfig_lib.
17046
2e418de6
VS
170472011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 Remove getroot.c from core on emu platform.
17050
17051 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17052 kern/emu/raid.c.
17053 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17054 useless.
17055 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17056 * util/getroot.c (get_win32_path): ... here.
17057 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17058 * util/getroot.c (fini_libzfs): ... here.
17059 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17060 * util/getroot.c (grub_get_libzfs_handle): ... here.
17061 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17062 Moved from here...
17063 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17064 * grub-core/kern/emu/misc.c
17065 (grub_make_system_path_relative_to_its_root): Moved from here...
17066 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17067 * grub-core/kern/emu/getroot.c: Moved from here ...
17068 * util/getroot.c: ... here. All users updated.
17069 * grub-core/kern/emu/raid.c: Moved from here ...
17070 * util/raid.c: ... here. All users updated.
17071
def9832a
VS
170722011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * po/POTFILES.in: Regenerate.
17075
cd8fe79a
VS
170762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 Fix compilation on GNU/Linux.
17079
17080 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17081 Disable geli.
17082 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17083 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17084 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17085
a251b719
VS
170862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
170872011-07-07 Michael Gorven <michael@gorven.za.net>
170882011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17089
17090 LUKS and GELI support.
17091
17092 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17093 grub-core/disk/luks.c, grub-core/disk/geli.c,
17094 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17095 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17096 grub-core/lib/arg.c.
17097 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17098 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17099 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17100 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17101 (grub-bin2h): Add libgcry.a.
17102 (grub-mkimage): Likewise.
17103 (grub-mkrelpath): Likewise.
17104 (grub-script-check): Likewise.
17105 (grub-editenv): Likewise.
17106 (grub-mkpasswd-pbkdf2): Likewise.
17107 (grub-pe2elf): Likewise.
17108 (grub-fstest): Likewise.
17109 (grub-mkfont): Likewise.
17110 (grub-mkdevicemap): Likewise.
17111 (grub-probe): Likewise.
17112 (grub-ofpath): Likewise.
17113 (grub-mklayout): Likewise.
17114 (example_unit_test): Likewise.
17115 (grub-menulst2cfg): Likewise.
17116 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17117 * grub-core/Makefile.core.def (cryptodisk): New module.
17118 (luks): Likewise.
17119 (geli): Likewise.
17120 * grub-core/disk/AFSplitter.c: New file.
17121 * grub-core/disk/cryptodisk.c: Likewise.
17122 * grub-core/disk/geli.c: Likewise.
17123 * grub-core/disk/luks.c: Likewise.
17124 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17125 grub_util_is_lvm.
17126 (grub_util_get_dm_abstraction): New function.
17127 (grub_util_follow_gpart_up): Likewise.
17128 (grub_util_get_geom_abstraction): Likewise.
17129 (grub_util_get_dev_abstraction): Use new functions.
17130 (grub_util_pull_device): Pull GELI and LUKS.
17131 (grub_util_get_grub_dev): Handle LUKS and GELI.
17132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17133 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17134 (follow_geom_up): Removed.
17135 (grub_util_fd_seek): New function.
17136 (open_device): Use grub_util_fd_seek.
17137 (nread): Rename to ..
17138 (grub_util_fd_read): ... this. All users updated.
17139 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17140 (grub_crypto_cbc_decrypt): Likewise.
17141 (grub_crypto_hmac_write): Likewise.
17142 (grub_crypto_hmac_buffer): Likewise.
17143 (grub_password_get): Extend to util.
17144 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17145 New member modname.
17146 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17147 * include/grub/cryptodisk.h: New file.
17148 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17149 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17150 LUKS and GELI.
17151 (grub_util_follow_gpart_up): New proto.
17152 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17153 (grub_util_fd_read): Likewise.
17154 (grub_cryptodisk_cheat_mount): Likewise.
17155 (grub_util_cryptodisk_print_uuid): Likewise.
17156 (grub_util_get_fd_sectors): Likewise.
17157 * util/grub-fstest.c (mount_crypt): New var.
17158 (fstest): Mount crypto if requested.
17159 (options): New option -C.
17160 (argp_parser): Parse -C.
17161 (main): Init and fini gcry.
17162 * util/grub-install.in: Support cryptodisk install.
17163 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17164 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17165 cryptodisk.
17166 (prepare_grub_to_access_device): Likewise.
17167 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17168 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17169 (probe_cryptodisk_uuid): New function.
17170 (probe_abstraction): Likewise.
17171 (probe): Use new functions.
17172 * util/import_gcry.py: Create Makefile.utilgcry.def.
17173 Add modname member.
17174
9bfdcbbc
VS
171752011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 Lazy device scanning.
17178
17179 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17180 (grub-setup): Remove util/raid.c.
17181 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17182 * grub-core/disk/lvm.c (scan_depth): New variable.
17183 (grub_lvm_iterate): Rescan if necessary.
17184 (find_lv): New function based on grub_lvm_open.
17185 (grub_lvm_open): Use find_lv. Rescan on error.
17186 (is_node_readable): New function.
17187 (is_lv_readable): Likewise.
17188 (grub_lvm_scan_device): Skip already found disks.
17189 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17190 Stop if searched device is found and readable.
17191 * grub-core/disk/raid.c (inscnt): New variable.
17192 (scan_depth): Likewise.
17193 (scan_devices): New function based on grub_raid_register. Abort if
17194 looked for device is found.
17195 (grub_raid_iterate): Rescan if needed.
17196 (find_array): NEw function based on -grub_raid_open.
17197 (grub_raid_open): Use find_array and rescan.
17198 (insert_array): Set became_readable_at.
17199 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17200 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17201 New function.
17202 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17203 (grub_util_pull_device): New function.
17204 (grub_util_get_grub_dev): Call grub_util_pull_device.
17205 * util/raid.c: Moved to ..
17206 * grub-core/kern/emu/raid.c: ... here.
17207 (grub_util_raid_getmembers): New parameter "bootable".
17208 All users updated. Support 1.x.
17209 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17210 All users updated.
17211 * include/grub/disk.h (grub_disk_pull_t): New enum.
17212 (grub_disk_dev): Change iterate prototype.
17213 All users updated.
17214 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17215 New proto.
17216 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17217 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17218 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17219 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17220 All users updated.
17221 * include/grub/util/raid.h: Removed.
17222
1c358e59
VS
172232011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * po/POTFILES.in: Regenerate.
17226
abee94ed
VS
172272011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Unify sparc init with other ieee1275.
17230
17231 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17232 instead of kern/sparc64/ieee1275/init.c.
17233 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17234 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17235 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17236 grub/machine/kernel.h.
17237 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17238 (grub_claim_heap) [__sparc__]: Use sparc version.
17239 (grub_machine_init): Moved args parsing to
17240 (grub_parse_cmdline): ...this.
17241 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17242 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17243 New definition.
17244 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17245
17246 Move BOOTP to separate file.
17247
17248 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17249 * grub-core/net/net.c: Move all BOOTP functions to
17250 * grub-core/net/bootp.c: ... here.
17251
17252 Use frame interface on PXE.
17253
17254 * grub-core/Makefile.core.def (pxecmd): Removed.
17255 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17256 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17257 * grub-core/i386/pc/pxe.c: Moved from here ...
17258 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17259 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17260 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17261
17262 EFI network support.
17263
17264 * grub-core/Makefile.core.def (efinet): New module.
17265 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17266 here...
17267 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17268 All users updated.
17269 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17270 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17271 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17272 * grub-core/net/drivers/efi/efinet.c: New file.
17273 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17274 (grub_efi_net_config): New extern var.
17275
17276 Various cleanups and bugfixes.
17277
17278 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17279 error.
17280 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17281 disk declared as partition.
17282 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17283 leak on failure.
17284 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17285 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17286 (grub_debug_zalloc): Likewise.
17287 (grub_debug_realloc): Likewise.
17288 (grub_debug_memalign): Likewise.
17289 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17290 Check that target is IPv4.
17291 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17292 local-mac-address as fallback.
17293 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17294 memory leak.
17295 * grub-core/net/ip.c (ipchksum): Rename to ...
17296 (grub_net_ip_chksum): ... this. All users updated.
17297 (grub_net_recv_ip_packets): Special handling for DHCP.
17298 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17299
17300 Unify prefix handling
17301
17302 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17303 (grub_machine_get_bootlocation): ... this.
17304 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17305 (grub_machine_get_bootlocation): ... this.
17306 (grub_prefix): New variable.
17307 (prefix): Removed.
17308 (root_dev): New variable.
17309 (dir): Likewise.
17310 (main): Use new variables.
17311 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17312 Revamped into ...
17313 (grub_machine_get_bootlocation): ... this.
17314 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17315 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17316 (grub_machine_get_bootlocation): ... this.
17317 (grub_machine_set_prefix): Removed.
17318 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17319 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17320 Revamped into ...
17321 (grub_machine_get_bootlocation): ... this.
17322 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17323 (grub_set_prefix_and_root): ... this. All users updated.
17324 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17325 Revamped into ...
17326 (grub_machine_get_bootlocation): ... this.
17327 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17328 (grub_machine_get_bootlocation): New proto.
17329 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17330
17331 Less intrusive and more reliable seek on network implementation.
17332
17333 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17334 (grub_file_seek): Don't call grub_file_net_seek.
17335 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17336 (grub_net_fs_read_real): .. this.
17337 (grub_net_seek_real): Use net->offset.
17338 (grub_net_fs_read): Seek if necessary.
17339
17340 Unify IEEE1275 netwotk config with the other platforms.
17341
17342 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17343 New variable.
17344 (grub_machine_get_bootlocation): Support network.
17345 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17346 Support type and device parsing.
17347 (grub_ieee1275_get_device_type): New function.
17348 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17349 into ...
17350 (grub_ieee1275_net_config_real): ... this.
17351 (grub_ofnet_probecards): Removed.
17352 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17353 * include/grub/ieee1275/ofnet.h: Removed.
17354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17355 extern var.
17356 (grub_ieee1275_get_device_type): New function.
17357
17358 Unify network device closing across platforms and make more robust.
17359
17360 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17361 grub_grubnet_fini.
17362 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17363 already.
17364 * grub-core/net/net.c (grub_net_network_level_interface_register):
17365 Update num_ifaces.
17366 (grub_net_card_unregister): Close all interfaces.
17367 (receive_packets): Don't poll if no iterfaces are registered.
17368 Open if necessary.
17369 (grub_net_fini_hw): New function.
17370 (grub_net_restore_hw): Likewise.
17371 (fini_hnd): New variable.
17372 (GRUB_MOD_INIT): Register preboot hook.
17373 (GRUB_MOD_FINI): Run and unregister preboot hook.
17374
17375 Poll network cards when idle.
17376
17377 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17378 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17379 * grub-core/net/net.c (receive_packets): Save last poll time.
17380 (grub_net_poll_cards_idle_real): New function.
17381 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17382 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17383 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17384
17385 Rename ofnet interfaces.
17386
17387 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17388 (grub_ofnet_findcards): Use ofnet_%s names.
17389
17390 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17391
17392 Cleanup socket opening.
17393
17394 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17395 (grub_net_fs_close): Likewise.
17396 (grub_net_fs_read_real): Use eof member.
17397 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17398 (+grub_net_udp_close): New inline function.
17399
17400 * include/grub/net/tftp.h: Moved to the top of ...
17401 * grub-core/net/tftp.c: ... here.
17402 * include/grub/net/ip.h: Moved mostly to the top of ...
17403 * grub-core/net/ip.c: ... here.
17404 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17405 * grub-core/net/ethernet.c: ... here.
17406
17407 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17408
17409 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17410 FS name.
17411
17412 * include/grub/net/ip.h (ipv4_ini): Removed.
17413 (ipv4_fini): Likewise.
17414
17415 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17416 (grub_net_send_ip_packets): Likewise.
17417
cf1337aa
VS
174182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17421 grub_read_cmos prototype.
17422
93c06ff9
VS
174232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 VGA text support in qemu-mips
17426
17427 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17428 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17429 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17430 text.
17431 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17432 * grub-core/kern/vga_init.c: ... this.
17433 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17434 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17435 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17436 Adjust.
17437 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17438 GRUB_MACHINE_PCI_IO_BASE.
17439
748ccabe
VS
174402011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 MIPS qemu flash support.
17443
17444 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17445 magic.
17446 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17447 (grub_machine_init): Probe memory if its size isn't known.
17448 * util/grub-mkimage.c (image_targets): Add flash targets.
17449 (generate_image): Handle flash targets.
17450
d7345994
VS
174512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 MIPS qemu at_keyboard support.
17454
17455 * gentpl.py (videoinkernel): Add qemu-mips.
17456 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17457 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17458 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17459 modules.
17460 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17461 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17462 * grub-core/term/serial.c (grub_serial_register)
17463 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17464
a07a81b3
VS
174652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 CMOS support on sparc.
17468
17469 * gentpl.py (cmos): Add powerpc and sparc.
17470 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17471 powerpc and sparc.
17472 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17473 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17474 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17475 grub_set_datetime_cmos.
17476 * grub-core/lib/ieee1275/cmos.c: New file.
17477 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17478 (find_rtc): Set no_ieee1275_rtc on error.
17479 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17480 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17481 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17482 fail. Move value to argument. All users updated
17483 (grub_cmos_write): Likewise.
17484 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17485 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17486 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17487 grub_get_datetime_cmos and grub_set_datetime_cmos.
17488
77546584
GS
174892011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17490
17491 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17492 sourcing grub-mkconfig_lib.
17493 * util/update-grub_lib.in: Likewise.
17494 * util/grub.d/00_header.in: Likewise.
17495 * util/grub.d/10_hurd.in: Likewise.
17496 * util/grub.d/10_kfreebsd.in: Likewise.
17497 * util/grub.d/10_linux.in: Likewise.
17498 * util/grub.d/10_netbsd.in: Likewise.
17499 * util/grub.d/10_windows.in: Likewise.
17500 * util/grub.d/20_linux_xen.in: Likewise.
17501 * util/grub.d/30_os-prober.in: Likewise.
17502
54894791
CW
175032011-06-28 Colin Watson <cjwatson@ubuntu.com>
17504
17505 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17506 default_bg_color rather than black.
17507 (grub_gfxterm_fullscreen): Likewise.
17508 (grub_gfxterm_background_color_cmd): Save new background color in
17509 default_bg_color.
17510
8d5d8444
VS
175112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17514
5afeb5bd
VS
175152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17518 mismerge.
17519
ba7df45e
VS
175202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 Chainloading on coreboot support.
17523
17524 * grub-core/Makefile.core.def (chain): Add coreboot.
17525 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17526
d0b526b2
VS
175272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17530 if it happens.
17531
5ff1d945
VS
175322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 Implement time command.
17535
17536 * grub-core/Makefile.core.def (time): New module.
17537 * grub-core/commands/time.c: New file.
17538 * grub-core/script/parser.y: Remove "time" keyword.
17539 * grub-core/script/yylex.l: Likewise.
17540
5ebaad7e
VS
175412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17544
bdea3798
VS
175452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17548 when handling leftovers.
17549
b28c5655
VS
175502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17553 so that help2man doesn't fail.
17554
b6f945dc
VS
175552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17558 type in pointers on sparc64.
17559 (get_card_packet): Likewise.
17560
f9b75e8a
CW
175612011-06-27 Colin Watson <cjwatson@ubuntu.com>
17562
17563 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17564 with `*'.
17565 (grub_cmd_videoinfo): Fetch current video mode.
17566
1e3d9b86
VS
175672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17570 because of underlying system restrictions.
17571
efff4b1c
VS
175722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17575 necessary.
17576
9fc9ce37
VS
175772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 Coreboot video support.
17580
17581 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17582 (vbe): Likewise.
17583 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17584 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17585 here ...
17586 * grub-core/kern/i386/int.S: ... here.
17587 * grub-core/video/i386/pc/vbe.c: Updated includes.
17588 * grub-core/video/i386/pc/vga.c: Likewise.
17589 * include/grub/i386/coreboot/memory.h
17590 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17591 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17592 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17593 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17594 Disable interrupts.
17595 * include/grub/i386/pc/vga.h: Removed. All users updated.
17596
41bec7fe
VS
175972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17600 definitions for dprintf.
17601 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17602
ca80309d
VS
176032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17606 prototype.
17607 (get_card_packet): Likewise.
17608
9e322ce8
YB
176092011-06-26 Yves Blusseau <blusseau@zetam.org>
17610
17611 Display the path of the file when file is not found
17612
17613 * grub-core/fs/fat.c: Display the filename when file is not found.
17614 * grub-core/fs/fshelp.c: Likewise.
17615 * grub-core/fs/hfs.c: Likewise.
17616 * grub-core/fs/jfs.c: Likewise.
17617 * grub-core/fs/minix.c: Likewise.
17618 * grub-core/fs/ufs.c: Likewise.
17619 * grub-core/fs/btrfs.c: Likewise.
17620 * grub-core/commands/i386/pc/play.c: Likewise.
17621
cbf597af
SJ
176222011-06-26 Szymon Janc <szymon@janc.net.pl>
17623
17624 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17625 pointer checks before calling grub_free().
17626 * grub-core/commands/wildcard.c (match_devices): Likewise.
17627 * grub-core/commands/wildcard.c (match_files): Likewise.
17628 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17629 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17630 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17631 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17632 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17633 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17634 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17635 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17636 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17637
6295b32f
P
176382011-06-25 Patrick <p55@mailinator.com>
17639
17640 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17641
77c0840b
VS
176422011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17645 (grub_pxe_send): Likewise.
17646 (GRUB_MOD_INIT): Fix types.
17647
40ea05de
SJ
176482011-06-24 Szymon Janc <szymon@janc.net.pl>
17649
17650 * grub-core/io/xzio.c: Fix code style issues
17651
90162423
MRA
176522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
176532011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17654
17655 Network infrastructure.
17656 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17657
17658 * include/grub/net/arp.h: New file.
90162423
MRA
17659 * include/grub/net/device.h: Likewise.
17660 * include/grub/net/ethernet.h: Likewise.
17661 * include/grub/net/ip.h: Likewise.
17662 * include/grub/net/netbuff.h: Likewise.
17663 * include/grub/net/tftp.h: Likewise.
17664 * include/grub/net/udp.h: Likewise.
17665 * include/grub/ieee1275/ofnet.h: Likewise.
17666 * include/grub/emu/export.h: Likewise.
17667 * include/grub/net.h: Likewise.
17668 * grub-core/net/arp.c: Likewise.
17669 * grub-core/net/ethernet.c: Likewise.
17670 * grub-core/net/ip.c: Likewise.
17671 * grub-core/net/udp.c: Likewise.
17672 * grub-core/net/tftp.c: Likewise.
17673 * grub-core/net/netbuff.c: Likewise.
17674 * grub-core/net/net.c: Likewise.
17675 * grub-core/net/drivers/emu/emunet.c: Likewise.
17676 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17677 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17678 export.h.
17679 * grub-core/Makefile.core.def (net): New module.
17680 (tftp): Likewise.
17681 (ofnet): Likewise.
17682 (emunet): Likewise.
17683 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17684 network protocols.
17685 * grub-core/kern/device.c (grub_net_open) : New variable.
17686 (grub_device_open): Handle network device.
17687 (grub_device_close): Likewise.
17688 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17689 (grub_grubnet_fini): Likewise.
17690 (grub_file_seek): Seek in network device.
17691 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17692 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17693 network root.
17694 (grub_machine_fini): Call grub_grubnet_fini.
17695 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17696 network.
17697 (grub_ieee1275_get_aliasdevname): New function.
17698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17699 Add unofficial Solaris network info.
17700 (grub_multiboot_make_mbi): Likewise.
17701 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17702 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17703 * include/grub/device.h (grub_fs): Removed.
17704 * include/grub/err.h (grub_err_t): Add network-related values.
17705 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17706 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17707 (grub_ieee1275_get_aliasdevname): New proto.
17708 * include/grub/net.h: Rewritten.
423a1849 17709
031f22a0
VS
177102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17713 names.
17714
4388ca72
VS
177152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17718 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17719 it truncates the output.
17720 Reported by: Ximin Luo.
17721
98e2f506
VS
177222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17725
2a5e94d8
VS
177262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17729 partmap before abstraction.
17730
535c1910
AK
177312011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17732
17733 * util/grub-mkconfig_lib.in: Add missing quotes.
17734
bc09e1a2
VS
177352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17736
17737 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17738 old method if mountinfo would return /dev/root and /dev/root doesn't
17739 exist.
17740
290766fb
VS
177412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 ZFS zlib support
17744
17745 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17746 (decomp_table): Add zlib entries.
17747 (zio_read): USe 8 bits for compression function rather than 3.
17748 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17749
177502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * grub-core/disk/ahci.c: Add missing license statements.
17753 * grub-core/fs/romfs.c: Likewise.
17754 * grub-core/lib/ia64/setjmp.S: Likewise.
17755 * grub-core/loader/i386/pc/freedos.c: Likewise.
17756 * grub-core/loader/ia64/efi/linux.c: Likewise.
17757 * grub-core/video/colors.c: Likewise.
17758 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17759
5ab3f48a
VS
177602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 AHCI support.
17763
17764 * grub-core/Makefile.core.def (ata_pthru): Removed.
17765 (ahci): New module.
17766 (pata): Likewise.
17767 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17768 on unload.
17769 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17770 readwrite.
17771 (grub_hdparm_do_check_powermode_cmd): Likewise.
17772 (grub_hdparm_do_smart_cmd): Likewise.
17773 (grub_hdparm_set_val_cmd): Likewise.
17774 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17775 * grub-core/disk/ahci.c: New file.
17776 * grub-core/disk/ata.c: Factor out the low-level part into ...
17777 * grub-core/disk/pata.c: ... here.
17778 * grub-core/disk/ata_pthru.c: Contents moved to ...
17779 * grub-core/disk/pata.c: ... here.
17780 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17781 (grub_scsi_iterate): Use grub_scsi_names.
17782 (grub_scsi_open): Likewise.
17783 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17784 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17785 (grub_ata_regs_t): New struct.
17786 (grub_disk_ata_pass_through_parms): Likewise.
17787 (grub_ata_device): Renamed to ...
17788 (grub_ata): ... this.
17789 (grub_ata_dev): New struct.
17790 Removed all low-level inline functions.
17791 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17792 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17793 iterate hooks and open. All users updated.
17794 * util/grub-install.in: Handle AHCI disk module.
17795
c31dc5f5
SJ
177962011-06-23 Szymon Janc <szymon@janc.net.pl>
17797
17798 Add support for DRI and RSTn markers in JPEG files.
17799
17800 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17801 (JPEG_MARKER_RST0): Likewise.
17802 (JPEG_MARKER_RST1): Likewise.
17803 (JPEG_MARKER_RST2): Likewise.
17804 (JPEG_MARKER_RST3): Likewise.
17805 (JPEG_MARKER_RST4): Likewise.
17806 (JPEG_MARKER_RST5): Likewise.
17807 (JPEG_MARKER_RST6): Likewise.
17808 (JPEG_MARKER_RST7): Likewise.
17809 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17810 (grub_jpeg_decode_dri): New function.
17811 (grub_jpeg_decode_sos): Move image data related part into
17812 grub_jpeg_decode_data function.
17813 (grub_jpeg_decode_data): New function.
17814 (grub_jpeg_reset): New function.
17815 (grub_jpeg_decode_jpeg): Handle new markers.
17816
fe12fd5b
VS
178172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * util/ieee1275/ofpath.c (check_sas): Close fd.
17820 (main): Free of_path.
17821 Reported by: David Volgyes <dvolgyes>.
17822
03147f46
VS
178232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17826 Reported by: David Volgyes <dvolgyes>.
17827
cad3237f
VS
178282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17831 file after stat.
17832 Reported by: David Volgyes <dvolgyes>.
17833
13548d26
VS
178342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17837
17838 Reported by: David Volgyes <dvolgyes>.
17839
e061a1b5
VS
178402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17843 Prevent memory leak.
17844
1abe47dc
VS
178452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17848 (main): Close file.
e061a1b5 17849 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17850
fbc62666
VS
178512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17854 to continue if allocation is failed.
17855
17856 Reported by: David Volgyes <dvolgyes>.
17857
e98c83e9
DV
178582011-06-23 David Volgyes <dvolgyes>
17859
17860 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17861 dereference.
17862
a199a8cd
VS
178632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 Fix spurious warning.
17866
17867 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17868 (acorn_partition_map_find): Use .bin member.
17869
e2d1dba0
VS
178702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17873 /dev/root as a valid device.
17874
8a5d6919
JM
178752011-06-23 Jim Meyering <meyering@redhat.com>
17876
e2d1dba0
VS
17877 Avoid NULL deref in grub_device_open.
17878
8a5d6919
JM
17879 * grub-core/kern/device.c (grub_device_open): Don't dereference
17880 a NULL pointer upon failed grub_env_get.
17881
f7db6f4a
VS
178822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 Support non-512B sectors and agglomerate reads.
17885
17886 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17887 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17888 (disk_io_guid): Removed.
17889 (make_devices): Locate solely by BlockIO.
17890 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17891 (grub_efidisk_read): Use read_blocks.
17892 (grub_efidisk_write): Use write_blocks.
17893 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17894 log_sector_size.
17895 (get_safe_sectors): Handle non-512B sectors.
17896 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17897 sectors.
17898 (grub_biosdisk_write): Handle non-512B sectors.
17899 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17900 (grub_scsi_read): Remove special non-512B block handling (now handled
17901 one level up).
17902 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17903 and do sanity checks.
17904 (grub_disk_adjust_range): Handle non-512B sectors.
17905 (transform_sector): New function.
17906 (grub_disk_read_small): Likewise.
17907 (grub_disk_read): Rewritten.
17908 (grub_disk_write): Handle non-512B sectors.
17909 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17910 log_sector_size.
17911 (open_device): Use log_sector_size.
17912 (grub_util_biosdisk_read): Likewise.
17913 (grub_util_biosdisk_write): Likewise.
17914 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17915 non-512B sectors.
17916 (pc_partition_map_embed): Likewise.
17917 * include/grub/disk.h (grub_disk): New field log_sector_size.
17918 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17919 (GRUB_DISK_CACHE_BITS): Increased to 6.
17920 * util/grub-fstest.c (fstest): New command testload.
17921 (argp_parser): Likewise.
17922
881ac815
RM
179232011-06-16 Robert Millan <rmh@gnu.org>
17924
17925 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17926 `ata' driver on kernel of FreeBSD 9.
17927
17928 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17929 (get_ataraid_disk_name): New functions.
17930 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17931 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17932 get_ataraid_disk_name() and get_ada_disk_name().
17933
1e9aef7d
CW
179342011-06-13 Colin Watson <cjwatson@ubuntu.com>
17935
17936 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17937 input format.
17938
351c7c8a
CW
179392011-05-29 Colin Watson <cjwatson@ubuntu.com>
17940
17941 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17942 `ftp.gnu.org' for `alpha.gnu.org'.
17943
6b4e6430
CW
179442011-05-27 Colin Watson <cjwatson@ubuntu.com>
17945
17946 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17947 partitions under /dev/disk/by-id/.
17948
c64db050
CW
179492011-05-27 Colin Watson <cjwatson@ubuntu.com>
17950
17951 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17952 after ten consecutive open failures. Scanning all the way up to
17953 10000 is excessive and can cause serious performance problems in
17954 some configurations.
17955 Fixes Ubuntu bug #787461.
17956
245f4aba
VS
179572011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17960 opening new one.
17961
f767c929
VS
179622011-05-21 Colin Watson <cjwatson@ubuntu.com>
179632011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 Don't stat devices unless we have to.
17966
17967 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17968 dir == /dev/mapper.
17969 (grub_guess_root_device): Use already known os_dev if possible.
17970 * grub-core/kern/emu/hostdisk.c
17971 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17972 if device is known to be a dm one.
17973
f35fa3a6
CW
179742011-05-20 Colin Watson <cjwatson@ubuntu.com>
17975
17976 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17977 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17978 Reported by: Pawel Tecza.
17979
9a79fcf2
VS
179802011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17983 (lsefisystab): Likewise.
17984 (lssal): Likewise.
17985 (lsefimmap): Likewise.
17986 (hdparm): Enable on qemu-mips.
17987 (setjmp): Add ia64 nodist.
17988 (serial): Simplify tags.
17989
63e3eea9
CW
179902011-05-18 Colin Watson <cjwatson@ubuntu.com>
17991
17992 * Makefile.util.def (grub-ofpathname): Install manual page.
17993
09728256
CW
179942011-05-18 Colin Watson <cjwatson@ubuntu.com>
17995
17996 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17997
8b63a142
CW
179982011-05-18 Colin Watson <cjwatson@ubuntu.com>
17999
18000 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18001
e775d8ed
VS
180022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18005 into dprintf.
18006
bf947d36
VS
180072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 Use full 64-bit division.
18010
18011 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18012 (grub_divmod64): ... this.
18013 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18014 version.
18015
b84f26c5
CW
180162011-05-18 Colin Watson <cjwatson@ubuntu.com>
18017
18018 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18019 `source'.
18020
5626056f
CW
180212011-05-18 Colin Watson <cjwatson@ubuntu.com>
18022
18023 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18024 to avoid accidents when debugging with 'sh -x'.
18025 * grub-core/gensyminfo.sh.in: Likewise.
18026 * tests/example_scripted_test.in: Likewise.
18027 * tests/grub_cmd_regexp.in: Likewise.
18028 * tests/grub_script_blanklines.in: Likewise.
18029 * tests/grub_script_dollar.in: Likewise.
18030 * tests/grub_script_expansion.in: Likewise.
18031 * tests/grub_script_final_semicolon.in: Likewise.
18032 * tests/partmap_test.in: Likewise.
18033 * tests/util/grub-shell-tester.in: Likewise.
18034 * tests/util/grub-shell.in: Likewise.
18035
e2965f4a
CW
180362011-05-18 Colin Watson <cjwatson@ubuntu.com>
18037
18038 Move gfxmenu color handling to video, so that gfxterm can use it
18039 too.
18040
18041 * grub-core/gfxmenu/named_colors.c: Move to ...
18042 * grub-core/video/colors.c: ... here. Rename
18043 grub_gui_get_named_color to grub_video_get_named_color.
18044 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18045 * grub-core/video/colors.c (my_isxdigit): ... here.
18046 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18047 Move to ...
18048 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18049 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18050 to ...
18051 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18052
18053 * include/grub/gui.h (grub_gui_color_t): Move to ...
18054 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18055 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18056 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18057 * include/grub/gui.h (grub_gui_map_color): Move to ...
18058 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18059 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18060 to ...
18061 * include/grub/video.h (grub_video_get_named_color): ... here.
18062 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18063 * include/grub/video.h (grub_video_parse_color): ... here.
18064
18065 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18066 video/colors.c.
18067 (gfxmenu): Remove gfxmenu/named_colors.c.
18068 (video) [videomodules]: Add video/colors.c.
18069
18070 Add a background_color command.
18071
18072 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18073 function.
18074 (GRUB_MOD_INIT): Register background_color command.
18075 (GRUB_MOD_FINI): Unregister background_color command.
18076 (redraw_screen_rect): Allow blend/replace of text layer to be
18077 controlled independently from whether there is a background bitmap.
18078 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18079 changing bitmap.
18080
1e4b4390
VS
180812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18082
26618ff0
VS
18083 Patch BPB in ntldr and chainloader --bpb.
18084
1e4b4390
VS
18085 * grub-core/fs/fat.c: Include grub/fat.h.
18086 (grub_fat_bpb): Moved to ...
18087 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18088 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18089 grub/ntfs.h.
18090 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18091 Moved from here...
18092 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18093 here.
18094 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18095 New function.
18096 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18097 (GRUB_MOD_INIT): Show --bpb.
18098 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18099 * grub-core/normal/main.c (features): New variable.
18100 (GRUB_MOD_INIT): Set feature_* variables.
18101 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18102 proto.
18103 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18104
cf02731e
VS
181052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18108 for cleanness.
18109
e3a1073f
VS
181102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 FreeDOS direct loading support.
18113
18114 * docs/grub.texi (Supported OS): Add FreeDOS.
18115 * grub-core/Makefile.core.def (freedos): New module.
18116 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18117 variable.
18118 (grub_relocator16_boot): Handle %ebx.
18119 * grub-core/lib/i386/relocator16.S: Likewise.
18120 * grub-core/loader/i386/pc/freedos.c: New file.
18121
05caa461
VS
181222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 Long Linux command line support.
18125
18126 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18127 (maximal_cmdline_size): New variable.
18128 (allocate_pages): Use maximal_cmdline_size.
18129 (grub_cmd_linux): Set and use maximal_cmdline_size.
18130 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18131 (allocate_pages): Use maximal_cmdline_size.
18132 (grub_cmd_linux): Set and use maximal_cmdline_size.
18133 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18134 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18135 and cmdline_size.
18136
a2491e23
VS
181372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
181382011-05-18 Colin Watson <cjwatson@ubuntu.com>
18139
18140 Improve devmapper support
18141
18142 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18143 (grub_util_is_lvm): New function.
18144 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18145 than lvm if not dmraid.
18146 Handle mapped md nodes.
18147 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18148 (grub_util_device_is_mapped): ... this. Make always available. All users
18149 updated.
18150 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18151 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18152 dmraid nodes.
18153 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18154
6ad6223e
VS
181552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18158
18159 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18160 * grub-core/modinfo.sh.in: New file.
18161 * grub-core/Makefile.core.def (modinfo.sh): New script.
18162 * util/grub-mknetdir.in: Use modinfo.sh.
18163 * util/grub-mkrescue.in: Likewise.
18164
543a8f6e
VS
181652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18168 Fix potential usage of Elf32 instead of Elf64 when compiling on
18169 32-bit architecture. Add endianness macros while on it.
18170
4959e111
VS
181712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 Use mipsel- rather than mips- in directories involving mipsel ports to
18174 allow both endiannesses coexist.
18175
18176 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18177 mips. All conditions adjusted.
18178 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18179 variable.
18180 * util/grub-install.in: Adjust conditions to take renaming into account.
18181 * util/grub-mkimage.c (image_targets): Likewise. New target
18182 mips-qemu_mips-elf for bigendian mips.
18183
35341bbc
VS
181842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 Avoid unnecessary copying on MIPS.
18187
18188 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18189 early if src == dest.
18190 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18191 compression is none.
18192
b772baed
VS
181932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 Reduce memory footprint on SGI by putting modules before the kernel
18196 as opposed to after.
18197
18198 * grub-core/Makefile.core.def (kernel): Increase linking address.
18199 (none_decompress): Likewise.
18200 (xz_decompress): Likewise.
18201 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18202 address.
18203 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18204 layout change.
18205 (grub_arch_modules_addr): New function.
18206 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18207 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18208 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18209 here.
18210 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18211 (grub_total_modules_size): ... this. Make global.
18212 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18213 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18214 New definition.
18215 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18216 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18217 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18218 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18219 * util/grub-mkimage.c (image_target_desc): New flag
18220 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18221 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18222 (generate_image): Handle images with modules before kernel.
18223
566a1917
VS
182242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 Prevent potential loss of memory map by overwrite on qemu-mips.
18227
18228 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18229 Save ram size in $s4.
18230 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18231 All users changed to grub_arch_memsize.
18232 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18233 Loongson.
18234 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18235 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18236 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18237 external variable.
18238
5d420cd9
CW
182392011-05-17 Colin Watson <cjwatson@ubuntu.com>
18240
18241 * .bzrignore: Remove grub-dumpbios.
18242
d064b830
CW
182432011-05-17 Colin Watson <cjwatson@ubuntu.com>
18244
18245 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18246 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18247 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18248 existing options which append).
18249 * docs/grub.texi (Simple configuration): Document new options.
18250 Reported by: Ian Jackson. Fixes Debian bug #617538.
18251
3ca2b466
CW
182522011-05-17 Colin Watson <cjwatson@ubuntu.com>
18253
18254 * util/grub-fstest.c (cmd_cat): New function.
18255 (fstest): Handle CMD_CAT.
18256 (options): Add cat.
18257 (argp_parser): Handle cat.
18258
24c9143a
CW
182592011-05-17 Colin Watson <cjwatson@ubuntu.com>
18260
18261 * Makefile.util.def (grub-bin2h): Don't install.
18262 * docs/man/grub-bin2h.h2m: Remove.
18263
90f7ac19
VS
182642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18267 place.
18268
8d4a5178
VS
182692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 Reenable qemu-mips port.
18272
18273 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18274 Fix small arc bug while on it.
18275 * gentpl.py: Handle qemu_mips.
18276 * grub-core/Makefile.am: Likewise.
18277 * grub-core/Makefile.core.def: Likewise.
18278 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18279 inappropriate includes.
18280 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18281 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18282 * grub-core/kern/main.c (grub_modules_get_end)
18283 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18284 * grub-core/kern/mips/qemu-mips: Moved to ..
18285 * grub-core/kern/mips/qemu_mips: ... this.
18286 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18287 (grub_machine_init): Call terminfo_init and serial_init.
18288 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18289 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18290 New variable.
18291 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18292 parameter passing.
18293 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18294 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18295 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18296 * include/grub/mips/qemu_mips/cmos.h: New file.
18297 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18298 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18299 Removed.
18300 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18301 Use correct mips-style address.
18302 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18303 (GRUB_TICKS_PER_SECOND): Removed.
18304 (grub_get_rtc): Likewise.
18305 (grub_cpu_idle): Likewise.
18306 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18307 New definition.
18308 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18309 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18310 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18311 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18312 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18313 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18314 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18315 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18316
400b9371
VS
183172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 SGI ARCS port.
18320
18321 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18322 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18323 platforms.
18324 * configure.ac: New target mips-arc.
18325 * gentpl.py: Likewise.
18326 * grub-core/Makefile.am: Likewise.
18327 * grub-core/Makefile.core.def: Likewise.
18328 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18329 (none_decompress): Likewise.
18330 (lsdev): New module.
18331 (datetime): Use lib/arc/datetime.c on ARC.
18332 (part_dvh): New module.
18333 * grub-core/commands/arc/lsdev.c: New file.
18334 * grub-core/disk/arc/arcdisk.c: Likewise.
18335 * grub-core/kern/mips/arc/init.c: Likewise.
18336 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18337 aligned addresses.
18338 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18339 support.
18340 (grub_arch_dl_relocate_symbols): Likewise.
18341 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18342 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18343 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18344 platforms.
18345 * grub-core/lib/arc/datetime.c: New file.
18346 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18347 pci.h on non-loongson.
18348 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18349 (grub_linux_boot): Set unused registers to 0.
18350 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18351 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18352 * grub-core/mmap/mips/uppermem.c: ...here.
18353 * grub-core/partmap/dvh.c: New file.
18354 * grub-core/term/arc/console.c: Likewise.
18355 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18356 (grub_terminfo_set_current): Add terminal "arc".
18357 (grub_terminfo_readkey): Support ARC sequences.
18358 * include/grub/arc/arc.h: New file.
18359 * include/grub/arc/console.h: Likewise.
18360 * include/grub/disk.h (grub_disk_dev_id): Add
18361 GRUB_DISK_DEVICE_ARCDISK_ID.
18362 * include/grub/mips/arc/kernel.h: New file.
18363 * include/grub/mips/arc/memory.h: Likewise.
18364 * include/grub/mips/arc/time.h: Likewise.
18365 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18366 * include/grub/mips/kernel.h (grub_halt): ... here.
18367 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18368 here...
18369 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18370 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18371 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18372 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18373 proto.
18374 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18375 from here ...
18376 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18377 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18378 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18379 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18380 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18381 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18382 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18383 (grub_phys_addr_t): Moved from here ...
18384 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18385 (grub_vtop): Moved from here ...
18386 * include/grub/mips/memory.h (grub_vtop): ... here.
18387 (grub_map_memory): Moved from here ...
18388 * include/grub/mips/memory.h (grub_map_memory): ... here.
18389 (grub_unmap_memory): Moved from here ...
18390 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18391 (grub_machine_mmap_iterate): Moved from here ...
18392 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18393 (grub_mmap_get_lower): Moved from here ...
18394 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18395 (grub_mmap_get_upper): Moved from here ...
18396 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18397 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18398 here ...
18399 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18400 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18401 here ...
18402 * include/grub/mips/time.h (grub_get_rtc): ... here.
18403 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18404 here ...
18405 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18406 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18407 here ...
18408 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18409 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18410 definition.
18411 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18412 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18413 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18414 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18415 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18416 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18417 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18418 (GRUB_MACHINE_LINK_ADDR): Likewise.
18419 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18420 to 6.
18421 * util/grub-install.in: Run dvhtool on ARC.
18422 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18423 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18424
c8ecc840
VS
184252011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18428 blocks.
18429
153a4b55
VS
184302011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18433 after enabling port.
18434
ff44d107
VS
184352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 Skip incorrect USB devices.
18438
18439 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18440 configcnt == 0.
18441 * include/grub/usb.h (grub_usb_err_t): New enum value
18442 GRUB_USB_ERR_BADDEVICE.
18443
638dbe4f
VS
184442011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 Fuloong video init support.
18447
18448 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18449 well.
18450 (grub_vga_read_arx): New function.
18451 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18452 definition.
18453 (framebuffer): New members io, mmioptr and mmiobase.
18454 (read_sis_cmd): New function.
18455 (write_sis_cmd): Likewise.
18456 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18457 rather than 640x400.
18458 * grub-core/video/sis315_init.c: New file.
18459
c3fc520c
VS
184602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18463 non-loongson.
18464 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18465 to grub_dl_register_symbol.
18466
67b1e5c9
VS
184672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 Fix compilation errors.
18470
18471 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18472 potentially unused.
18473 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18474 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18475 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18476 to loongson machines.
18477
b756f75f
VS
184782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 Several FS mtime support.
18481
18482 * grub-core/fs/affs.c (grub_affs_time): New struct.
18483 (grub_affs_file): New field mtime.
18484 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18485 type. Removed 'size'. New field 'di'. All users updated.
18486 (grub_affs_mount): Simplify checsum checking.
18487 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18488 (grub_affs_dir): Handle mtime.
18489 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18490 (grub_cpio_dir): Likewise.
18491 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18492 (grub_hfs_filerec): New field mtime.
18493 (grub_hfs_dir): Handle mtime.
18494 (grub_hfs_mtime): New function.
18495 (grub_hfs_fs): Register grub_hfs_mtime.
18496 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18497 (grub_iso9660_dir): New field mtime.
18498 (grub_fshelp_node): New field dirent.
18499 (iso9660_to_unixtime): New function.
18500 (iso9660_to_unixtime2): Likewise.
18501 (grub_iso9660_read_symlink): Use node->dirent.
18502 (grub_iso9660_iterate_dir): Likewise.
18503 (grub_iso9660_dir): Set mtime.
18504 (grub_iso9660_mtime): New function.
18505 (grub_iso9660_fs): Register grub_iso9660_mtime.
18506 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18507 (grub_jfs_inode): New fields atime, ctime and mtime.
18508 (grub_jfs_dir): Set mtime.
18509 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18510 * grub-core/fs/ntfs.c (list_file): Set mtime.
18511 (grub_ntfs_dir): Likewise.
18512 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18513 (grub_reiserfs_iterate_dir): Set mtime.
18514 (grub_reiserfs_dir): Likewise.
18515 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18516 (grub_fshelp_node): Likewise.
18517 (grub_sfs_iterate_dir): Set mtime.
18518 (grub_sfs_dir): Likewise.
18519 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18520 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18521 (grub_xfs_inode): New fields atime, mtime, ctime.
18522 (grub_xfs_dir): Set mtime.
18523 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18524 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18525 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18526
18527 Support UDF symlinks.
18528
18529 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18530 (grub_ufs_read_symlink): New function. All users updated.
18531
18532 Check amiga partmap checksum.
18533
18534 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18535 (grub_amiga_partition): Likewise.
18536 (amiga_partition_map_checksum): New function.
18537 (amiga_partition_map_iterate): Check checksum.
18538
5470225d
VS
185392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 ROMFS support.
18542
18543 * Makefile.util.def (libgrubmods.a): Add romfs.
18544 * grub-core/Makefile.core.def (romfs): New module.
18545 * grub-core/fs/romfs.c: New file.
18546
d4680a35
VS
185472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 Squashfs v4 support.
18550
18551 * Makefile.util.def (libgrubmods.a): Add squash4.
18552 * grub-core/Makefile.core.def (squash4): New module.
18553 * grub-core/fs/squash4.c: New file.
18554 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18555 disk_input_start, disk_input.
18556 (get_byte): Handle disk_input.
18557 (grub_zlib_disk_read): New function.
18558 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18559
bcb18e74
FZ
185602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
185612011-05-15 Feiran Zheng <famcool@gmail.com>
18562
18563 * Makefile.util.def (libgrubmods.a): Add minix3.
18564 * grub-core/Makefile.core.def (minix3): New module.
18565 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18566 (GRUB_MINIX_BSIZE): Removed.
18567 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18568 (grub_minix_ino_t): New type.
18569 (grub_minix_le_to_cpu_ino): New macro.
18570 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18571 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18572 (grub_minix_data): New field block_size.
18573 (grub_minix_read_file): Handle 64-bit correctly.
18574 * grub-core/fs/minix3.c: New file.
18575
32297d5f
TG
185762011-05-15 Tristan Gingold <gingold@free.fr>
185772011-05-15 Robert Millan <rmh.grub@aybabtu.com>
185782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 IA64 support.
18581
18582 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18583 * configure.ac: Add ia64-efi target.
18584 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18585 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18586 * gentpl.py: Add ia64_efi platform.
18587 Rename x86_efi to efi and Add ia64-efi. All users updated.
18588 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18589 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18590 Remove kern/generic/rtc_get_time_ms.c on EFI.
18591 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18592 kern/ia64/dl_helper.c on ia64-efi.
18593 Add kern/emu/cache.c on emu.
18594 (linux): Use on loader/ia64/efi/linux.c on ia64.
18595 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18596 whether symbol is a function.
18597 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18598 (grub_symbol): New field 'isfunc'.
18599 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18600 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18601 (grub_dl_load_segments): Place all sections into the same region.
18602 [__ia64__]: Create trampolines and got.
18603 [GRUB_MACHINE_EMU]: Call mprotect.
18604 (grub_dl_resolve_symbols): Resolve symbol type as well.
18605 [__ia64__]: Create function descriptors.
18606 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18607 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18608 (grub_get_rtc): New function.
18609 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18610 * grub-core/kern/emu/cache.S: Renamed to ...
18611 * grub-core/kern/emu/cache_s.S: ... this.
18612 [__ia64__]: Add a nop.
18613 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18614 [__ia64__]: New function.
18615 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18616 * grub-core/kern/ia64/dl.c: New file.
18617 * grub-core/kern/ia64/dl_helper.c: Likewise.
18618 * grub-core/kern/ia64/efi/init.c: New file.
18619 * grub-core/kern/ia64/efi/startup.S: Likewise.
18620 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18621 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18622 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18623 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18624 * grub-core/loader/ia64/efi/linux.c: New file.
18625 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18626 (GRUB_MOD_DEP): Likewise.
18627 (grub_dl) [__ia64__]: New fields got and tramp.
18628 (grub_dl): New field 'base'.
18629 (grub_dl_register_symbol): New argument isfunc. All users updated.
18630 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18631 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18632 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18633 (grub_ia64_dl_get_tramp_got_size): New proto.
18634 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18635 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18636 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18637 * include/grub/efi/api.h: Skip call wrappers on ia64.
18638 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18639 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18640 * include/grub/elf.h (ELF_ST_INFO): New definition.
18641 * include/grub/ia64/efi/kernel.h: New file.
18642 * include/grub/ia64/efi/memory.h: Likewise.
18643 * include/grub/ia64/efi/time.h: Likewise.
18644 * include/grub/ia64/kernel.h: Likewise.
18645 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18646 * include/grub/ia64/time.h: New file.
18647 * include/grub/ia64/types.h: Likewise.
18648 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18649 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18650 New protos.
18651 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18652 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18653 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18654 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18655 All users updated.
18656 (EFI64_HEADER_SIZE): New definition. All users updated.
18657 (image_targets): Add ia64-efi.
18658 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18659 jumpers_addr. All users updated.
18660 Create function descriptors.
18661 (count_funcs): New function.
18662 (unaligned_uint32): New struct.
18663 (MASK20): New definition.
18664 (MASK19): Likewise.
18665 (MASKF21): Likewise.
18666 (add_value_to_slot_20b): New function.
18667 (add_value_to_slot_21_real): Likewise.
18668 (add_value_to_slot_21): Likewise.
18669 (ia64_kernel_trampoline): New struct.
18670 (nopm): New variable.
18671 (jump): Likewise.
18672 (make_trampoline): New function.
18673 (relocate_addresses): Handle ia64.
18674 (make_reloc_section): Likewise.
18675 (load_image): Likewise.
18676
983b414d
VS
186772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18680 warning. Move variables before code while on it.
18681
5d063cdc
VS
186822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 Fuloong support.
18685
18686 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18687 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18688 * grub-core/boot/mips/loongson/fuloong.S: New file.
18689 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18690 Explicitly init CS5536.
18691 [FULOONG]: Don't use serial until CS5536 is available.
18692 Set GPIO based on dumps.
18693 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18694 [FULOONG]: Handle GPIO and memory controller differences.
18695 Parse machine type in $a2.
18696 * grub-core/boot/mips/startup_raw.S: Determine and save the
18697 architecture.
18698 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18699 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18700 init on architecture type.
18701 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18702 SIS315E. Don't init at_keyboard on fuloong.
18703 (grub_halt): Support Fuloong.
18704 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18705 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18706 (loongson_machtypes): New array.
18707 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18708 type.
18709 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18710 config. All users updated. Handle CS5536 serial.
18711 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18712 default port on machine type. Register serial as inactive.
18713 * grub-core/video/sis315pro.c: New file.
18714 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18715 definition.
18716 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18717 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18718 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18719 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18720 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18721 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18722 to ...
18723 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18724 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18725 definition.
18726 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18727 (grub_arch_machine): New extern var.
18728 * include/grub/mips/loongson/serial.h
18729 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18730 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18731 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18732 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18733 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18734 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18735 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18736 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18737 * include/grub/term.h (grub_term_register_input_inactive): New inline
18738 function.
18739 (grub_term_register_output_inactive): Likewise.
18740 * include/grub/video.h (grub_video_driver_id): New value
18741 GRUB_VIDEO_DRIVER_SIS315PRO.
18742 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18743 New field "names". All users updated.
18744 New field value IMAGE_FULOONG_FLASH.
18745 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18746
6ada82d1
JU
187472011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18748
18749 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18750 and add some clarification.
18751
90c571a4
VS
187522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18755 platforms if kernel is compressed.
18756
de04eecf
VS
187572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18760 unused modules since currently referrence counter isn't reliable and
18761 there isn't much memory to recover there anyway.
18762
57688121
VS
187632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18766 rather than resetting it to allow modules to reference themselves
18767 in init.
18768
3d2c7e35
VS
187692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18772 counter on dependencies since grub_dl_unref already handles this.
18773
b25db218
VS
187742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18777 on error if not already done.
18778
25a45338
VS
187792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 Fix few potential memory misusage.
18782
18783 * grub-core/font/font.c (load_font_index): Don't free char_index to
18784 avoid double free.
b25db218
VS
18785 (grub_font_load): Zero-fill font at alloc for safety.
18786 Close file on error.
18787 (free_font): Free bmp_idx.
25a45338 18788
0cac83df
VS
187892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * docs/grub.texi (Installation): Fix several outdated claims.
18792
2217a143
VS
187932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 Handle module_license on windows.
18796
18797 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18798 sections shifted.
18799 (insert_string): Make argument const char * instead of char *.
18800 (write_section_data): Handle long section names.
18801 Handle module_license.
18802
d4de6b01
VS
188032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18806 handle class-free menuentries.
18807 (grub_normal_add_menu_entry): Add a check to be sure.
18808
4c2a3b43
VS
188092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18812 PgUp and PgDown.
18813
85c6210f
VS
188142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * configure.ac: Bump version to 1.99.
18817
36084912
VS
188182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 Give ATA device a bit more time on first try in order to allow disks
18821 to spin up.
18822
18823 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18824 if dev->present is 1. Reset dev->present on failure.
18825 (grub_ata_device_initialize): Set dev->present to 1.
18826 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18827 (grub_ata_device): New member 'present'.
18828
bda0e219
VS
188292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * util/grub-mkimage.c (generate_image): Update hash.
18832
19e1c41b
VS
188332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 Flush caches on DMA memory.
18836
18837 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18838 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18839 (grub_dma_free): Likewise.
18840 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18841
91bbcc0c
VS
188422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18845 to avoid asm treating ld and sd as macros.
18846
60ddfad3
VS
188472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18850 decompressor.
18851
a298aa04
VS
188522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18855 grub_decompress_core since later would fail if grub_decompress_core
18856 is too far.
18857
9b44feca
VS
188582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18861 R_MIPS_JALR since it's used by newer compiler.
18862
56dbe7b4
VS
188632011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18866
52856af2
VS
188672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18870 file_path to 0 for surety.
18871 (grub_chainloader_boot): Set exit_data to NULL.
18872 Unset the loader once done.
18873 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18874
9c9bfc6d
VS
188752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18878 unknown key into a dprintf.
18879
dd94a3df
VS
188802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18883 on first non-existant partition.
18884
fa68d99c
VS
188852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18888 openning fails.
18889 Reported by: Mark Korenberg.
18890
157effb7
VS
188912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18894 overflow.
18895
ea75312f
VS
188962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18899 before closing to ensure that it will be readable by grub-setup.
18900
072b5d31
VS
189012011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18904 (devpath_1): Use MAKE_PIWG_PATH.
18905 (devpath_2): Likewise.
18906 (devpath_3): Likewise.
18907 (devpath_4): Likewise.
18908 (devpath_5): Likewise.
18909 (devpath_6): Likewise.
18910
18911 The appleldr.mod was checked that to be binary identical to previous
18912 version.
18913
7fae0051
Z
189142011-05-05 Zach <mikezackles>
18915
18916 Support 2010 Macbooks.
18917
18918 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18919 (devs): Add devpath_6.
18920
7c515bee
VS
189212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18924 /dev/random. /dev/urandom is good enough for our purposes (salting).
18925
ed660bd8
VS
189262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18929
ee5614b7
VS
189302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18933 hexadecimal.
18934
664889a6
VS
189352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18938 and not 0 on failure.
18939
bd405bbc
CW
189402011-05-03 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18943 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18944 disk; otherwise grub_fs_probe will not fall back to the next
18945 filesystem.
18946 (grub_pxefs_open): Likewise, for consistency.
18947 Reported and tested by: Ezekiel Grave.
18948
4ebff753
CW
189492011-05-03 Colin Watson <cjwatson@ubuntu.com>
18950
18951 * tests/partmap_test.in: Don't hardcode path to parted.
18952 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18953
8f942553
CW
189542011-05-01 Colin Watson <cjwatson@ubuntu.com>
18955
18956 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18957 of `ls' to find out which devices are available.
18958
3c62402d
VS
189592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18962 than source address for efi mmap buffer.
18963
723f63f2
VS
189642011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18967 wrong action on non-detecting the magic.
18968
68797f92
VS
189692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18972 already supplied by another part of the module (fixes compilation on
18973 FreeBSD).
18974
6be8715d
VS
189752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18978 match the one used by mdadm.
18979
e91dba5b
CW
189802011-04-21 Colin Watson <cjwatson@ubuntu.com>
18981
18982 * po/README: Add instructions for creating po/LINGUAS.
18983
c85140b3
CW
189842011-04-21 Colin Watson <cjwatson@ubuntu.com>
18985
18986 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18987 #551428.
18988
18989 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18990 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18991 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18992 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18993 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18994 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18995 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18996 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18997 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18998 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18999 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19000 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19001 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19002 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19003 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19004 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19005 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19006 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19007 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19008 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19009 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19010 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19011
92051871
CW
190122011-04-21 Colin Watson <cjwatson@ubuntu.com>
19013
19014 * grub-core/kern/emu/getroot.c
19015 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19016 test that was incorrectly reintroduced in r3214.
19017 Reported by: Ian Dall. Fixes Savannah bug #33133.
19018
b13f79a4
CW
190192011-04-21 Colin Watson <cjwatson@ubuntu.com>
19020
19021 Fix stack pointer handling in 16-bit relocator.
19022
19023 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19024 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19025 Fixes Ubuntu bug #683904.
19026
9b710a88
VS
190272011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 * configure.ac: Bump version to 1.99~rc2.
19030
d97e7b59
VS
190312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19034 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19035 * grub-core/lib/x86_64/setjmp.S: Likewise.
19036 * grub-core/lib/mips/setjmp.S: Likewise.
19037 * grub-core/lib/powerpc/setjmp.S: Likewise.
19038 * grub-core/lib/sparc64/setjmp.S: Likewise.
19039
0624551c
VS
190402011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19043 * grub-core/lib/efi/datetime.c: Likewise.
19044
e8f28d4c
VS
190452011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19048 New function.
19049 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19050 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19051 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19052
bba79a15
VS
190532011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19056 bitmap.
19057 (grub_gfxterm_term_init): Likewise.
19058
abc474ef
VS
190592011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 Take into account the decorations the computing menu entry width.
19062
19063 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19064 (grub_gfxmenu_create_box): Register get_border_width.
19065 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19066 if available.
19067 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19068 get_border_width.
19069
e74b3947
EP
190702011-04-18 Endres Puschner <code@e7p.de>
19071
19072 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19073 Don't skip first class.
19074
34faa595
VS
190752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19078 chunks.
19079 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19080
93a777e3
VS
190812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 Complete 64-bit division support.
19084
19085 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19086 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19087 * include/grub/misc.h (grub_divmod64): Rename to ...
19088 (grub_divmod64_full): ... this.
19089 (grub_divmod64): New inline function.
19090
a5102d94
VS
190912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19094
f3fb7b36
VS
190952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19098 performing the necessary test.
19099
9ac718b0
VS
191002011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19103 (kfreebsd.elf): Likewise.
19104 (pc-chainloader.elf): Likewise.
19105 (ntldr.elf): Likewise.
19106
50d2cc5a
VS
191072011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 Identify RAID by its UUID rather than (guessed) name.
19110
19111 * grub-core/disk/raid.c (ascii2hex): New function.
19112 (grub_raid_open): Accept mduuid/%s specification.
19113 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19114 (get_mdadm_uuid): ... this.
19115 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19116
e03f7bea
VS
191172011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19120 to negative size.
19121
e74c3112
CW
191222011-04-13 Colin Watson <cjwatson@ubuntu.com>
19123
19124 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19125 btrfs subvolume.
19126 * util/grub.d/20_linux_xen.in: Likewise.
19127
78fa584f
CW
191282011-04-13 Colin Watson <cjwatson@ubuntu.com>
19129
19130 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19131 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19132
19133 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19134 Build a list of relevant visible mounts using the mnt_id and
19135 parent_mnt_id fields, and then scan that list at the end.
19136
9d5f8162
CW
191372011-04-12 Colin Watson <cjwatson@ubuntu.com>
19138
19139 * docs/grub.texi (normal): New section.
19140 (normal_exit): New section.
19141 (Embedded configuration): Add reference to normal.
19142 (GRUB only offers a rescue shell): Likewise.
19143 * docs/grub-dev.texi (Error Handling): Fix typo.
19144
09a9d66f
CW
191452011-04-12 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * NEWS: Drop obsolete entry about probe-only btrfs support.
19148
0c676933
CW
191492011-04-12 Colin Watson <cjwatson@ubuntu.com>
19150
19151 * util/import_gcry.py: Fix typo.
19152
ec9f5e0d
VS
191532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19154
19155 * NEWS: Add btrfs support.
19156
fe6b2cba
VS
191572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
191582011-04-11 Colin Watson <cjwatson@ubuntu.com>
19159
19160 BtrFS support. Written by me (Vladimir) with important bugfixes and
19161 even more important testing by Colin.
19162
19163 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19164 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19165 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19166 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19167 mem_input_off and mem_input. All users updated to accept in-RAM input.
19168 (gzio_seek): New function.
19169 (test_zlib_header): Likewise.
19170 (grub_gzio_read): Likewise.
19171 (grub_zlib_decompress): Likewise.
19172 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19173 Accept partial and non-virtual mounts.
19174 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19175 avoid receiving /dev/dm-X as device.
19176 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19177 Handle bind and partial mounts.
19178 * grub-core/lib/crc.c: New file.
19179 * include/grub/deflate.h: Likewise.
19180 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19181 proto.
19182 * include/grub/lib/crc.h: New file.
19183
e745cf0c
VS
191842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 Implement automatic module license checking according to new GNU
19187 guidelines.
19188
19189 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19190 (grub_dl_load_core): Use grub_dl_check_license.
19191 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19192 (GRUB_MOD_LICENSE): Likewise.
19193 (GRUB_MOD_DUAL_LICENSE): Likewise.
19194 All modules updated.
19195
2a9bc016
CW
191962011-04-11 Colin Watson <cjwatson@ubuntu.com>
19197
19198 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19199 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19200 loaders.
19201 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19202
8a3bc88e
VS
192032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19206
af869a4a
VS
192072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19210 failed.
19211
9ee8d94f
VS
192122011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19215 parenthesis in the middle of the filename.
19216
b01abe3e
VS
192172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19220 rather than trying to put initrd way too high.
19221 Reported by: Ryan Lortie <desrt@desrt.ca>
19222
335bda1e
VS
192232011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19226 improperly removed string.
19227
5ca1a64d
VS
192282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19231 is_disk.
19232 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19233 (open_device) Likewise.
19234 (grub_util_biosdisk_close): Likewise.
d8ce9995 19235 Reported by: Mark Korenberg.
5ca1a64d 19236
cbac5b1e
AK
192372011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19238
19239 * util/grub-mkconfig_lib.in: Add missing quotes.
19240
088cdb65
CW
192412011-04-10 Colin Watson <cjwatson@ubuntu.com>
19242
19243 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19244 is NULL.
19245
8b8a81fa
VS
192462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 Dynamically count the number of lines for the lower banner.
19249
19250 * grub-core/normal/menu_entry.c (per_term_screen): New member
19251 num_entries.
19252 (print_down): Use num_entries.
19253 (update_screen): Likewise.
19254 (grub_menu_entry_run): Set num_entries.
19255 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19256 num_entries.
19257 (grub_print_message_indented): Move real part to ...
19258 (grub_print_message_indented_real): ... here. Additional argument
19259 dry_run.
19260 (draw_border): Additional argument num_entries.
19261 (print_message): Additional argument dry_run.
19262 (print_entries): Receive menu viewer data.
19263 (grub_menu_init_page): New argment num_entries.
19264 (menu_text_set_chosen_entry): Use num_entries.
19265 (grub_menu_try_text): Likewise.
19266 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19267 All users updated.
19268 (grub_ucs4_count_lines): New function.
19269 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19270 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19271 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19272 (grub_term_border_height): Likewise.
19273 (grub_term_num_entries): Likewise.
19274
277f955b
VS
192752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19278 Remove now unused string.
19279
536ce85a
CW
192802011-04-09 Colin Watson <cjwatson@ubuntu.com>
19281
19282 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19283 build system.
19284 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19285
19286 (Comment): Fix typo.
19287 (Getting started): General copy-editing.
19288 (Typical Development Experience): Likewise.
19289 (Error Handling): Likewise.
19290 (Video API): Likewise.
19291
2cf09e32
CW
192922011-04-09 Colin Watson <cjwatson@ubuntu.com>
19293
19294 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19295 throughout.
19296
1ec652f4
VS
192972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19300 directory.
19301
2c583728
CW
193022011-04-08 Colin Watson <cjwatson@ubuntu.com>
19303
19304 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19305 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19306 "development".
19307
d7a565e9
VS
193082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19311 grub_strcpy since the lines aren't necessarily 0-terminated.
19312
7c2e4909
VS
193132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19316 root on legacy.
19317
34c09785
VS
193182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19321 (GRUB_MOD_INIT): DEVICE isn't optional.
19322
6a6f8058
VS
193232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19326 word on new line if it's too long anyway. Fixes a hang.
19327
2e335e90
VS
193282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19331 const.
19332 * util/grub-setup.c (main): Reuse md device name if available.
19333 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19334 not GRUB name as argument.
19335 Based on patch by: Florian Wagner <fwagner>.
19336
10a7a867
VS
193372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19340 Place mbi on low memory for better compatibility.
19341
7a3d6cd9
VS
193422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19345
18dd6b47
VS
193462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
193472011-04-08 Colin Watson <cjwatson@ubuntu.com>
19348
19349 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19350 * conf/Makefile.common: Likewise.
18dd6b47 19351
3c0e3f14
VS
193522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19353
f7148863
VS
19354 * grub-core/normal/menu.c: Add missing include.
19355
193562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19359
6d1fa41f
MZ
193602011-04-08 Martin Zuther <mzuther@mzuther.de>
19361
19362 * util/grub-mkconfig.in: Ignore emacsen backup.
19363
478182a8
VS
193642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19367 on open.
19368 (grub_util_biosdisk_close): Likewise.
19369
72a89a54
VS
193702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19373 const attribute and use grub_isdigit.
19374
b5ebecfa
A
193752011-04-06 Andrey <dev_null@ukr.net>
19376
19377 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19378 gcc warning.
19379
7755f66e
VS
193802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19383 useful grub_dprintf's.
19384
461121ff
VS
193852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19388
2a961775
VS
193892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19392
adf594cc
VS
193932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 Output errors if theme loading failed.
19396
19397 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19398 grub_gfxterm_fullscreen on error paths to ...
19399 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19400 theme loading error.
19401
665900a3
VS
194022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19405 space for older compilers.
19406 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19407
a562b479
VS
194082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19411 and report them as not RAID members since they are useless for GRUB.
19412 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19413
850e9373
VS
194142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 Increase LVM implementation robustness in order not to crash on
19417 configurations like pvmove. Previously code assumed that in some places
19418 only lvs or only pvs are used whereas it seems that they are used
19419 interchangeably.
19420
19421 * grub-core/disk/lvm.c (read_node): New function.
19422 (read_lv): Use read_node.
19423 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19424 Match volumes only at the end when all lvs are found. Take both
19425 pvs (first) and lvs (second) into account.
19426 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19427 mirror_* into node_*. All users updated.
19428 (grub_lvm_stripe): Merge this ...
19429 (grub_lvm_mirror): ... and this ...
19430 (grub_lvm_node): ... into this. All users updated.
19431
6f332153
VS
194322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19435 of function to allow further scanning for LVMs.
19436
829ea451
VS
194372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19440 on failed seek as it breaks open fd reusage.
19441
09ceb9a5
VS
194422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * util/grub-install.in: Add a recommendation to use --recheck before
19445 reporting bugs.
19446
67e11623
VS
194472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19450 are obtained.
19451
caee5efd
VS
194522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 GRUB developper manual based on existing Internals section and
19455 contributions by the various authors with active copyright assignment.
19456
19457 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19458 * docs/font_char_metrics.png: New file.
19459 * docs/font_char_metrics.txt: Likewise.
19460 * docs/grub-dev.texi: Likewise.
19461 * docs/grub.texi (Internals): Move from here ...
19462 * docs/grub-dev.texi: ... here.
19463
2cccc747
CW
194642011-04-01 Colin Watson <cjwatson@ubuntu.com>
19465
19466 Store the loopback device as data on loopback grub_disk structures,
19467 rather than the file it points to. This fixes use of freed memory
19468 if an existing loopback device is replaced.
19469
19470 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19471 disk->data, not dev->file.
19472 (grub_loopback_read): Adjust file assignment to match.
19473 Fixes Ubuntu bug #742967.
19474
186ae367
CW
194752011-04-01 Colin Watson <cjwatson@ubuntu.com>
19476
19477 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19478 when replacing an existing device.
19479
cfed2ad0
VS
194802011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19483 memory corruptions.
19484
19485 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19486 unsigned.
19487 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19488 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19489 (grub_jfs_read_inode): Likewise.
19490 (grub_jfs_opendir): Likewise. Remove now useless casts.
19491 (grub_jfs_getent): Likewise.
19492 Make ino a grub_uint32_t rather than int.
19493 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19494 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19495 division and module with bit operations.
19496 (grub_jfs_find_file): Make ino a grub_uint32_t.
19497 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19498
05d2ed32
CW
194992011-04-01 Colin Watson <cjwatson@ubuntu.com>
19500
19501 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19502 warning. (This was in fact always initialised before use, but GCC
19503 wasn't smart enough to prove that.)
19504 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19505
91dc6073
VS
195062011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19509 stack alignment.
19510 (efi_wrap_1): Likewise.
19511 (efi_wrap_2): Likewise.
19512 (efi_wrap_3): Likewise.
19513 (efi_wrap_4): Likewise.
19514 (efi_wrap_5): Likewise.
19515 (efi_wrap_6): Likewise.
19516 (efi_wrap_10): Likewise.
19517 Based on information by: Red Hat/Peter Jones.
19518
a8afc1d1
CW
195192011-03-31 Colin Watson <cjwatson@ubuntu.com>
19520
19521 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19522 set-but-not-used variable.
19523
a826cc7d
CW
195242011-03-31 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * docs/grub.texi (Simple configuration): Be more explicit about
19527 GRUB_DEFAULT, and add an example.
19528 Reported by: Leslie Rhorer.
19529
875b67ba
CW
195302011-03-30 Colin Watson <cjwatson@ubuntu.com>
19531
19532 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19533 shell".
19534
fd7cd914
AS
195352011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19536
19537 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19538 * util/grub.d/20_linux_xen.in: Likewise.
19539
090b1b6a
VS
195402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 * util/grub.d/10_linux.in: Try alternative config filenames where
19543 we parse config file.
19544 * util/grub.d/20_linux_xen.in: Likewise.
19545
baad885c
AS
195462011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19547
19548 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19549 * util/grub.d/20_linux_xen.in: Likewise.
19550
241e41f5
VS
195512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19552
19553 * grub-core/disk/raid.c (insert_array): Add few potentially
19554 useful grub_util_info.
19555 (grub_raid_register): Likewise.
19556
56445fb2
VS
195572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19560 Preserve partition number in mdadm code path.
19561
c871b1c6
VS
195622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19565 few potentially useful grub_util_info.
19566
5e631b4f
CW
195672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19570
2d5d0333
CW
195712011-03-30 Colin Watson <cjwatson@ubuntu.com>
19572
19573 * docs/grub.texi (default): Use @example rather than nested
19574 itemized lists to avoid breaking gendocs.
19575
3d7ed04e
CW
195762011-03-30 Colin Watson <cjwatson@ubuntu.com>
19577
19578 * docs/grub.texi (Future): Update.
19579
abf04200 195802011-03-30 Colin Watson <cjwatson@ubuntu.com>
19581
19582 * docs/grub.texi (Environment): New chapter.
19583 (Changes from GRUB Legacy): Link to "Environment block" section for
19584 details of limitations.
19585 (Simple configuration): Likewise. Link to documentation of gfxmode
19586 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19587 respectively.
19588 (Shell-like scripting): Note that normal variables are stored in the
19589 environment.
19590 (gettext): Link to documentation of lang and locale_dir.
19591 (list_env): New section.
19592 (load_env): New section.
19593 (save_env): New section.
19594
19595 (Reporting bugs): Fix typo.
19596
e1ad0edd
VS
195972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19600 the example.
19601
5d803174
VS
196022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * grub-core/term/at_keyboard.c (set_scancodes)
19605 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19606
2a2da1d0
CW
196072011-03-30 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * docs/grub.texi (Menu-specific commands): Remove some semantics
19610 that were true in GRUB Legacy but not in GRUB 2.
19611 (submenu): New section.
19612 (false): New section.
19613 (read): New section.
19614 (true): New section.
19615
a7527639
CW
196162011-03-30 Colin Watson <cjwatson@ubuntu.com>
19617
19618 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19619
196202011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19621
19622 * docs/grub.texi (Simple configuration): Explain some of the
19623 current limitations of grub-mkconfig.
8a748df2 19624 Reported by: Leslie Rhorer.
e30af029 19625
fc858482
VS
196262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 Old macs search for boot.efi rather than for bootia32.efi.
19629
19630 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19631 * util/grub-mkrescue.in: Likewise.
19632 Suggested by: Peter Jones.
19633
e1eb511d
VS
196342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19637
70e75364
VS
196382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19641 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19642 (grub_lvm_mirror): New struct.
19643 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19644 (grub_lvm_iterate): Iterate only visible volumes.
19645 (grub_lvm_read): Factor out to ..
19646 (read_lv): ... this. Support mirrors.
19647 (grub_lvm_read): New wrapper function.
19648 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19649 stripped or mirrored.
19650
fc18f6a3
VS
196512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19654
5c650f4c
CW
196552011-03-29 Colin Watson <cjwatson@ubuntu.com>
19656
19657 * docs/grub.texi (loopback): New section.
19658
61d7156b
CW
196592011-03-29 Colin Watson <cjwatson@ubuntu.com>
19660
19661 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19662 removed -p option.
19663
994b8264
CW
196642011-03-29 Colin Watson <cjwatson@ubuntu.com>
19665
19666 * docs/grub.texi (BIOS installation): New section, partly based on
19667 previous text in other sections.
19668 (Installing GRUB using grub-install): Replace BIOS discussion with a
19669 cross-reference.
19670 (Images): Likewise.
19671
9e4d19e0
VS
196722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19673
19674 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19675 [HAVE_DIOCGDINFO]: Add safety checks.
19676
a307c0b2
VS
196772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19680 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19681
b4db4f39
CW
196822011-03-29 Colin Watson <cjwatson@ubuntu.com>
19683
19684 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19685 real_sb->size is zero (e.g. RAID-0), get the disk size from
19686 real_sb->data_size instead.
19687 Fixes Ubuntu bug #743136.
19688
35e5f84c
VS
196892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19692 printf clauses for printing size and start.
19693
d2e29d81
VS
196942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19697 Reported and tested by: Timothy Nikkel.
19698
ed5587af
VS
196992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19700
19701 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19702 (dirty_region_add_real): ... this.
19703 (dirty_region_add): Don't discard margin refresh when performing
19704 scheduled repaint.
19705
a1dc717c
VS
197062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * grub-core/lib/relocator.c (allocate_regstart)
19709 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19710 terminals are capabple of malloc-free operation.
19711 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19712 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19713
9f3677d3
VS
197142011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19715
19716 * util/grub-setup.c: Copy the partition table zone if floppy support
19717 is disabled, even if no partition table is found.
19718
19719 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19720 during POST if an invalid partition table is contained in the PBR
19721 of the active partition when GRUB is installed to a partition.
19722
24148725
CW
197232011-03-28 Colin Watson <cjwatson@debian.org>
19724
19725 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19726 comment.
19727
f329eda7
CW
197282011-03-28 Colin Watson <cjwatson@debian.org>
19729
19730 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19731 to be specific about what kind of RAID device we're scanning for.
19732
c482ad98
SG
197332011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19734
19735 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19736 return freed string.
19737
5ee04984
VS
197382011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19741
f4727da9
VS
197422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 Use libgeom on FreeBSD to detect partitions.
19745
19746 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19747 (grub-mkrelpath): Likewise.
19748 (grub-script-check): Likewise.
19749 (grub-editenv): Likewise.
19750 (grub-mkpasswd-pbkdf2): Likewise.
19751 (grub-fstest): Likewise.
19752 (grub-mkfont): Likewise.
19753 (grub-mkdevicemap): Likewise.
19754 (grub-probe): Likewise.
19755 (grub-setup): Likewise.
19756 (grub-ofpathname): Likewise.
19757 (grub-mklayout): Likewise.
19758 (example_unit_test): Likewise.
19759 (grub-menulst2cfg): Likewise.
19760 * grub-core/Makefile.core.def (grub-emu): Likewise.
19761 (grub-emu-lite): Likewise.
19762 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19763 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19764 define HAVE_DIOCGDINFO.
19765 (follow_geom_up) [FreeBSD]: New function.
19766 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19767 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19768 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19769 unconditionally of HAVE_DIOCGDINFO.
19770
82fe6c75
VS
197712011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 Fix FreeBSD compilation problem.
19774
19775 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19776 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19777
4c6c9431
CW
197782011-03-24 Colin Watson <cjwatson@ubuntu.com>
19779
19780 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19781 Switch back to page zero before loading a kernel, since some kernel
19782 drivers expect that.
19783 Thanks to: Felix Kuehling.
19784
c7064d94
VS
197852011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19788 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19789 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19790
3f71cded
VS
197912011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19794 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19795
ef6de21a
VS
197962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19799 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19800 malloc is disabled.
19801
8bc66a2c
VS
198022011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19805 for modules headers when counting the needed allocation size.
19806
5657722c
VS
198072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19810 if no ASCII character is found to prevent crash.
19811
41a85f55
AK
198122011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19813
19814 * grub-core/video/bitmap.c (match_extension): Ignore case.
19815
59e1e5f1
VS
198162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19819
bd4d051a
VS
198202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 * grub-core/script/parser.y: Declare "time" as valid argument.
19823
bae7fcc1
PJ
198242011-03-23 Peter Jones <pjones@redhat.com>
19825
19826 Fix incorrect assert failure reporting.
19827
19828 * grub-core/tests/example_functional_test.c (example_test): Add
19829 a failure comment.
19830 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19831 (failure_start): ...this. Check that malloc succeeded.
19832 Don't call xvasprintf. Return failure struct.
19833 (failure_append_vtext): New function.
19834 (failure_append_text): Likewise.
19835 (add_failure): Likewise.
19836 (grub_test_assert_helper): Likewise.
19837 * include/grub/test.h (grub_test_assert_helper): New declaration.
19838 (grub_test_assert): Macro rewritten.
19839
537dc9be
VS
198402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19843
fa3e01bf
VS
198442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19847
b1d28404
VS
198482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19851 into GRUB-style one.
19852
2e3e2e09
VS
198532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19854
19855 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19856 error and not grub_errno.
19857 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19858
ed57e557
VS
198592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19862 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19863
d1611f01
VS
198642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19865
19866 * grub-core/efiemu/i386/pc/cfgtables.c
19867 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19868 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19869 (grub_xnu_unlock): Likewise.
19870 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19871
7d4e39d6
VS
198722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19875 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19876 * grub-core/commands/hashsum.c (aliases): Likewise.
19877 * grub-core/commands/setpci.c (pci_registers): Likewise.
19878 * grub-core/disk/usbms.c (attach_hook): Likewise.
19879 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19880 (zio_checksum_table): Likewise.
19881 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19882 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19883 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19884 * grub-core/lib/relocator.c (leftovers): Likewise.
19885 (extra_blocks): Likewise.
19886 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19887 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19888 (modules_last): Likewise.
19889 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19890 (devices): Likewise.
19891 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19892 (modules_last): Likewise.
19893 * grub-core/normal/auth.c (users): Likewise.
19894 * grub-core/normal/context.c (initial_menu): Likewise.
19895 (current_menu): Likewise.
19896 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19897 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19898 (grub_serial_terminfo_input_template): Likewise.
19899 (grub_serial_terminfo_output_template): Likewise.
19900 (grub_serial_terminfo_input): Likewise.
19901 (grub_serial_terminfo_output): Likewise.
19902 (registered): Likewise.
19903 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19904
40fc4659
VS
199052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19908 grub_video_mode_type_t.
19909 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19910 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19911 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19912
2da48d28
VS
199132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * util/grub-install.in: Correct the x86-64 name as x86_64.
19916
9b43bf39
CW
199172011-03-11 Colin Watson <cjwatson@ubuntu.com>
19918
19919 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19920 initial chunk read from the kernel always includes GRUB's multiboot
19921 header, which is now outside the first sector.
19922
be1a7ce0
CW
199232011-03-09 Colin Watson <cjwatson@ubuntu.com>
19924
19925 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19926 cached mmap_size, so that this works correctly when called multiple
19927 times.
19928 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19929
83a3c48d
CW
199302011-03-09 Colin Watson <cjwatson@ubuntu.com>
19931
19932 * docs/grub.texi (Simple configuration): Tidy up formatting.
19933
57d75699
SJ
199342011-03-07 Szymon Janc <szymon@janc.net.pl>
19935
19936 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19937 Set-but-not-used variable removed.
19938
028501a0
VS
199392011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 Workaround yet another IEEE1275 bug.
19942
19943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19944 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19945 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19946 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19947 is set.
19948 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19949 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19950
d998657d
VS
199512011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19954 error.
19955
fee7cdd4
CW
199562011-02-11 Colin Watson <cjwatson@ubuntu.com>
19957
19958 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19959 empty, since in that case we can only generate either nothing or a
19960 syntactically invalid configuration file.
19961 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19962
97286eb5
CW
199632011-02-09 Colin Watson <cjwatson@ubuntu.com>
19964
19965 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19966 (Making a GRUB bootable CD-ROM): Likewise.
19967 (Invoking grub-mkrescue): New section.
19968 Reported by: Yann Dirson. Fixes Debian bug #612585.
19969
22b28eb3
CW
199702011-02-09 Colin Watson <cjwatson@ubuntu.com>
19971
19972 * util/grub-install.in: Remove unnecessary brackets from tr
19973 arguments.
19974 * util/grub.d/10_hurd.in: Likewise.
19975 * util/grub.d/10_kfreebsd.in: Likewise.
19976 * util/grub.d/10_linux.in: Likewise.
19977 * util/grub.d/20_linux_xen.in: Likewise.
19978 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19979
7e735e43
CW
199802011-02-08 Colin Watson <cjwatson@ubuntu.com>
19981
19982 * include/grub/file.h (not_easly_seekable): Rename to ...
19983 (not_easily_seekable): ... this. Update all users.
19984
800f1881
CW
199852011-01-28 Colin Watson <cjwatson@ubuntu.com>
19986
19987 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19988 grub-mkrescue.
19989
3281d3d6
VS
199902011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * util/grub-mkimage.c (generate_image): Refuse to create the images
19993 bigger than the actual flash (512K) in Loongson machines. 512K is also
19994 the biggest chip supported by them.
19995
3533413c
VS
199962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19999
73ae4f4f
VS
200002011-01-22 Anthony DeRobertis <anthony@derobert.net>
20001
20002 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20003 super_offset field.
20004
37f4f608
VS
200052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * util/grub-install.in: Ignore install device on platforms
20008 where it doesn't make sense. Always use UUIDs except on pc, efi and
20009 sparc64.
20010 Reported by: Daniel Kahn Gillmor.
20011
03a4ccb5
VS
200122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20015
ffc8f4d8
VS
200162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20019 (iterate_real): Don't rely on partition being non-NULL.
20020
80f23be7
VS
200212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20024 supported platforms. Put a compile time assert for this rather than
20025 generate a warning with 32-bit shift.
20026
5d4f4dd5
VS
200272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20030 logical expression more readable.
20031
e489601a
VS
200322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20035 even if some elements have a name.
20036 Reported by: Alexander GQ Gerasiov.
20037
96e0a6ea
CW
200382011-01-22 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20041 path unreadable if `grub-probe -t abstraction' fails, for example if
20042 memberlist fails on an LVM volume group.
20043 Reported by: Darius Jahandarie.
20044
81431e2b
CW
200452011-01-22 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * docs/grub.texi (Simple configuration): Document
20048 GRUB_PRELOAD_MODULES.
20049
5e79d66a
CW
200502011-01-17 Colin Watson <cjwatson@ubuntu.com>
20051
20052 * .bzrignore: Remove nonexistent grub-pbkdf2.
20053
646ada34
VS
200542011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * configure.ac: Bump version to 1.99~rc1.
20057
04360337
VS
200582011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20061 for safety.
20062
46c9db88
VS
200632011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20066 module.
20067
200682011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20069
20070 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20071
4fbf1852
VS
200722011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20075 diskdevid.
20076
f1632d4d
VS
200772011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 Fix compilation on cygwin.
20080
20081 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20082 -R .drectve on cygwin.
20083 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20084 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20085 (COND_CYGWIN): New condition.
20086 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20087 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20088 not @TARGET_OBJ2ELF@.
20089 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20090 type to determine whether aux is to be used.
20091
0b5e127b
VS
200922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20095 realpath'ed device string.
20096 Handle floppy (somewhat).
20097 Issue error in unknown case rather than garbage.
20098 Reported by: Axel Beckert.
20099
173b71e9
VS
201002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * util/grub.d/00_header.in (load_video): Handle the case when no video
20103 drivers available.
20104 Thanks to: Axel Beckert.
20105
f8f479db
VS
201062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20109 variable. Fixes problem on big endian platforms.
20110
8fc0a245
VS
201112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20114 It doesn't work well there.
20115
b8494fbe
VS
201162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20119 warning.
20120 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20121 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20122 counter.
20123
b44a558c
VS
201242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 Use alias->path rather than buggy "canon".
20127
20128 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20129 (ofdisk_hash_add): New argument curcan. All users updated.
20130
51fa856c
CW
201312011-01-11 Colin Watson <cjwatson@ubuntu.com>
20132
20133 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20134
9da068a5
VS
201352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20138 loadmask before doing any calculations. Use correct type for offset.
20139 (grub_linux_load64): Likewise.
20140
86205c94
CW
201412011-01-11 Colin Watson <cjwatson@ubuntu.com>
20142
20143 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20144 with NULL.
20145 (console_grub_equivalences_unshift): Likewise.
20146 Reported by: Daniel Dehennin.
20147
4531a206
VS
201482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20151 (set_env_limn_ro): Likewise.
20152 (GRUB_MOD_INIT): Likewise.
20153 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20154 ARRAY_SIZE while on it.
20155 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20156 * grub-core/normal/context.c (grub_env_export): Move from here ...
20157 * grub-core/kern/env.c (grub_env_export): ... here.
20158 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20159 prefix.
20160 * grub-core/kern/main.c (grub_main): Export root and prefix.
20161 * include/grub/env.h (grub_env_export): Export.
20162 Reported by: Seth Goldberg.
20163
45146057
VS
201642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20167 Take into account space used by ELF sections and multiboot palette.
20168 Reported by: Grégoire Sutre.
20169
f093110b
VS
201702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * BUGS: New file.
20173
3395fe52
VS
201742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 Pass more appropriate video id to Linux.
20177
20178 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20179 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20180 fill have_vga.
20181 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20182 shift params->lfb_size.
20183 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20184
c2fa6cbb
VS
201852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20188
b3ff6ff0
VS
201892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20192 separator and pass bootpath/devid even if only one of them is available.
20193 Reported by: Seth Goldberg.
20194
ae67942e
VS
201952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20198 implementations bug on them.
20199
20200 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20201 memory.
20202 (filter_memory_map): Likewise.
20203
d570097a
VS
202042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20207 Reported by: nebuchadnezzar.
20208
a508e776
VS
202092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20212 Reported by: nebuchadnezzar.
20213
dcb883b1
VS
202142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 Submenu default support.
20217
20218 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20219 auto_boot. All users updated.
20220 Declared static.
20221 Handle chosen and default with submenus.
20222 (grub_menu_execute_with_fallback): Declared static.
20223 Don't notify failure if autobooted. Upper level does it.
20224 (menuentry_eq): New function.
20225 (get_entry_number): Use menuentry_eq.
20226 (show_menu): New parameter "autobooted". All users updated.
20227 (grub_show_menu): Likewise.
20228 * include/grub/normal.h (grub_show_menu): Likewise.
20229 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20230 (grub_menu_execute_with_fallback): Likewise.
20231
6fef99b4
VS
202322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * util/grub-mklayout.c (usage): Update help text.
20235
47a77af5
VS
202362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20239
ce6bb3ee
VS
202402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * util/grub-menulst2cfg.c (main): Trim the line.
20243
db87be2a
VS
202442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20247 (grub_machine_init): Don't check amount of low memory as reportedly
20248 INT 12h can be broken and if low memory is too low we wouldn't have
20249 gotten into grub_machine_init anyway.
20250
c49849cc
VS
202512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20254 (grub_machine_mmap_iterate): Take low memory into account
20255
b1969b30
VS
202562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20259 badfs.
20260 Reported by: TiCPU.
20261
cf0eaf13
VS
202622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20265 members errors.
20266
1f060f39
GS
202672011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20268
20269 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20270 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20271
a21e5672
GS
202722011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20273
20274 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20275 openbsd and netbsd types being in part_bsd module.
20276
c88172fa
VS
202772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20280 (_FILE_OFFSET_BITS): Likewise.
20281 Reported by: Seth Goldberg.
20282
53798c4b
GS
202832011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20284
20285 * configure.ac: Check for libdevmapper header.
20286
e7121b69
VS
202872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20290 avoid aliasing.
20291 (fzap_lookup): Likewise.
20292 (dnode_get): Likewise.
20293 (make_mdn): Likewise.
20294 (zfs_mount): Likewise.
20295 (fzap_iterate): Use temporary pointer to avoid aliasing.
20296 (grub_zfs_read): Likewise.
20297 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20298 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20299 pointers to avoid aliasing.
20300 (grub_cmd_xnu_kernel64): Likewise.
20301 (grub_xnu_load_driver): Likewise.
20302
fc836af9
VS
203032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20306 aliasing warning.
20307 (grub_cmd_terminal_output): Likewise.
20308 Reported and tested by: Grégoire Sutre.
20309
f9f37648
VS
203102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20313 warning.
20314 Reported and tested by: Grégoire Sutre.
20315
ec1dfd63
VS
203162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * configure.ac: Do CPU substitution even if it's specified explicitly.
20319 Reported and tested by: Alain Greppin.
20320
9462775a
VS
203212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20324 Reported and tested by: Alain Greppin.
20325
0fd48e35
VS
203262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 Satisfy some bison versions need for inttypes.h.
20329
20330 * grub-core/lib/posix_wrap/inttypes.h: New file.
20331 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20332 (int16_t): Likewise.
20333 (int32_t): Likewise.
20334 (int64_t): Likewise.
20335 Reported and tested by: Alain Greppin.
20336
43f1bc83
VS
203372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20338
20339 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20340 Silence spurious warning.
20341 Reported and tested by: Alain Greppin.
20342
64d1f041
SJ
203432011-01-07 Szymon Janc <szymon@janc.net.pl>
20344
20345 * docs/grub.texi (Support automatic decompression): Update with xz
20346 decompression support.
20347
25953e10
SJ
203482011-01-07 Szymon Janc <szymon@janc.net.pl>
20349
20350 Improve loaders' kernel command line handling.
20351
20352 * grub-core/lib/cmdline.c: New file.
20353 * include/grub/lib/cmdline.h: Likewise.
20354 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20355 grub_create_loader_cmdline to create kernel command line.
20356 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20357 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20358 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20359 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20360 (linux): Add lib/cmdline.c on common.
20361
e72d259f
VS
203622011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20365 inopos might be unaligned.
20366
c0cf26da
VS
203672011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20370 endian transformations.
20371 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20372 Based on report by: Doug Nazar.
20373
0ca09e6c
DN
203742011-01-07 Doug Nazar <nazard.michi@gmail.com>
20375
20376 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20377 array->members[i].start_sector.
20378 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20379
014b6806
VS
203802011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20383 Reported and tested by: Grégoire Sutre.
20384
415502c2
CW
203852011-01-06 Colin Watson <cjwatson@ubuntu.com>
20386
20387 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20388 avoid causing test failures by clearing the screen.
20389
71b6a2b7
CW
203902011-01-06 Colin Watson <cjwatson@ubuntu.com>
20391
20392 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20393 Fix prefix check to handle the case where dir ends with a slash
20394 (most significantly, "/" itself).
20395 Reported by: Michael Vogt.
20396
b3f8d28a
VS
203972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Run terminfo_cls on initing terminfo output to clear the screen and
20400 move the cursor to (0,0).
20401
20402 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20403 Call grub_terminfo_output_init.
20404 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20405 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20406 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20407
4c3e4f37
VS
204082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20411 only when needed.
20412
488f71f1
VS
204132011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20416 CTRL.
20417
18a38098
VS
204182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 The E820 type 5 is BADRAM, not EXEC_CODE.
20421
20422 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20423 (GRUB_E820_BADRAM): New define.
20424 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20425 into reserved. Propagate BADRAM.
20426 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20427 (GRUB_E820_BADRAM): New define.
20428
9eae2084
VS
204292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20432 Ignore the memory post-4G.
20433 (grub_relocator_firmware_alloc_region): Additional debug statement.
20434
ebc71d28
VS
204352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20438 names.
20439 Reported by: David Pravec.
20440
446fa400
VS
204412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20444 BIOSes.
20445
a0159f37
VS
204462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20449 Prevent overflow.
20450 (grub_reed_solomon_recover): Likewise.
20451
e5146ca1
VS
204522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20455
204562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20457
20458 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20459 variable.
20460
5b1bdf12
CW
204612011-01-04 Colin Watson <cjwatson@ubuntu.com>
20462
20463 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20464 descriptions of extract_legacy_entries_source and
20465 extract_legacy_entries_configfile.
20466 Reported by: Seung Soo, Ha.
20467
99d925aa
CW
204682011-01-03 Colin Watson <cjwatson@ubuntu.com>
20469
20470 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20471 on devices that do not implement function 0.
20472
4af0504b
DV
204732011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20474
20475 * grub-core/fs/hfsplus.c: Make parent unsigned.
20476 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20477 overflows.
20478 (grub_hfsplus_cmp_extkey): Likewise
20479
469ee10a
VS
204802011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * util/grub-install.in: Correctly use bootloader_id and not
20483 GRUB_DISTRIBUTOR on efibootmgr line.
20484
323a8e9c
VS
204852011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20488
1b394975
IC
204892010-12-31 Ian Campbell <ijc@hellion.org.uk>
20490
20491 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20492 Xen and reorder menu item wording to make it clearer that this entry
20493 will launch Xen. Print separate messages when loading Xen and
20494 Linux.
20495
275bff5f
VS
204962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20497
20498 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20499 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20500 loop in case of incorrect amiga partmap.
20501
307806cb
VS
205022010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20505 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20506 Reported by:EHeM.
20507
b12b923e
VS
205082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20511 spurious warning.
20512 Reported by: crocket
20513
14b48a19
VS
205142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20517 Preload EFIemu.
20518 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20519
693db2df
VS
205202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20523 is loaded
20524 (grub_cmd_xnu_kextdir): Likewise.
20525 (grub_cmd_xnu_splash): Likewise.
20526
c7638645
VS
205272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 Avoid using Reed-Solomon with 0 redundancy.
20530
20531 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20532 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20533 or 0 redundancy.
20534 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20535 (grub_reed_solomon_recover): Likewise.
20536
25dd4780
VS
205372010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 Don't use disk subsystem in freebsd_boot.
20540
20541 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20542 (freebsd_biosdev): Likewise.
20543 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20544 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20545
0b2db943
VS
205462010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 Handling of files of unknown size is currently limited. They can't be
20549 used e.g. for initrd or modules. Moreover gzip handling of not
20550 easily seekable files is buggy. Disable unknown file size for now. May
20551 be inefficient but works.
20552
20553 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20554 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20555
5c408d0f
MP
205562010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20557
20558 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20559 floppy probe.
20560
190a011a
JD
205612010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20562
20563 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20564
022d01b8
SL
205652010-12-25 Shea Levy <shlevy>
20566
20567 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20568
c4855fdc
VS
205692010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20572 Windows Server 2008.
20573 Reported by: Devin Giddings.
20574
0354b867
VS
205752010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20578 writing an error message because of async power management.
20579 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20580 (grub_reboot): Likewise.
20581
ab66c69f
JU
205822010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20583
20584 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20585 keep unit tests from failing when they shouldn't.
20586
1426ef35
CW
205872010-12-21 Colin Watson <cjwatson@ubuntu.com>
20588
20589 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20590 previous patch increased the size of the RS code by 20 bytes (at
20591 least with gcc-4.4), so increase this by 20 bytes to match.
20592 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20593
20641b6b
CW
205942010-12-21 Colin Watson <cjwatson@ubuntu.com>
20595
20596 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20597 scratch area. Make sure to initialise chosen in standalone mode as
20598 well as non-standalone.
20599 Reported by: Robert Hooker and Andy Whitcroft.
20600 Tested by: Andy Whitcroft.
20601
d060ad60
CW
206022010-12-21 Colin Watson <cjwatson@ubuntu.com>
20603
20604 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20605 constructing a new unescaped string and passing it to grub_xputs in
20606 one go, rather than passing characters to grub_printf one at a time.
20607
b889cfad
CW
206082010-12-21 Colin Watson <cjwatson@ubuntu.com>
20609
20610 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20611 initialising utf16.
20612
4e01b6c8
CW
206132010-12-21 Colin Watson <cjwatson@ubuntu.com>
20614
20615 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20616 comment. Add an extra layer of quotation, requiring the output of
20617 this function to be used in a printf format string.
20618 (gettext_printf): New function.
20619 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20620 Extract translatable strings from here-documents and use a temporary
20621 variable instead, so that xgettext can find them.
20622 * util/grub.d/10_kfreebsd.in: Likewise.
20623 * util/grub.d/10_linux.in: Likewise.
20624 * util/grub.d/20_linux_xen.in: Likewise.
20625
20626 * po/grub.d.sed: New file.
20627 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20628 arguments. Set c-format flags on all strings extracted from
20629 util/grub.d/ (xgettext refuses to include these itself for strings
20630 it extracted from a shell file, but these really are c-format).
20631
5318fe98
VS
206322010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20633
20634 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20635 Avoid next pointing to nowhere.
20636
6c85b743
VS
206372010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20640 rather than assuming than rootblock is exactly in the middle.
20641 (grub_affs_label): Likewise.
20642
a2a08a35
VS
206432010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20646 reserved_first_sector to 0.
20647 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20648 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20649 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20650
7059d1ec
VS
206512010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 Fix handling of UTF-16 UDF labels.
20654
20655 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20656 (read_string): .. here.
20657 (grub_udf_label): Use read_string.
20658
30aff4cb
BC
206592010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20660
20661 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20662 editor under argument scope.
20663 Reported by: Jordan Uggla
20664
5cf86f4b
VS
206652010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20668
32570200
CW
206692010-12-18 Colin Watson <cjwatson@ubuntu.com>
20670
20671 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20672 line, and other keys scroll an entire page (previous handling was
20673 for \r and \n to scroll a page and other keys to scroll two lines).
20674
e1dffcf2
VS
206752010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20678 Set ptrdest to correct get_physical_target_address rather than
20679 incorrect get_virtual_current_address.
20680
b04298cf 206812010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20682
20683 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20684 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20685
5367ecd3
CW
206862010-12-10 Colin Watson <cjwatson@ubuntu.com>
20687
20688 * .bzrignore: Ignore grub-core/rs_decoder.S.
20689
1fb430f8
CW
206902010-12-10 Colin Watson <cjwatson@ubuntu.com>
20691
20692 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20693 .mo/.mo.gz opening sequence to ...
20694 (grub_mofile_open_lang): ... here.
20695 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20696 * util/grub.d/00_header.in (grub_lang): Include country part of
20697 locale.
20698 Reported by: Mario Limonciello.
20699
a94a6671
RM
207002010-12-09 Robert Millan <rmh@gnu.org>
20701
20702 * NEWS: Document addition of ZFS support.
20703
24b7938b
CW
207042010-12-04 Colin Watson <cjwatson@ubuntu.com>
20705
20706 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20707 rather than `/ 2', as the latter requires -Wa,--divide which would
20708 require bumping our minimum binutils version.
20709
bddc3ef6
BC
207102010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20711
20712 * util/grub-script-check.c (main): Print script line number on
20713 error.
20714
bf78d5b2
RM
207152010-12-01 Robert Millan <rmh@gnu.org>
20716
20717 * grub-core/fs/zfs/zfs.c: New file.
20718 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20719 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20720 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20721 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20722
20723 * include/grub/zfs/dmu.h: Likewise.
20724 * include/grub/zfs/dmu_objset.h: Likewise.
20725 * include/grub/zfs/dnode.h: Likewise.
20726 * include/grub/zfs/dsl_dataset.h: Likewise.
20727 * include/grub/zfs/dsl_dir.h: Likewise.
20728 * include/grub/zfs/sa_impl.h: Likewise.
20729 * include/grub/zfs/spa.h: Likewise.
20730 * include/grub/zfs/uberblock_impl.h: Likewise.
20731 * include/grub/zfs/vdev_impl.h: Likewise.
20732 * include/grub/zfs/zap_impl.h: Likewise.
20733 * include/grub/zfs/zap_leaf.h: Likewise.
20734 * include/grub/zfs/zfs.h: Likewise.
20735 * include/grub/zfs/zfs_acl.h: Likewise.
20736 * include/grub/zfs/zfs_znode.h: Likewise.
20737 * include/grub/zfs/zil.h: Likewise.
20738 * include/grub/zfs/zio.h: Likewise.
20739 * include/grub/zfs/zio_checksum.h: Likewise.
20740
20741 * Makefile.util.def: Build ZFS into libgrubmods.
20742 * grub-core/Makefile.core.def: Build zfs.mod.
20743
3f0f3831
SJ
207442010-11-30 Szymon Janc <szymon@janc.net.pl>
20745
20746 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20747 variable.
20748 * grub-core/commands/wildcard.c (match_files): Likewise.
20749
3a4253b2
RM
207502010-11-30 Robert Millan <rmh@gnu.org>
20751
20752 * grub-core/loader/i386/bsd.c
20753 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20754 whether kernel is loaded using grub_loader_is_loaded(), rather
20755 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20756 certain error conditions.
20757
8c317b27
RM
207582010-11-30 Robert Millan <rmh@gnu.org>
20759
c5c9cd3e
RM
20760 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20761 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20762
49d3ab46
VS
207632010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 Avoid using tricks for initialising endian variables.
20766
20767 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20768 Make const.
20769 (GRUB_MOD_INIT): Don't byte-swap.
20770 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20771 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20772 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20773 (grub_swap_bytes32_compile_time): Likewise.
20774 (grub_cpu_to_le32_compile_time): Likewise.
20775 (grub_cpu_to_le16_compile_time): Likewise.
20776
f420a804
VS
207772010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * util/grub-setup.c (setup): Stop recommending --force. People who
20780 understand the dangers of blocklists are able to find this option
20781 anyway and the ones who don't shouldn't use it anyway.
20782
4e7db17b
RM
207832010-11-26 Robert Millan <rmh@gnu.org>
20784
20785 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20786 Update all users.
20787
9be57a0d
CW
207882010-11-26 Colin Watson <cjwatson@ubuntu.com>
20789
20790 Fix LVM-on-RAID probing.
20791
20792 * util/grub-probe.c (probe): Remember which disk was detected as
20793 RAID (perhaps an LVM physical volume). Use that disk's raidname
20794 rather than that of the top-level disk.
20795
2c7859b3 207962010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20797
d7647bb6
BC
20798 Fix cmdline argument quotes for setparams command of menuentry
20799 definitions.
7e623b0d
BC
20800
20801 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20802 quotes for arguments.
f866fe80 20803 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20804 grub_strchrsub function instead.
f866fe80 20805
7955bea0 20806 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20807
74f72a64
CW
208082010-11-24 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20811 effort by skipping "." and ".." entries up-front.
20812 Suggested by: Michael Lazarev.
20813
5a407278
CW
208142010-11-24 Colin Watson <cjwatson@ubuntu.com>
20815
20816 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20817 ldflags to ldadd, to fix link line ordering.
20818 (none_decompress): Likewise.
20819
3030d8ec
CW
208202010-11-24 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20823 platforms.
20824 (grub-emu-lite): Remove kern/emu/cache.S.
20825
b7fbac12
CW
208262010-11-23 Colin Watson <cjwatson@ubuntu.com>
20827
20828 * util/deviceiter.c (compare_devices): If the by-id link for a
20829 device couldn't be resolved, fall back to sorting by the by-id link
20830 rather than segfaulting.
20831 Reported and tested by: Daniel Mierswa.
20832
5225f328
CW
208332010-11-23 Colin Watson <cjwatson@ubuntu.com>
20834
20835 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20836 ldflags, to fix link line ordering.
20837
038b3ce8
CW
208382010-11-23 Colin Watson <cjwatson@ubuntu.com>
20839
20840 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20841 linkers are picky about this.
20842
bf16e98e
CW
208432010-11-23 Colin Watson <cjwatson@ubuntu.com>
20844
20845 * grub-core/Makefile.am (command.lst): Adjust sed expression
20846 ordering so that extended and priority commands aren't treated as
20847 ordinary commands.
20848
7242bab6
CW
208492010-11-23 Colin Watson <cjwatson@ubuntu.com>
20850
20851 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20852 Remove byte-swapping function calls, which are not valid in
20853 structure initialisers.
20854 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20855 non-const.
20856 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20857 grub_gpt_partition_type_bios_boot.
20858
14e8b279
CW
208592010-11-22 Colin Watson <cjwatson@ubuntu.com>
20860
20861 Fix test program build on GNU/kFreeBSD.
20862
20863 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20864 $(LIBNVPAIR)' library dependencies.
20865
e6f63338 208662010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20867
20868 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20869
cf8ffc38
CW
208702010-11-22 Colin Watson <cjwatson@ubuntu.com>
20871
20872 * util/grub-install.in: Remove excessive quoting that broke
20873 installations to RAID devices.
20874
7f8b0fd7
VS
208752010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20878 bootloader version instead of 0.
20879
dfd240b1
VS
208802010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20883 warning.
20884
7b61e609
VS
208852010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20888 retrieve the metadat sector if size isn't known.
20889 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20890
9dfe92d0
RM
208912010-11-18 Robert Millan <rmh@gnu.org>
20892
20893 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20894 with grub_memcmp().
20895
41cc919e
VS
208962010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20899 arrow.
20900 Reported by: Jordan Uggla.
20901
1afcc914
VS
209022010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20903
20904 Make better UTF compliant.
20905
20906 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20907 sequences as incorrect.
20908 (grub_is_valid_utf8): Likewise.
20909 (grub_utf8_to_ucs4): Likewise.
20910 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20911 (grub_ucs4_to_utf8_alloc): Likewise.
20912 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20913
f1808884
VS
209142010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 Make legacy_source behave like source.
20917
20918 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20919 grub_show_menu.
20920 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20921
24ec575b
CW
209222010-11-16 Colin Watson <cjwatson@debian.org>
20923
20924 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20925 (-Wunused implies -Wunused-parameter, but not vice versa).
20926
72b7c7aa
CW
209272010-11-16 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * configure.ac: Make error messages less confusing by testing for
20930 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20931 accepted, but produces a diagnostic if something else is wrong).
20932
e98937aa
VS
209332010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20936 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20937 (now unused).
20938 (grub_keyboard_controller_init)
20939 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20940 read the initial state since controller isn't inited yet.
20941
f6bbabc3
VS
209422010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20945 allocate_regbeg may need to create new chunk header.
20946
22e7dbb2
VS
209472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 Fix quoting in legacy parser.
20950
20951 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20952 single quotes.
20953 (grub_legacy_parse): Likewise.
20954 Reported by: Jordan Uggla.
20955 Tested by: Jordan Uggla.
20956
03f80960
VS
209572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 Don't add -lgcc on i386 and x86_64.
20960
20961 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20962 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20963 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20964
779dc15b
VS
209652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 * configure.ac: Add -Wno-trampolines when supported.
20968
d20a3b37
MV
209692010-11-14 Modestas Vainius <modax@debian.org>
20970
20971 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20972 fakeraid.
20973
e5360933
GC
209742010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20975
20976 Add generic logical block size support for UDF.
20977
20978 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20979 (GRUB_UDF_BLKSZ): Removed.
20980 (struct grub_udf_data): New field "lbshift" to hold the logical block
20981 size of the file system in log2 format. All users updated.
20982 (sblocklist): Change type to unsigned.
20983 (grub_udf_mount): Change type of "sblklist" to unsigned.
20984 Move AVDP search before VRS recognition, because the latter requires
20985 knowledge of the logical block size, which is detected during the
20986 former.
20987 Detect and validate logical block size during AVDP search, adding
20988 support for block sizes 512, 1024 and 4096.
20989 Make VRS recognition independent of block size.
20990
cb0229c5
GC
209912010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20992
20993 Properly handle deleted files on UDF.
20994
20995 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20996 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20997 set.
20998
406858a8
GC
209992010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21000
21001 Support reading files larger than 2 GiB.
21002
21003 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21004 "offset" to grub_off_t.
21005 (grub_udf_read_file): Likewise for parameter "pos".
21006
130da6a7
VS
210072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21010 unavailable.
21011 (Simple configuration): Refer to Changes from GRUB Legacy about
21012 save_env availability.
21013
65e93f6b
VS
210142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * util/grub-install.in: Ignore empty partition table detection
21017 instead of trying to include part_ module.
21018
1fd08bf1
VS
210192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21022 LVM on RAID support.
21023
de1a024f
VS
210242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 Properly define WORDS_BIGENDIAN in wrapped environments.
21027
21028 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21029 definition.
21030 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21031
21032 Reported by: Manoel Rebelo Abranches.
21033 Tested by: Manoel Rebelo Abranches.
21034
bc5dd0b9
VS
210352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21036
21037 * util/grub-mkconfig.in: Fix quoting.
21038
58c184be
VS
210392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 Support big ext2 files.
21042
21043 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21044 (grub_ext2_read_block): Support triple indirect blocks.
21045 (grub_ext2_read_file): Use 64-bit types and read size_high.
21046 (grub_ext2_open): Read size_high.
21047 Reported by: Ximin Luo.
21048 Tested by: Manoel Rebelo Abranches.
21049
5f0c02b3
VS
210502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * util/grub-install.in: Handle filenames containing spaces.
21053 Reported by: Jordan Uggla.
21054 Tested by: Jordan Uggla.
21055
4417aae6
VS
210562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * util/grub-mkconfig.in (grub_script_check): New variable.
21059 Use grub_script_check instead of grub-script-check.
21060 Reported by: Barry Jackson.
21061
7625a68e
VS
210622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 * docs/grub.texi (menu): Correct the order.
21065 Reported by: D. Hugh Redelmeier.
21066
10001ac5
VS
210672010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21070 jump.
21071
9c4cf53b
MRA
210722010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21073
10001ac5
VS
21074 * include/grub/elfload.h (grub_elf32_size): New parameter.
21075 All users updated.
9c4cf53b
MRA
21076 Return maximum segments alignment.
21077 (grub_elf64_size): Likewise.
21078 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21079 Return maximum segments alignment.
21080 (grub_elf64_size): Likewise.
21081 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21082 (grub_linux_claimmap_iterate): New function. Uses the
21083 "available" property in the "memory" node for memory allocation
21084 for kernel in the PowerPC loader.
9c4cf53b
MRA
21085 (grub_linux_load32): Correctly find linux entry point offset.
21086 (grub_linux_load64): Likewise.
21087
d2bf06bf
RM
210882010-11-07 Robert Millan <rmh@gnu.org>
21089
21090 On mips-yeeloong, build with -march=loongson2f when this flag is
21091 available (GCC >= 4.4).
21092 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21093 `-march=mips3'.
21094 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21095 or otherwise add -march=mips3.
21096
898c99a2
BC
210972010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21098
87220a68
BC
21099 Suppress shell expansion on echo '*' and echo "*" like cases.
21100 Reported by: Jordan Uggla.
898c99a2
BC
21101
21102 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21103 string arguments before shell expansion.
21104 * tests/grub_cmd_echo.in: New testcases.
21105
4f9b406a
RM
211062010-11-07 Robert Millan <rmh@gnu.org>
21107
21108 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21109 transition.
21110
80c6d25e
VS
211112010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 * grub-core/kern/emu/hostdisk.c
21114 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21115
4a1a0153
VS
211162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21119 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21120 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21121
34706ddc
VS
211222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21125
6972dea9
VS
211262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * util/grub-install.in: Replace useless recomendation to pass
21129 --modules with a recomendation to report a bug.
21130
9c693bd6
VS
211312010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21132
21133 Properly register serial terminfo.
21134 Reported by: Jordan Uggla
21135
21136 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21137 const.
21138 (grub_serial_terminfo_output_template): Likewise.
21139 (grub_cmd_serial): Register "serial" with terminfo.
21140 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21141 grub_serial_terminfo_output.
21142
6c9e4c0c
RM
211432010-11-05 Robert Millan <rmh@gnu.org>
21144
21145 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21146 needed).
21147
b9b3839f
RM
211482010-11-05 Robert Millan <rmh@gnu.org>
21149
21150 On Yeeloong, pass machine type information to Linux.
21151
21152 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21153 (LOONGSON_MACHTYPE): New macro, set to
21154 "machtype=lemote-yeeloong-2f-8.9inches".
21155 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21156 additional argument to Linux.
21157
1a3aaff4
RM
211582010-11-04 Robert Millan <rmh@gnu.org>
21159
21160 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21161 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21162 (its SATA disks are detected as slaveless IDE master drives on
21163 kFreeBSD).
21164 Reported by Carsten Aulbert.
21165
a75f4f62
CW
211662010-11-02 Colin Watson <cjwatson@ubuntu.com>
21167
21168 * util/bin2h.c (main): Fix spelling error in generated output.
21169
33b4b0c6
GS
211702010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21171
21172 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21173
2b36fbf4
VS
211742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21177 vga= option is supplied.
21178
74aaf558
VS
211792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21182 * util/grub.d/10_kfreebsd.in: Likewise.
21183 * util/grub.d/10_linux.in: Likewise.
21184 * util/grub.d/20_linux_xen.in: Likewise.
21185
6428dec3
VS
211862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21189 argument as an argument to no-argument option.
21190
f8729d98
VS
211912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21192
21193 * util/grub.d/10_linux.in: Add missing load_video with explicit
21194 GRUB_GFXPAYLOAD_LINUX.
21195
89d68fa6
VS
211962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21199
3a1197cd
VS
212002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21201
21202 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21203 elements with invlid index.
21204 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21205 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21206 members.
21207 * include/grub/raid.h (grub_raid_member): New struct.
21208 (grub_raid_array): Transform devices and start_sector into usage of
21209 grub_raid_member. All users updated
21210 (allocated_devs): New member.
21211
71574288
VS
212122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21215 is modified
21216
8d40ec65
BC
212172010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21218
21219 NetBSD build fix for getline function conflict from gnulib.
21220
21221 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21222 components that depend on gnulib headers.
21223 (libgrubmods.a): Renamed from earlier libgrub.a.
21224 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21225
95b9257e
VS
212262010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21229 install rather than creating a broken install.
21230
26c53dc6
VS
212312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * util/grub-setup.c (argp): Remove misleading example of installing to
21234 a partition.
21235
4171b3c5
VS
212362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * util/grub-setup.c (setup): Clarify the error message.
21239
18568d18
VS
212402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21243
4f6a2e21
VS
212442010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * grub-core/kern/emu/misc.c
21247 (grub_make_system_path_relative_to_its_root)
21248 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21249
212502010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21251
21252 * grub-core/kern/emu/misc.c
21253 (grub_make_system_path_relative_to_its_root): Revert r2882.
21254
e138c458
VS
212552010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21258 useless field head. All users updated.
21259 (free_subchunk): Correct handling of IN_REGION subchunk.
21260
0cbcdf0e
CW
212612010-10-22 Colin Watson <cjwatson@ubuntu.com>
21262
21263 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21264 (Supported kernels): Likewise.
21265
b65ea155
GS
212662010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21267
21268 Make mktemp invocations portable.
21269
21270 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21271 exit if mktemp fails.
21272 * tests/grub_script_blockarg.in: Likewise.
21273 * tests/partmap_test.in: Likewise.
21274 * tests/util/grub-shell-tester.in: Likewise.
21275 * tests/util/grub-shell.in: Likewise.
21276 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21277 * Makefile.am: Likewise, and chain shell commands with `&&'
21278 instead of ';'.
21279 * util/grub-mkrescue.in: Use the same explicit template as above, and
21280 exit if mktemp fails.
21281
05f43cdd
BC
212822010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21283
21284 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21285 Linux kernel, reported by Dennis Schridde.
21286
800e6a9b
SJ
212872010-10-17 Szymon Janc <szymon@janc.net.pl>
21288
21289 * grub-core/normal/auth.c (grub_auth_check_authentication):
21290 Set-but-not-used variable removed.
21291
d82df574
VS
212922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21293
21294 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21295 32-bit linux protocol.
21296
7bced458
VS
212972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21300 cursor shape for sanity.
21301
5b027690
VS
213022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 * docs/grub.texi (Installation): Document buggy BIOS install.
21305
ba5f65cf
VS
213062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * docs/grub.texi (Installation): Indent.
21309
fdf2ec9c
VS
213102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 * util/grub-setup.c (setup): New parameter allow_floppy.
21313 (arguments): New member allow_floppy.
21314 (argp_parser): Handle --allow-floppy.
21315 (main): Pass allow_floppy.
21316 * util/grub-install.in: New option --allow-floppy passed though to
21317 grub-setup.
21318
861dfd4c
VS
213192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 * util/grub-install.in: Handle partitionless disks.
21322
f77a8c24
VS
213232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * util/grub-setup.c (setup): Don't clean blocklists before readability
21326 verfification.
21327
27d9ee32
VS
213282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 * docs/grub.texi (Installation): Document embedding zone. Remove
21331 obsolete grub-install example.
21332
6bdda8f8
SJ
213332010-10-16 Szymon Janc <szymon@janc.net.pl>
21334
21335 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21336 Set-but-not-used variable ifdef'ed.
21337 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21338 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21339 variable removed.
21340 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21341 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21342 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21343 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21344 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21345 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21346 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21347 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21348 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21349 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21350 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21351 Likewise.
21352
e19b016b
VS
213532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21356 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21357 enum value.
21358
6c8d3002
VS
213592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21362 synonym to _S5_. Needed for some DSDTs.
21363
c32b51c9
VS
213642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 Userspace ACPI parser debugging.
21367
21368 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21369 headers and add relevant defines. Don't include standard headers.
21370 (main) [GRUB_DSDT_TEST]: New function.
21371 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21372 Don't declare functions.
21373
fbfbeb39
VS
213742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 Remove dead grub_efi_mm_fini.
21377
21378 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21379 (ALLOCATED_PAGES_SIZE): Likewise.
21380 (MAX_ALLOCATED_PAGES): Likewise.
21381 (allocated_pages): Likewise.
21382 (grub_efi_allocate_pages): Don't record allocated pages.
21383 (grub_efi_free_pages): Likewise.
21384 (grub_efi_mm_init): Likewise.
21385 (grub_efi_mm_fini): Removed.
21386
65f7ed7c
VS
213872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21390 (grub_efi_mm_init): Take into account the memory map size increase.
21391
24977b44
VS
213922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21393
21394 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21395 (serial_hw_put): Wait based on real time rather than port reads. Don't
21396 roken ports.
21397 * include/grub/serial.h (grub_serial_port): New field broken.
21398
1eb01cd2
RM
213992010-10-16 Robert Millan <rmh@gnu.org>
21400
21401 * grub-core/kern/emu/misc.c
21402 (grub_make_system_path_relative_to_its_root): Fix premature return
21403 when processing non-root ZFS filesystems.
5f8b440b 21404 Reported by Sergio Talens-Oliag.
1eb01cd2 21405
2d5fed60
RM
214062010-10-15 Robert Millan <rmh@gnu.org>
21407
21408 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21409 guarantee compressed ones are processed first.
21410
d0f4c1ea
VS
214112010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21414 grub_efiemu_autocore.
21415
d87c681f
VS
214162010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21419 rather than 0x1b.
21420 (grub_console_getkey): Use correct jae opcode rather than ja.
21421
219b3564
RM
214222010-10-12 Robert Millan <rmh@gnu.org>
21423
21424 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21425 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21426 variable. All references updated.
21427
21428 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21429
20c6bb7e
VS
214302010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 Correctly distinguish mdraid flavours.
21433
21434 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21435 (insert_array): New argument raid.
21436 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21437 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21438 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21439
74baff84
VS
214402010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21443 handling of special keys.
21444
3ef068df 214452010-10-02 Aleš Nesrsta <starous@volny.cz>
21446
c7980ad9
VS
21447 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21448 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21449
a9455194 214502010-10-02 Aleš Nesrsta <starous@volny.cz>
21451
c7980ad9
VS
21452 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21453 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21454 users updated.
a9455194 21455 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21456 Use right endpoint when querying descriptor.
a9455194 21457
441cfe65
VS
214582010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 Clear out 0x80 color bit on EFI.
21461 Tested by: decoder
21462 Reported by: decoder and meta tech.
21463
21464 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21465 (grub_console_setcolorstate): Clear out 0x80 bit.
21466 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21467 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21468 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21469
bf26bcc4
VS
214702010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21473 Set to "auto".
21474
6e3c515d
VS
214752010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21478 mo_file after freeing.
21479
e6d983ba
VS
214802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21483
74ccb5b5
VS
214842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21487 flags.
21488
17821956
VS
214892010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21492 usage.
21493
ee74fa48
VS
214942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21497
21498 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21499 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21500 and terminfo.h when needed.
21501 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21502 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21503 (terminfo): Enable only on terminfokernel.
21504 (extcmd): Likewise.
21505 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21506 * include/grub/lib/arg.h: Likewise.
21507 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21508 incorrect usage of ->.
21509
aa438e68
VS
215102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21513 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21514
57994012
VS
215152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 Fix coreboot compilation.
21518
21519 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21520 Take VBE info into account even if only text is supported.
21521 (fill_vbe_info): Take into account the case when only VGA text
21522 is supported.
21523 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21524 on coreboot, multiboot and qemu.
21525
2a406611
VS
215262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21529 debug messages.
21530 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21531
d33613fc
VS
215322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21533
21534 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21535 parameters.
21536
44a1b432
VS
215372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21540 if they were BSD-style.
21541
edde54e6
VS
215422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 * grub-core/boot/i386/pc/lnxboot.S: Replace
21545 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21546 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21547
b65830fa
VS
215482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 Write embedding zone using Reed-Solomon.
21551
21552 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21553 * grub-core/Makefile.am (rs_decoder.S): New target.
21554 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21555 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21556 (multiboot): Move to RS part.
21557 (post_reed_solomon): New label.
21558 (grub_boot_drive): Move to non-RS part since it's modified in memory
21559 on boot.
21560 Include rs_decoder.S.
21561 * grub-core/lib/reed_solomon.c: New file.
21562 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21563 New definition.
21564 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21565 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21566 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21567 * include/grub/partition.h (grub_partition_map): Change prototype of
21568 embed to allow returning additional sectors.
21569 * include/grub/reed_solomon.h: New file.
21570 * util/grub-setup.c (setup): Handle Reed-Solomon.
21571
0b4b227f
CW
215722010-09-28 Colin Watson <cjwatson@ubuntu.com>
21573
21574 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21575 i386 and x86-64 definedness tests.
21576
f772623b
YB
215772010-09-27 Yves Blusseau <blusseau@zetam.org>
21578
21579 Fix generation of kernel_syms.lst
21580
21581 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21582 ASM_PREFIX
21583
8e57a6ca
RM
215842010-09-26 Robert Millan <rmh@gnu.org>
21585
21586 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21587
21588 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21589 the pool is an array of devices, iterate through it and return the
21590 first device that passes a stat() test (instead of blindly returning
21591 the first one).
21592
f9130836
RM
215932010-09-26 Robert Millan <rmh@gnu.org>
21594
21595 Build fixes for GNU/kFreeBSD.
21596
21597 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21598 to programs that require ZFS conversion.
21599 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21600 kernels that don't have FLOPPY_MAJOR.
21601
96510faf
BC
216022010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21603
21604 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21605
449333eb
BC
216062010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21607
21608 Fix grub-emu build.
21609
21610 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21611 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21612 mdraid09 and mdraid1x.
21613
e1fd1939
CW
216142010-09-24 Colin Watson <cjwatson@ubuntu.com>
21615
21616 Re-enable grub-extras.
21617
21618 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21619 avoid confusing Automake. Run autogen only twice, once for the top
21620 level and once for grub-core. Add Makefile.util.def and
21621 Makefile.core.def from extra modules to the appropriate autogen
21622 invocations. If Makefile.common exists in an extra module, include
21623 it in both Makefile.util.am and grub-core/Makefile.core.am;
21624 similarly, include any Makefile.util.common file in Makefile.util.am
21625 and any Makefile.core.common file in grub-core/Makefile.core.am.
21626 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21627 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21628 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21629 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21630
21631 * gentpl.py (gvar_add): Turn GVARS into a set.
21632 (global_variable_initializers): Sort global variables on output.
21633 (vars_init): New function.
21634 (first_time): Likewise.
21635 (library): Ensure that non-global variable initialisations are
21636 emitted before the first time we emit code for a library block.
21637 Append to variables rather than setting them. Only emit
21638 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21639 each conditional path.
21640 (program): installdir() emits an Autogen macro, so must be passed to
21641 var_add rather than gvar_add.
21642 (data): Likewise.
21643 (script): Likewise.
21644 (rules): New function, centralising handling for different target
21645 types. Set up Guile association lists for first_time and vars_init,
21646 and send most output to a diversion so that variable initialisations
21647 can be emitted first.
21648 (module_rules): Use new rules function.
21649 (kernel_rules): Likewise.
21650 (image_rules): Likewise.
21651 (library_rules): Likewise.
21652 (program_rules): Likewise.
21653 (script_rules): Likewise.
21654 (data_rules): Likewise.
21655
21656 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21657
21658 * .bzrignore: Add contrib and grub-core/contrib. Remove
21659 grub-core/Makefile.gcry.am.
21660
1d12cf29
YB
216612010-09-24 Yves Blusseau <blusseau@zetam.org>
21662
21663 * grub-core/lib/LzFind.c: Add missing include.
21664 * grub-core/lib/LzmaEnc.c: Likewise.
21665 * grub-core/script/lexer.c: Likewise.
21666 * grub-core/script/yylex.l: Likewise.
21667 * util/grub-macho2img.c: Likewise.
21668 * util/grub-menulst2cfg.c: Likewise.
21669 * util/grub-mklayout.c: Likewise.
21670 * util/grub-mkpasswd-pbkdf2.c
21671 * util/grub-mkrelpath.c: Likewise.
21672 * util/resolve.c: Likewise.
21673
dd363028
BC
216742010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21675
21676 * Makefile.util.def (example_unit_test): Add
21677 grub-core/gnulib/libgnu.a.
21678
f5a109e2
GS
216792010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21680
21681 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21682
6d0fa83c
VS
216832010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21684
21685 Support xz compression on yeeloong.
21686
21687 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21688 * configure.ac: Check for LZMA.
21689 * grub-core/Makefile.core.def (xz_decompress): New target.
21690 (none_decompress): Likewise.
21691 * grub-core/boot/decompressor/minilib.c: New file.
21692 * grub-core/boot/decompressor/none.c: Likewise.
21693 * grub-core/boot/decompressor/xz.c: Likewise.
21694 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21695 * grub-core/kern/mips/cache_flush.S: Likewise.
21696 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21697 * grub-core/kern/mips/startup.S: Move first stage to ...
21698 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21699 nomacro.
21700 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21701 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21702 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21703 Allocate statically.
21704 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21705 Allocate statically or use scratch. Don't check CRC32.
21706 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21707 Allocate statically. Don't check CRC32.
21708 * include/grub/decompressor.h: New file.
21709 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21710 Removed.
21711 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21712 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21713 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21714 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21715 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21716 * util/grub-mkimage.c (grub_compression_t): New type.
21717 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21718 (image_target_desc): New field default_compression.
21719 (image_targets): Adjust yeeloong targets.
21720 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21721 (compress_kernel): New parameter comp.
21722 (generate_image): Likewise. Handle new compression case.
21723 (options): New option --compression
21724 (help): Likewise.
21725 (main): Handle new option.
21726
1b655af6
GS
217272010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21728
21729 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21730
8f03f0b5
CW
217312010-09-22 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21734 typo in __i386__ conditional.
21735
7835dfd3
VS
217362010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21739 include.
21740
e255597e
VS
217412010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21742
6d0fa83c 21743 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21744
21745 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21746 new tags as supported.
21747 (acpiv2_size): New function.
21748 (grub_multiboot_get_mbi_size): Take new tags into account.
21749 (grub_multiboot_make_mbi): Add new tags.
21750 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21751
6cc14051 217522010-09-21 Aleš Nesrsta <starous@volny.cz>
21753
21754 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21755 Added missing configuration of USB device.
21756
df7769d8
CW
217572010-09-21 Colin Watson <cjwatson@ubuntu.com>
21758
21759 * grub-core/normal/menu_entry.c (run): Make sure we always return
21760 a value.
21761
b031012d
CW
217622010-09-21 Colin Watson <cjwatson@ubuntu.com>
21763
21764 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21765 NumberOfPages is UINT64 according to the UEFI specification, not
21766 UINTN. Fix printf format.
21767
174de8f3
CW
217682010-09-21 Colin Watson <cjwatson@ubuntu.com>
21769
21770 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21771 `err' to grub_usb_err_t.
21772 Reported and tested by: KESHAV P.R.
21773
d7dbe923
CW
217742010-09-21 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21777 tpart non-const, so that we can assign to it. (Since this is a
21778 typedef, the constness refers to the pointer rather than what it
21779 points to.)
21780
8d5e2af3
CW
217812010-09-21 Colin Watson <cjwatson@ubuntu.com>
21782
21783 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21784 $(top_srcdir)/grub-core/gnulib as well as
21785 $(top_builddir)/grub-core/gnulib.
21786 Reported by: KESHAV P.R.
21787
5c527783
CW
217882010-09-21 Colin Watson <cjwatson@ubuntu.com>
21789
21790 * util/grub-install.in: Fix the bootloader ID option to be
21791 consistently --bootloader-id, not --bootloader_id.
21792 Reported by: KESHAV P.R.
21793
d309a16e
CW
217942010-09-21 Colin Watson <cjwatson@ubuntu.com>
21795
21796 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21797 check hash checksum." consistently translatable.
21798
b830cd16
YB
217992010-09-21 Yves Blusseau <blusseau@zetam.org>
21800
21801 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21802 $(top_builddir).
21803
c4fe27a8
CW
218042010-09-21 Colin Watson <cjwatson@ubuntu.com>
21805
21806 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21807 (GRUB_MOD_INIT): Register sha1sum command.
21808 (GRUB_MOD_FINI): Unregister sha1sum command.
21809
a4c1d277
YB
218102010-09-21 Yves Blusseau <blusseau@zetam.org>
21811
21812 Keep boot and grub directory names in sync with utils scripts
21813
21814 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21815 * config.h.in: Add previous macros.
21816 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21817 * util/grub-install.in: Use $bootdir and $grubdir variables.
21818
4eff79d2
CW
218192010-09-21 Colin Watson <cjwatson@ubuntu.com>
21820
21821 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21822 convert partition names to disk names if the new `convert' parameter
21823 is set.
21824 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21825 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21826 disk in its own right. This can happen with Xen disk images.
21827
934d7e44
YB
218282010-09-21 Yves Blusseau <blusseau@zetam.org>
21829
21830 * util/grub-editenv.c: Update strings to avoid warnings when generating
21831 grub.pot file.
21832 * util/grub-setup.c: Likewise.
934d7e44 21833
df3367cc
VS
218342010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * configure.ac: Change version to 1.99~beta0.
21837
77a94e98
VS
218382010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21841 Add BADRAM.
21842 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21843 Likewise.
21844 * include/multiboot.h: Resynced with specification.
21845 * include/multiboot2.h: Likewise.
21846
269004c1
CW
218472010-09-21 Colin Watson <cjwatson@ubuntu.com>
21848
21849 Fix po directory handling.
21850
21851 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21852 * grub-core/gnulib/Makefile.am: Import gettext module.
21853 * m4/gnulib-cache.m4: Likewise.
21854 * m4/gnulib-comp.m4: Likewise.
21855 * m4/gettext.m4: New file, from gnulib.
21856 * m4/glibc2.m4: Likewise.
21857 * m4/iconv.m4: Likewise.
21858 * m4/intdiv0.m4: Likewise.
21859 * m4/intl.m4: Likewise.
21860 * m4/intldir.m4: Likewise.
21861 * m4/intlmacosx.m4: Likewise.
21862 * m4/intmax.m4: Likewise.
21863 * m4/inttypes-pri.m4: Likewise.
21864 * m4/lcmessage.m4: Likewise.
21865 * m4/lib-ld.m4: Likewise.
21866 * m4/lib-link.m4: Likewise.
21867 * m4/lib-prefix.m4: Likewise.
21868 * m4/lock.m4: Likewise.
21869 * m4/nls.m4: Likewise.
21870 * m4/po.m4: Likewise.
21871 * m4/printf-posix.m4: Likewise.
21872 * m4/progtest.m4: Likewise.
21873 * m4/threadlib.m4: Likewise.
21874 * m4/uintmax_t.m4: Likewise.
21875 * m4/visibility.m4: Likewise.
21876 * po/Makefile.am: Remove.
21877 * po/Makefile.in.in: New file, from gettext.
21878 ($(DOMAIN).pot-update): Support POTFILES-shell.
21879 * po/Makevars: New file.
21880 * po/POTFILES-shell: Rename to ...
21881 * po/POTFILES-shell.in: ... this. Update.
21882 * po/POTFILES: Rename to ...
21883 * po/POTFILES.in: ... this. Update.
21884 * po/Rules-quot: New file, from gettext.
21885 * po/boldquot.sed: Likewise.
21886 * po/en@boldquot.header: Likewise.
21887 * po/en@quot.header: Likewise.
21888 * po/insert-header.sin: Likewise.
21889 * po/quot.sed: Likewise.
21890 * po/remove-potcdate.sin: Likewise.
21891
3e0fa5d0
VS
218922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21895
ade9bd66
VS
218962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * util/grub.d/20_linux_xen.in: Use submenus.
21899
fc55cc4c
VS
219002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 Support submenus.
21903
21904 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21905 parameter submenu. All users updated.
21906 * grub-core/normal/main.c (free_menu): Rename to ...
21907 (grub_normal_free_menu): ... this. Made global.
21908 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21909 if requested.
21910 * grub-core/normal/menu_entry.c (screen): New field submenu.
21911 (make_screen): Set submenu.
21912 (run): Open new context if requested.
21913 * include/grub/menu.h (grub_menu_entry): New field submenu.
21914 * include/grub/normal.h (grub_normal_free_menu): New proto.
21915
600cedf7
VS
219162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 Menu entries extractor.
21919
21920 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21921 variants.
21922 (GRUB_MOD_INIT): Register new variants.
21923 (GRUB_MOD_FINI): Unregister new variants.
21924 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21925 into grub_cmd_legacy_source.
21926 (grub_cmd_legacy_source): Implement extractor variants.
21927 (GRUB_MOD_INIT): Register new variants.
21928 (GRUB_MOD_FINI): Unregister new variants.
21929 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21930 as an extractor.
21931 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21932 search as an extractor.
21933 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21934 test as an extractor.
21935 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21936 as an extractor.
21937 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21938 (grub_env_new_context): New function.
21939 (grub_env_context_open): Likewise.
21940 (grub_env_extractor_open): Likewise.
21941 (grub_env_extractor_close): Likewise.
21942 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21943 grub_extractor_level.
21944 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21945 * include/grub/env.h (grub_env_extractor_open): New proto.
21946 (grub_env_extractor_close): Likewise.
21947 * include/grub/normal.h (grub_extractor_level): New external variable.
21948
7bda3a87
VS
219492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 Make cutmem accept a region specification.
21952 Suggested by: Samuel Thibault
21953
21954 * grub-core/mmap/mmap.c (parsemem): New function.
21955 (grub_cmd_cutmem): Handle new arguments.
21956
2ea57f88
VS
219572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 New command cutmem.
21960
21961 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21962 (GRUB_MOD_INIT): Register new command.
21963 (GRUB_MOD_FINI): Unregister new command.
21964
74342e31
VS
219652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 Support some annoying BSD and Minix subpartitions.
21968
21969 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21970 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21971 Properly handle concatenation.
21972 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21973 * grub-core/normal/completion.c (iterate_partition): Likewise.
21974 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21975 contain partition. All users updated.
21976 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21977 struct.
21978 (grub_openbsdlabel_partition_map): Likewise.
21979 (bsdlabel_partition_map_iterate): Rename to ..
21980 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21981 (bsdlabel_partition_map_iterate): New function.
21982 (netopenbsdlabel_partition_map_iterate): Likewise.
21983 (netbsdlabel_partition_map_iterate): Likewise.
21984 (openbsdlabel_partition_map_iterate): Likewise.
21985 (GRUB_MOD_INIT): Register new partmaps.
21986 (GRUB_MOD_FINI): Unregister new partmaps.
21987 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21988 (grub_partition_msdos_iterate): ... this. All users updated.
21989 Don't support embedding other than in a minix partition.
21990 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21991 proto.
21992 * include/grub/partition.h (grub_partition): New field msdostype.
21993 * util/grub-install.in: Handle openbsd and netbsd types being in
21994 part_bsd module.
21995
1e8d555b
VS
219962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21999
22000 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22001 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22002 (mdraid09): ... this.
22003 (mdraid1x): New module.
22004 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22005 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22006
899d8af4
VS
220072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22010 vsprintf.
22011
40901acd
CW
220122010-09-20 Colin Watson <cjwatson@ubuntu.com>
22013
22014 * grub-core/commands/efi/lsefimmap.c: Correct header.
22015 * NEWS: Update.
22016
dfe3b247
CW
220172010-09-20 Colin Watson <cjwatson@ubuntu.com>
22018
22019 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22020 as printf format strings; the translations might contain '%' which
22021 could cause a crash.
22022 (main): Likewise.
22023 * util/grub-fstest.c (argp_parser): Likewise.
22024 * util/grub-setup.c (argp_parser): Likewise.
22025 (main): Likewise.
22026
3286a4b4
VS
220272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22028
22029 Use argp in grub-fstest.
22030
22031 * util/grub-fstest.c: Don't include getopt.h.
22032 Include argp.h.
22033 (root): New variable.
22034 (args_count): Likewise.
22035 (nparm): Likewise.
22036 (num_disks): Likewise.
22037 (images): Likewise.
22038 (cmd): Likewise.
22039 (debug_str): Likewise.
22040 (args): Likewise.
22041 (options): Transformed to argp.
22042 (usage): Removed.
22043 (main): Split argument parsing into ...
22044 (argp_parser): ... this. Changed to argp format.
22045 (argp): New variable.
22046 (main): Use argp_parse.
22047
3dccbe4b
TG
220482010-09-20 Tristan Gingold <gingold@free.fr>
220492010-09-20 Robert Millan <rmh.grub@aybabtu.com>
220502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22051
22052 * grub-core/commands/efi/lsefimmap.c: New file.
22053 * grub-core/Makefile.core.def (lsefimmap): New module.
22054 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22055
38c259a7
VS
220562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 Pause the execution (10s max) if any errors are displayed so the user
22059 has a chance to see them.
22060
22061 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22062 (grub_print_error): Increment grub_err_printed_errors.
22063 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22064 execution if any errors were displayed.
22065 (show_menu): Remove old code for pause.
22066 * grub-core/normal/menu_entry.c (run): Likewise.
22067 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22068 users updated.
22069 (grub_normal_get_char_counter): Likewise.
22070 * include/grub/err.h (grub_err_printed_errors): New external variable.
22071 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22072
f218b09c
VS
220732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 Support multiboot VBE info.
22076
22077 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22078 Take VBE info into account.
22079 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22080 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22081 Call fill_vbe_info when appropriate.
22082 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22083 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22084 as supported.
22085 (grub_multiboot_get_mbi_size): Take new tags into account.
22086 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22087 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22088 Call fill_vbe_tag when appropriate.
22089 (grub_multiboot_make_mbi): Properly align tags.
22090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22091 function.
22092 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22093 proto.
22094 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22095
a9cc5438
VS
220962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 Suport manual terminal geometry specification.
22099
22100 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22101 Save state in grub_ofconsole_terminfo_output.
22102 (grub_ofconsole_term): Use grub_terminfo_getwh.
22103 (grub_ofconsole_getwh): Removed.
22104 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22105 (grub_serial_term): Use grub_terminfo_getwh.
22106 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22107 (options): New struct.
22108 (OPTION_*): New enum.
22109 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22110 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22111 width and height.
22112 (grub_terminfo_getwh): New proto.
22113 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22114
1a8fed20
VS
221152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 Handle legacy "terminal" command.
22118
22119 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22120 and FLAG_TERMINAL.
22121 (legacy_commands): Add terminal and title.
22122 (grub_legacy_parse): Handle terminal. Simplify title handling.
22123
41e9c57d
VS
221242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22125
22126 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22127 parameters overflow.
22128
61c874c5
CW
221292010-09-20 Colin Watson <cjwatson@ubuntu.com>
22130
22131 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22132 widthspec.h.
22133
22134 * docs/grub.texi (Shell-like scripting): Document `!'.
22135 (Network): Simplify using new i386-pc-pxe format. Mention
22136 grub-mknetdir.
22137
22138 * NEWS: Update.
22139
943682b4
CW
221402010-09-20 Colin Watson <cjwatson@ubuntu.com>
22141
22142 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22143 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22144 when needed.
22145
6d3d698d
CW
221462010-09-20 Colin Watson <cjwatson@ubuntu.com>
22147
22148 * grub-core/commands/efi/lsefisystab.c: Correct header.
22149 * grub-core/commands/efi/lssal.c: Likewise.
22150 * grub-core/commands/testload.c: Likewise.
22151
c982589f
CW
221522010-09-20 Colin Watson <cjwatson@ubuntu.com>
22153
22154 * util/grub-mkrescue.in: Add explicit root argument to --set to
22155 prevent the UUID being interpreted as an argument to --set (matches
22156 previous change to prepare_grub_to_access_device).
22157
a63c31b6
CW
221582010-09-20 Colin Watson <cjwatson@ubuntu.com>
22159
22160 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22161 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22162 the verbosity of later #ifs.
22163 (find_partition_start): Define this function on FreeBSD too.
22164 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22165 function.
22166 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22167 on FreeBSD.
22168
6439b8ee
YB
221692010-09-20 Yves Blusseau <blusseau@zetam.org>
22170
22171 * util/grub-editenv.c: Use argp instead of getopt.
22172
c5930ec8
YB
221732010-09-20 Yves Blusseau <blusseau@zetam.org>
22174
22175 * util/grub-setup.c: Use argp instead of getopt.
22176
15c69261
YB
221772010-09-20 Yves Blusseau <blusseau@zetam.org>
22178
22179 Use gnulib-tool to create gnulib source files.
22180
22181 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22182 grub-core/gnulib directories
22183 * .bzignore: Add **/.deps and autogenerated gnulib files
22184 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22185 of gnulib macros, add grub-core/gnulib/Makefile
22186 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22187 include m4 directory to aclocal.
22188 * Makefile.util.def: Remove direct compilation of gnulib source files
22189 and use the new grub-core/gnulib/libgnu.a.
22190 * build-aux/config.rpath: move config.rpath from top directory to
22191 build-aux
22192 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22193 in gnulib headers
22194 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22195 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22196 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22197 header.
22198 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22199 string.
22200
e511c9f5
YB
222012010-09-20 Yves Blusseau <blusseau@zetam.org>
22202
22203 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22204 grub-core/genmod.sh and grub-core/gensyminfo.sh
22205
c2dede05
BC
222062010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22207
22208 Add a test for echo command options.
22209
22210 * tests/grub_cmd_echo.in: New test.
22211 * Makefile.util.def: Rules for new test.
22212
c55f5018
SJ
222132010-09-20 Szymon Janc <szymon@janc.net.pl>
22214
22215 Remove crc.mod and move crc command to hashsum.mod.
22216 Remove lib/crc.c - users updated to use gcrypt implementation.
22217
22218 * grub-core/commands/crc.c: Removed.
22219 * grub-core/Makefile.core.def (crc): Module removed.
22220 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22221 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22222 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22223 * grub-core/lib/crc.c: Removed.
22224 * include/grub/lib/crc.h: Removed.
22225 * Makefile.util.def (crc): Remove lib/crc.c
22226 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22227 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22228 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22229 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22230 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22231 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22232
e0337366
VS
222332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22236
742f9232
VS
222372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 Split config.h for util and core.
22240
22241 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22242 (ADDR32): Likewise.
22243 (DATA32): Likewise.
22244 (BSS_START_SYMBOL): Likewise.
22245 (END_SYMBOL): Likewise.
22246 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22247 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22248 * config.h.in: New file.
22249 * configure.ac: Use config-util.h as config define file.
22250 Rename MACHINE into GRUB_MACHINE. All users updated.
22251 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22252 updated.
22253 (NESTED_FUNC_ATTR): Likewise.
22254 Substitue new variables.
22255 (COND_HAVE_ASM_USCORE): New conditional.
22256 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22257 (kernel_syms.lst): Use ASM_PREFIX.
22258 * grub-core/kern/emu/console.c: Include config-util.h.
22259 * grub-core/kern/emu/misc.c: Likewise.
22260 * grub-core/kern/emu/mm.c: Likewise.
22261 * include/grub/emu/misc.h: Likewise.
22262 * include/grub/libgcc.h: Likewise.
22263
39feb0e8
VS
222642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22265
22266 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22267 constants usage.
22268 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22269 Fix GRUB_TERM_KEY_* constants usage.
22270 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22271
9af6dac3
VS
222722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22275 print pointer.
22276 * grub-core/bus/usb/uhci.c: Remove empty define.
22277 (grub_uhci_check_transfer): Add missing cast.
22278 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22279 print pointer.
22280 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22281 PRIuGRUB_SIZE.
22282 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22283
d6d94820
VS
222842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * grub-core/Makefile.core.def (legacycfg): Add
22287 lib/i386/pc/vesa_modes_table.c on emu.
22288
3572f2b6
BC
222892010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22290
22291 Reduce number of temporary files generated by build system.
22292
22293 * grub-core/gencmdlist.sh: Removed.
22294 * grub-core/genfslist.sh: Removed.
22295 * grub-core/genhandlerlist.sh: Removed.
22296 * grub-core/genmodsrc.sh: Removed.
22297 * grub-core/genpartmaplist.sh: Removed.
22298 * grub-core/genparttoollist.sh: Removed.
22299 * grub-core/gentermiinallist.sh: Removed.
22300 * grub-core/genvideolist.sh: Removed.
22301
22302 * grub-core/genmod.sh.in: New file.
22303 * grub-core/gensyminfo.sh.in: New file.
22304
22305 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22306 * conf/Makefile.extra-dist: Update with new files.
22307 * gentpl.py: Remove rules related to unnecessary temporary files.
22308 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22309 and und-* files.
22310 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22311 genmod.sh scripts.
22312 * grub-core/bus/usb/uhci.c: Remove empty #define.
22313 * grub-core/genmoddep.awk: Updated with new syminfo format.
22314 * util/bash-completion.d/Makefile.am: Add config.log to
22315 CLEANFILES.
22316
c836b030
YB
223172010-09-19 Yves Blusseau <blusseau@zetam.org>
22318
22319 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22320
2f4e8053
BC
223212010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22322
22323 * util/grub-mkconfig.in: Check the config script for syntax errors
22324 before saving.
22325
75831c34
CW
223262010-09-19 Colin Watson <cjwatson@ubuntu.com>
223272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22330 platforms.
22331 * util/grub-install.in: Add EFI and IEEE1275 support.
22332 * util/i386/efi/grub-install.in: Removed.
22333 * util/ieee1275/grub-install.in: Likewise.
22334
eaf41b25
VS
223352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22336
22337 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22338 (grub_cmd_cmosclean): Likewise.
22339 (GRUB_MOD_INIT): Register command cmosclean.
22340 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22341 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22342
1a9130dd
CPE
223432010-09-18 Carles Pina i Estany <carles@pina.cat>
223442010-09-18 Aleš Nesrsta <starous@volny.cz>
223452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Add keyboard layouts support.
22348
22349 * Makefile.util.def (grub-mklayout): New file.
22350 (grub-kbdcomp): New script.
22351 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22352 Add keyboard_layouts.h.
22353 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22354 commands/boot.c on yeeloong.
22355 (keylayouts): New module.
22356 * grub-core/bus/usb/ohci.c
22357 * grub-core/bus/usb/uhci.c
22358 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22359 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22360 (attach_root_port): Likewise.
22361 (poll_nonroot_hub): Likewise.
22362 (grub_usb_poll_devices): Likewise.
22363 (detach_device): Close transfer.
22364 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22365 function.
22366 (grub_usb_bulk_setup_readwrite): Likewise.
22367 (grub_usb_bulk_finish_readwrite): Likewise.
22368 * grub-core/commands/keylayouts.c: New file.
22369 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22370 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22371 aliases.
22372 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22373 support scancode 2.
22374 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22375 * include/grub/keyboard_layouts.h: New file.
22376 * util/grub-mklayout.c: New file.
22377 * util/grub-kbdcomp.in: Likewise.
22378
a1d84a5e
VS
223792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 Unify memory types.
22382
22383 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22384 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22385 types.
22386 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22387 (grub_upper_mem): Likewise.
22388 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22389 * include/grub/memory.h (grub_memory_type_t): New enum.
22390 All users updated.
22391
9696382e
VS
223922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * grub-core/Makefile.core.def (lsapm): New module.
22395 * grub-core/commands/i386/pc/lsapm.c: New file.
22396 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22397 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22398 Likewise.
22399 * include/grub/i386/pc/apm.h: New file.
22400 * include/multiboot.h (multiboot_apm_info): New struct.
22401
224022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 GRUB-legacy configuration file support.
22405
22406 * Makefile.util.def (grub-menulst2cfg): New util.
22407 * docs/man/grub-menulst2cfg.h2m: New file.
22408 * grub-core/Makefile.core.def (legacycfg): New module.
22409 * grub-core/commands/legacycfg.c: New file.
22410 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22411 (grub_normal_add_menu_entry): ... this.
22412 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22413 (grub_normal_set_password): ...this.
22414 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22415 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22416 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22417 * grub-core/lib/legacy_parse.c: New file.
22418 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22419 * include/grub/i386/pc/vesa_modes_table.h: New file.
22420 * include/grub/legacy_parse.h: Likewise.
22421 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22422 * util/grub-menulst2cfg.c: New file.
22423
bf8d1338
CW
224242010-09-17 Colin Watson <cjwatson@ubuntu.com>
22425
22426 * grub-core/kern/emu/hostdisk.c
22427 (convert_system_partition_to_system_disk): Initialise node.
22428
9c0bad2e
CW
224292010-09-17 Colin Watson <cjwatson@ubuntu.com>
22430
22431 * grub-core/kern/emu/hostdisk.c
22432 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22433 leak.
22434 Reported and based on patch by: Modestas Vainius.
22435
a939d135
CW
224362010-09-17 Colin Watson <cjwatson@ubuntu.com>
22437
22438 Fix DM-RAID probing with recent versions of device-mapper udev
22439 rules.
22440
22441 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22442 canonicalise device paths under /dev/mapper/.
22443 (convert_system_partition_to_system_disk): Compare the
22444 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22445 path, since device nodes under /dev/mapper/ are often symlinks.
22446
0f7ee3c9
YB
224472010-09-17 Yves Blusseau <blusseau@zetam.org>
22448
22449 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22450
10854d0d
YB
224512010-09-16 Yves Blusseau <blusseau@zetam.org>
22452
22453 * configure.ac: Avoid some annoying error messages if freetype-config
22454 program is not found.
22455
108538d8
CW
224562010-09-16 Colin Watson <cjwatson@ubuntu.com>
22457
22458 Support RAID on virtio devices, and others.
22459
22460 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22461 Rename to ...
22462 [__MINGW32__] (grub_find_device): ... this.
22463 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22464 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22465 reasonable default if dir is NULL.
22466 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22467 ...
22468 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22469 (grub_guess_root_device): Update callers.
22470 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22471
22472 * util/raid.c (grub_util_getdiskname): Remove.
22473 (grub_util_raid_getmembers): Use grub_find_device rather than
22474 grub_util_getdiskname.
22475
e5bfc130
CW
224762010-09-16 Colin Watson <cjwatson@ubuntu.com>
22477
22478 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22479 needing to be compiled with serial support.
22480 (ls): Indicate that multiple files are accepted.
22481 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22482 indicate that multiple files are accepted.
22483
be458ae2
CW
224842010-09-16 Colin Watson <cjwatson@ubuntu.com>
22485
22486 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22487 libgrub_a_init.c, and util/bash-completion.d/grub.
22488
cb731b5e
VS
224892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * util/grub-setup.c (setup): Fix incorrect container semantics.
22492
35139e8a
VS
224932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22496 misusage.
22497 Reported by: J. Nick Terry
22498
e50fca4a
VS
224992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 Move embedding routines to partmap sources files.
22502
22503 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22504 [GRUB_UTIL]: New variable.
22505 (gpt_partition_map_iterate): Set part.parent.
22506 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22507 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22508 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22509 New function.
22510 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22511 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22512 (grub_partition_map) [GRUB_UTIL]: New field embed.
22513 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22514 (setup): Use ->embed.
22515
f00478b7
VS
225162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22517
22518 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22519 function.
22520 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22521 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22522
2b94e3ff
YB
225232010-09-15 Yves Blusseau <blusseau@zetam.org>
22524
22525 Add function to get completions from usage.
22526
22527 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22528 completions from usage. Use LC_ALL=C to get options properly.
22529
2e04a006
VS
225302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * grub-core/gnulib/basename-lgpl.c: Imported.
22533 * grub-core/gnulib/basename.c: Likewise.
22534 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22535 * grub-core/gnulib/dirname.c: Likewise.
22536 * grub-core/gnulib/dirname.h: Likewise.
22537 * grub-core/gnulib/stripslash.c: Likewise.
22538
5dcdf93a
VS
225392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 * grub-core/gnulib/error.c: Resynced.
22542 * grub-core/gnulib/getopt.c: Likewise.
22543 * grub-core/gnulib/getopt_int.h: Likewise.
22544 * grub-core/gnulib/regex.h: Likewise.
22545 * grub-core/gnulib/regex_internal.c: Likewise.
22546 * grub-core/gnulib/regex_internal.h: Likewise.
22547
014f47b7
SJ
225482010-09-15 Szymon Janc <szymon@janc.net.pl>
22549
22550 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22551 CRC calculations and validity checks.
22552 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22553 calculations.
22554
dd521a4a
SJ
225552010-09-15 Szymon Janc <szymon@janc.net.pl>
22556
22557 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22558
79c4eeb9
VS
225592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 Fix incorrect echo options handling.
22562 Reported by: Yves Blusseau.
22563
22564 * include/grub/command.h (grub_command_flags_t): New flags
22565 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22566 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22567 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22568
ed80f7d5
VS
225692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22572 users updated.
22573 (GRUB_COMMAND_FLAG_MENU): Likewise.
22574 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22575 (GRUB_COMMAND_FLAG_TITLE): Removed.
22576 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22577 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22578 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22579 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22580 (grub_command_flags_t): New enum. All users updated.
22581
5fe7620a
SG
225822010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22583
22584 Fix solaris compilation.
22585
22586 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22587 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22588 (grub-emu-list): Likewise.
22589
545b752f
VS
225902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 Remove deprecated root command.
22593
22594 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22595 updated.
22596
6c1a338c
VS
225972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22598
22599 * util/i386/pc/grub-setup.c: Merge this ...
22600 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22601 * util/grub-setup.c: ... into this.
22602 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22603 New struct.
22604
226052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22608 possible.
22609
d2ea4551
VS
226102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22613 allocate p.
22614
3c3b5040
VS
226152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22616
22617 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22618 explicit root argument to set to prevent UUID to be interpreted as
22619 argument to set.
22620
b71c3fae
VS
226212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22624
275433e6
VS
226252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22626
22627 Don't export grub_gate_a20.
22628
22629 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22630 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22631 to ...
22632 (grub_gate_a20): ... this. All users updated.
22633 * include/grub/i386/pc/init.h: Removed. All users updated.
22634
a5dbb1f1
VS
226352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 Create euro.pf2 which supports most European languages.
22638
22639 * Makefile.am (grubdata_DATA): Add euro.pf2.
22640 (euro.pf2): New target.
22641 (CLEANFILES): Add euro.pf2.
22642
62a747cb
VS
226432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * configure.ac: Disable emu-usb by default to prevent inadvertent
22646 device takeover.
22647
608e43b1
VS
226482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 Disable usbserial on grub-emu since our libusb code isn't good enough
22651 yet.
22652
22653 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22654 (usbserial_pl2303): Likewise.
22655 (usbserial_ftdi): Likewise.
22656
94564f81
VS
226572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 * include/grub/disk.h (grub_disk): Remove has_partitions.
22660 All users updated.
22661 * disk/loopback.c (grub_loopback): Remove has_partitions.
22662 All users updated.
22663 (options): Remove partitions. All users updated.
22664 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22665 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22666 actual partition table is found.
22667
3352800b
VS
226682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22669
22670 Remove readability checks (too many false negatives).
22671
22672 * util/grub-install.in: Remove readability checks.
22673 * util/grub-mkconfig.in: Likewise.
22674 * util/grub.d/10_hurd.in: Likewise.
22675 * util/grub.d/10_kfreebsd.in: Likewise.
22676 * util/grub.d/10_linux.in: Likewise.
22677 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22678 way.
22679
2419f17a
VS
226802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 Enable acpi shutdown on all ACPI platforms.
22683
22684 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22685 on coreboo, multiboot and EFI.
22686 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22687 (grub_acpi_halt): Likewise.
22688 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22689 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22690 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22691 * grub-core/lib/i386/halt.c (grub_halt)
22692 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22693
0575c7c3
VS
226942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22697 context.
22698
54ac3cd1
VS
226992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22700
22701 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22702 * grub-core/video/efi_uga.c: Likewise.
22703
b2a30ac5
VS
227042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 Filter devaliases and never open same device twice.
22707
22708 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22709 (last_ihandle): Likewise.
22710 (ofdisk_hash_ent): New member shortest.
22711 (ofdisk_hash_add): Add canonical path too.
22712 (scan): New function.
22713 (grub_ofdisk_iterate): Iterate over hashed entries.
22714 (compute_dev_path): Don't add :0.
22715 (grub_ofdisk_open): Don't really open the disk.
22716 (grub_ofdisk_close): Avoid closing unrelated disk.
22717 (grub_ofdisk_read): Implement reopen logic.
22718 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22719 New function.
22720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22721 New proto.
22722
fb53b340
VS
227232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 Fix sparc64.
22726
22727 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22728 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22729 right address. Add sparc64_ieee1275_ldflags.
22730 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22731 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22732 to grub_host_to_target_addr
22733 (load_image): Likewise.
22734
f452b040
VS
227352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * grub-core/normal/completion.c (complete_file): Handle device
22738 containing slash.
22739 Fix based on patch by Doug Nazar.
22740
9b5b2541
VS
227412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 grub-mknetdir script.
22744
22745 * Makefile.util.def (grub-mknetdir): New module.
22746 * tests/util/grub-shell.in: Support boot=net
22747 * util/grub-mknetdir.in: New file.
22748
9d2be652
VS
227492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 videoinfo on non-vbe.
22752
22753 * grub-core/Makefile.core.def (vbeinfo): Removed.
22754 (vbetest): Removed.
22755 (videoinfo): New module.
22756 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22757 * grub-core/commands/i386/pc/vbetest.c: Removed.
22758 * grub-core/commands/videoinfo.c: New file.
22759 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22760 specification.
22761 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22762 as vbetest.
22763 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22764 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22765 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22766 mode_number. New parameter mode. All users updated.
22767 (grub_video_gop_iterate): New function.
22768 (grub_video_efi_gop): New member iterate.
22769 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22770 (grub_vbe_set_video_mode): Remove setting useless fields.
22771 (vbe2videoinfo): New function.
22772 (grub_video_vbe_iterate): Likewise.
22773 (grub_video_vbe_setup): Use vbe2videoinfo.
22774 (grub_video_vbe_print_adapter_specific_info): New function.
22775 (grub_video_vbe_adapter): New fields iterate and
22776 print_adapter_specific_info.
22777 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22778 All users updated.
22779 (grub_video_mode_info): New field mode_number.
22780 (grub_video_adapter): New fields iterate and
22781 print_adapter_specific_info.
22782
179503f5
TG
227832010-09-13 Tristan Gingold <gingold@free.fr>
227842010-09-13 Robert Millan <rmh.grub@aybabtu.com>
227852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22786
22787 * grub-core/commands/efi/lsefisystab.c: New file.
22788 * grub-core/commands/efi/lssal.c: Likewise.
22789 * grub-core/Makefile.core.def (lsacpi): New module.
22790 (lsefisystab): Likewise.
22791 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22792 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22793 (grub_efi_sal_system_table): New struct.
22794 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22795 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22796 (grub_efi_sal_system_table_platform_features): Likewise.
22797 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22798 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22799 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22800 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22801
cf9827de
VS
228022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 Support explicit user claim that a device is BIOS-visible.
22805
22806 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22807 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22808 * grub-core/kern/emu/hostdisk.c
22809 (convert_system_partition_to_system_disk): Support mdX.
22810 (find_system_device): New parameter add. All users updated.
22811 (grub_util_biosdisk_is_present): New function.
22812 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22813 proto.
22814
53f0eb1f
VS
228152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 Search hints support.
22818
22819 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22820 All users updated.
22821
b23ffd70
YB
228222010-09-13 Yves Blusseau <blusseau@zetam.org>
22823
22824 Bash completion script for util commands
22825
22826 * Makefile.am: Add util/bash-completion.d directory
22827 * configure.ac: Likewise.
22828 * util/bash-completion.d/Makefile.am: New file.
22829 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22830
d547dc28
VS
228312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22832
22833 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22834 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22835 Reported by: Yves Blusseau.
22836
2fc8ccb9
VS
228372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22838
22839 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22840 partition size and offset.
22841
d8a84076
VS
228422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22843
22844 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22845
84fb3b3d
VS
228462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22847
22848 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22849
768ec2e2
VS
228502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22853 (grub_xvasprintf): Likewise.
22854
4870900f
VS
228552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22856
22857 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22858
faca6bec
VS
228592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22860
22861 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22862 args ending with NULL.
22863
228642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22865
22866 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22867 pointer.
22868
3c70f225
SJ
228692010-09-11 Szymon Janc <szymon@janc.net.pl>
22870
22871 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22872
4df7996d
VS
228732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22874
22875 Shutdown using ACPI.
22876
22877 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22878 * grub-core/commands/acpihalt.c: New file.
22879 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22880 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22881 (grub_acpi_halt): New proto.
22882 (GRUB_ACPI_SLP_EN): New const.
22883 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22884 (GRUB_ACPI_OPCODE_*): New enum.
22885 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22886
126b4c32
TG
228872010-09-11 Tristan Gingold <gingold@free.fr>
228882010-09-11 Robert Millan <rmh.grub@aybabtu.com>
228892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22890
22891 * commands/lsacpi.c: New file.
22892 * grub-core/Makefile.core.def (lsacpi): New module.
22893 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22894 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22895 (grub_acpi_madt_entry_header): New struct.
22896 (grub_acpi_madt): Likewise.
22897 (grub_acpi_madt_entry_interrupt_override): Likewise.
22898 (grub_acpi_madt_entry_sapic): Likewise.
22899 (grub_acpi_madt_entry_lsapic): Likewise.
22900 (grub_acpi_madt_entry_platform_int_source): Likewise.
22901 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22902 (PRIuGRUB_UINT32_T): Likewise.
22903 (PRIxGRUB_UINT64_T): Likewise.
22904
1aa4fe88
VS
229052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22906
22907 Implement loading palette on ieee1275_fb.
22908
22909 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22910 (have_setcolors): Likewise.
22911 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22912 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22913 (grub_video_ieee1275_set_palette): Implement.
22914
25761e13
VS
229152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
229162010-09-11 Colin Watson <cjwatson@ubuntu.com>
22917
22918 * util/grub-install.in (grub_partition): New variable.
22919 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22920 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22921 Fixes a bug reported by Yves Blusseau.
22922
050abaea
VS
229232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 Fix emu on mipsel.
22926
22927 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22928 =grub_cpu_flush_cache on all mips and not only yeeloong.
22929 * configure.ac (COND_mips): New conditional.
22930 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22931 platforms.
22932 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22933 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22934 [GRUB_LINKER_HAVE_INIT]: New function.
22935 (grub_emu_post_init): Likewise.
22936 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22937 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22938 * include/grub/cache.h (_mips): Include mips/cache.h.
22939 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22940 LVM and RAID prototypes.
22941 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22942 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22943 function.
22944
5ed7d816
CW
229452010-09-10 Colin Watson <cjwatson@ubuntu.com>
22946
22947 * util/grub-install.in: Don't try to verify core.img until after
22948 running grub-mkimage to create it.
22949
90367e04
RM
229502010-09-10 Robert Millan <rmh@gnu.org>
22951
22952 * util/grub.d/10_hurd.in: Add misc readability checks.
22953 * util/grub.d/10_kfreebsd.in: Likewise.
22954 * util/grub.d/10_linux.in: Likewise.
22955
c452fa66
CW
229562010-09-10 Colin Watson <cjwatson@ubuntu.com>
22957
22958 * util/grub-install.in: ${imgext} won't be defined here until the
22959 install branch is merged. For the meantime, only verify core.img on
22960 i386-pc and sparc64-ieee1275 platforms.
22961
c38fe9f4
RM
229622010-09-10 Robert Millan <rmh@gnu.org>
22963
22964 Solaris support in grub_find_zpool_from_dir(). Thanks
22965 Seth Goldberg for referring to getextmntent() facility.
22966
22967 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22968 `sys/mkdev.h'.
22969 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22970 `<sys/mnttab.h>'.
22971 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22972 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22973 method for finding zpool name.
22974
905f7773
CW
229752010-09-10 Colin Watson <cjwatson@ubuntu.com>
22976
22977 grub-fstest needs the host and hostfs modules while other utilities
22978 actively require those modules to be absent, so grub-fstest needs
22979 its own initialisation and finalisation code.
22980
22981 * Makefile.am (grub_fstest.pp): New target.
22982 (grub_fstest_init.lst): Likewise.
22983 (grub_fstest_init.c): Likewise.
22984 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22985
fb90b546
RM
229862010-09-10 Robert Millan <rmh@gnu.org>
22987
22988 * configure.ac: Check for `struct statfs.f_fstypename' and
22989 `struct statfs.f_mntfromname'.
22990
22991 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22992 kFreeBSD-specific code.
22993
66d4bea5
RM
229942010-09-10 Robert Millan <rmh@gnu.org>
22995
22996 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22997 on ZFS. Now non-main filesystems are supported as / too.
22998
b6a690ee
CW
229992010-09-09 Colin Watson <cjwatson@ubuntu.com>
23000
23001 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23002 and grub-core/disk/host.c to ...
23003 (grub-fstest): ... here. Having the host disk implementation
23004 present confuses grub-probe and other utility programs.
23005
23006 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23007 when writing to a file, not when writing to stdout.
23008
8901b00c 230092010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23010
23011 * tests/partmap_test.in: New test for partitions.
23012 * Makefile.util.def: Rules for new test.
23013
7bf45fdd
RM
230142010-09-09 Robert Millan <rmh@gnu.org>
23015
23016 * util/grub-probe.c (probe): Fix a pair of unhandled error
23017 conditions.
23018
4dfbc574
RM
230192010-09-09 Robert Millan <rmh@gnu.org>
23020
23021 Basic Btrfs support (detection and UUID).
23022
23023 * grub-core/fs/btrfs.c: New file.
23024 * Makefile.util.def (library): Register btrfs.c.
23025 * grub-core/Makefile.core.def: Likewise.
23026
6b8e78ae
RM
230272010-09-08 Robert Millan <rmh@gnu.org>
23028
23029 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23030 with (optional) parameters to specify device and relative path.
23031 * util/grub-install.in: Use is_path_readable_by_grub() to
23032 verify readability of a few critical files.
23033 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23034 verify readability of grub.cfg.new.
23035
27f21a8b
VS
230362010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 Split minix.mod into minix.mod and minix2.mod.
23039
23040 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23041 * grub-core/Makefile.core.def (minix2): New module.
23042 * grub-core/fs/minix.c: Use definitions instead of runtime version
23043 checking.
23044 * grub-core/fs/minix2.c: New file.
23045
c0e53ea5
YB
230462010-09-08 Yves Blusseau <blusseau@zetam.org>
23047
23048 Add new --boot-directory option to replace --root-directory
23049
23050 * util/grub-install.in: Add new --boot-directory option
23051 * util/grub-reboot.in: Likewise.
23052 * util/grub-set-default.in: Likewise.
23053
b9fe6ea2
YB
230542010-09-08 Yves Blusseau <blusseau@zetam.org>
23055
23056 * util/grub-mkconfig.in: Use new variable.
23057
d87aedff
YB
230582010-09-08 Yves Blusseau <blusseau@zetam.org>
23059
23060 * configure.ac: Define some useful variables.
23061
e55e8495
VS
230622010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23063
23064 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23065 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23066 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23067 Use terminfo and don't use cursor-on/cursor-off unless it's known
23068 to work.
23069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23070 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23071
6fa6d675
CW
230722010-09-08 Colin Watson <cjwatson@ubuntu.com>
23073
23074 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23075 starts with "(,", fill the drive containing the loaded image in
23076 between those two characters, but expect that a full partition
23077 specification including partition map names will follow.
23078
92f2aef0
RM
230792010-09-08 Robert Millan <rmh@gnu.org>
23080
23081 * configure.ac: Remove `--enable-grub-fstest' option.
23082 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23083
23084 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23085 `grub-fstest' instead of `grub-probe' for readability verification.
23086 * util/grub-probe.c (probe): Remove readability verification kludge.
23087
99fd620d
RM
230882010-09-08 Robert Millan <rmh@gnu.org>
23089
23090 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23091 initializing `GRUB_FS'.
23092
058e30ac 230932010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23094
23095 Not command (!) support to GRUB script.
23096
23097 * tests/grub_script_not.in: New test.
23098 * Makefile.util.def: Rules for new test.
23099
23100 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23101 ! command as a special case.
23102 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23103
b61d05ed 231042010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23105
058e30ac 23106 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23107 grub_free.
b61d05ed 23108
4d69c786 231092010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23110
23111 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23112
aa3119c4 231132010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23114
23115 * docs/grub.texi (Shell-like scripting): Documentation for break,
23116 continue, shift and return commands.
23117
db0f7e3d
VS
231182010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 Rename CD-ROM to cd on BIOS.
23121
23122 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23123 "cd".
23124 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23125
88b87c93
VS
231262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23127
23128 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23129 * util/grub-probe.c (main): Likewise.
23130 * util/i386/pc/grub-setup.c (main): Likewise.
23131 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23132 Reported and debugged by: alexxy
23133
294f324d
VS
231342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23137 diagnostic info.
23138
d7ee3441
JS
231392010-09-05 Jo Shields <directhex@apebox.org>
23140
23141 * util/grub.d/30_os-prober.in: Add missing classes.
23142
d7e06c1f
VS
231432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 * docs/grub.texi (Theme file format): Document new position format.
23146
fc157e53
VS
231472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23148
23149 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23150 a table. Use @code instead of @verbatim.
23151
506e9a1c
CB
231522010-09-05 Colin D Bennett <colin@gibibit.com>
23153
23154 Gfxmenu documentation.
23155
23156 * docs/grub.texi (Theme file format): New chapter.
23157
f0aff67c
SJ
231582010-09-05 Szymon Janc <szymon@janc.net.pl>
23159
23160 * grub-core/Makefile.core.def (xzio): New module.
23161 * grub-core/io/xzio.c: New file.
23162 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23163 * grub-core/lib/xzembed/xz_config.h: Likewise.
23164 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23165 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23166 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23167 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23168 * grub-core/lib/xzembed/xz_private.h: Likewise.
23169 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23170 * include/grub/file.h (grub_file_filter_id): New compression filter
23171 GRUB_FILE_FILTER_XZIO.
23172
82a85062
VS
231732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23176 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23177 size.
23178
3579415d
VS
231792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23180
23181 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23182 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23183
5124ae6d
VS
231842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 Uncompressed checksum support.
23187
23188 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23189 (check_list): New parameter uncompress.
23190 (grub_cmd_hashsum): Handle --uncompress.
23191
9aadb3d1
VS
231922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 Reintroduce testload.
23195
23196 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23197 from here ...
23198 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23199 (GRUB_MOD_INIT): New function.
23200 (GRUB_MOD_FINI): Likewise.
23201 * grub-core/Makefile.core.def (testload): New module.
23202
a17792c3
SJ
232032010-09-05 Szymon Janc <szymon@janc.net.pl>
23204
23205 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23206 (uint8_t): New type.
23207 (uint16_t): Likewise.
23208 (uint32_t): Likewise.
23209 (uint64_t): Likewise.
23210
b81e40a3
SJ
232112010-09-05 Szymon Janc <szymon@janc.net.pl>
23212
23213 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23214
fc2ef117
VS
232152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23218 Made static.
23219 (grub_gzfile_open): Removed. All users updated.
23220 (GRUB_MOD_INIT): New function.
23221 (GRUB_MOD_FINI): Likewise.
23222 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23223 (grub_file_filters_enabled): Likewise.
23224 (grub_file_open): Handle filters.
23225 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23226 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23227 * include/grub/file.h (grub_file_filter_id_t): New type.
23228 (grub_file_filter_t): Likewise.
23229 (grub_file_filters_all): New extern variable.
23230 (grub_file_filters_enabled): Likewise.
23231 (grub_file_filter_register): New inline function.
23232 (grub_file_filter_unregister): Likewise.
23233 (grub_file_filter_disable): Likewise.
23234 (grub_file_filter_disable_compression): Likewise.
23235 * include/grub/gzio.h: Removed.
23236
35ee15e0
BC
232372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23238
23239 Filename expansion support for wildcards in GRUB script.
23240
23241 * tests/grub_script_expansion.in: New test.
23242 * Makefile.util.def: Rule for new test.
23243
23244 * grub-core/commands/wildcard.c: New file, implements filename
23245 expansion support for GRUB script.
23246 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23247 * grub-core/script/argv.c: Cosmetic changes.
23248 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23249 Refactored to perform wildcard expansion on arguments.
23250 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23251 struct.
23252
23253 * tests/util/grub-shell.in: Fix quoting for read input.
23254
5f0c4aca
BC
232552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23256
23257 Support for updating environment variables with matched substrings
23258 of regexp.
23259
23260 * tests/grub_cmd_regexp.in: New test.
23261 * Makefile.util.def: Rule for new test.
23262
23263 * grub-core/commands/regexp.c: New option -s to update environment
23264 variables with regexp matches.
23265
3759a35f
SJ
232662010-09-04 Szymon Janc <szymon@janc.net.pl>
23267
23268 * include/grub/file.h (grub_file): New member not_easly_seekable.
23269 (grub_file_seekable): New inline function.
23270 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23271 easily seekable.
23272 (grub_gzio_open): Set not_easly_seekable.
23273 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23274 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23275
ed8c6dec
BC
232762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23277
23278 Support for options to appear multiple times on cmdline.
23279
23280 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23281 * grub-core/commands/extcmd.c: Support for repeatable option.
23282 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23283 repeatable option support.
23284
23285 Refactor menuentry into a regular command.
23286
23287 * grub-core/commands/menuentry.c: New file, menuentry command
23288 implementation.
23289 * grub-core/Makefile.core.def: Rule update for normal.mod.
23290 * grub-core/normal/main.c: Moved menuentry creation to
23291 grub-core/commands/menuentry.c.
23292 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23293 (grub_menu_execute_entry_real): Removed.
23294 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23295 function.
23296 (grub_script_execute_menuentry): Removed.
23297 * grub-core/script/parser.y (menuentry): Removed.
23298 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23299 * grub-core/script/yylex.l (menuentry): Removed.
23300 * include/grub/menu.h (grub_menu_init): New prototype.
23301 (grub_menu_fini): New prototype.
23302 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23303 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23304 (grub_script_execute_sourcecode): New prototype.
23305
dacd0cf0
BC
233062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23307
23308 "return" command for GRUB script functions.
23309
23310 * tests/grub_script_return.in: New test.
23311 * Makefile.util.def: Rules for new test.
23312
23313 * grub-core/script/execute.c (grub_script_return): New function.
23314 * grub-core/script/main.c: Register/unregister return commaond.
23315 * include/grub/script_sh.h (grub_script_return): New prototype.
23316
52e72f9d
BC
233172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23318
23319 "setparams" command to update positional parameters.
23320
23321 * tests/grub_script_setparams.in: New test.
23322 * Makefile.util.def: Rules for new test.
23323
23324 * grub-core/script/argv.c (grub_script_argv_make): New function.
23325 * grub-core/script/execute.c (replace_scope): New function.
23326 (grub_script_setparams): New function.
23327 * grub-core/script/lexer.c: Remove unused variables.
23328 * grub-core/script/main.c: Register/unregister setparams command.
23329 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23330 (grub_script_setparams): New prototype.
23331
25b60c91
BC
233322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23333
23334 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23335 grub_free order.
23336
37e7bf68
BC
233372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23338
23339 Support for passing block of commands as an argument to extcmds.
23340
23341 * Makefile.util.def: Rules for new test.
23342 * tests/grub_script_blockarg.in: New test.
23343 * grub-core/tests/test_blockarg.c: New file, block argument
23344 command used in the test.
23345
23346 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23347 (grub_register_extcmd_prio): New function prototype.
23348 (grub_extcmd_dispatcher): New function prototype.
23349 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23350 type.
23351 * include/grub/script_sh.h (struct grub_script): New members
23352 `children', `next_siblings' and `refcnt' for block arguments and
23353 reference counting.
23354 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23355 (grub_script_arg): New member `script' for block argument.
23356 (grub_script_argv): New member `script' for block argument.
23357 (grub_parser_param): New member `scripts' for block argument.
23358 (grub_script_mem_free): New extern function prototype.
23359 (grub_script_ref): New function prototype.
23360 (grub_script_unref): New function prototype.
23361
23362 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23363 extcmd form to support block arguments.
23364 * grub-core/script/argv.c: Block arguments support.
23365 * grub-core/script/execute.c: Likewise.
23366 * grub-core/script/lexer.c: Likewise.
23367 * grub-core/script/main.c: Likewise.
23368 * grub-core/script/script.c: Likewise.
23369 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23370 non-terminals.
23371
23372 * grub-core/commands/acpi.c: Update extcmd implementations with
23373 grub_extcmd_context_t.
23374 * grub-core/commands/cat.c: Likewise.
23375 * grub-core/commands/echo.c: Likewise.
23376 * grub-core/commands/extcmd.c: Likewise.
23377 * grub-core/commands/hashsum.c: Likewise.
23378 * grub-core/commands/hdparm.c: Likewise.
23379 * grub-core/commands/help.c: Likewise.
23380 * grub-core/commands/hexdump.c: Likewise.
23381 * grub-core/commands/i386/cpuid.c: Likewise.
23382 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23383 * grub-core/commands/i386/pc/halt.c: Likewise.
23384 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23385 * grub-core/commands/iorw.c: Likewise.
23386 * grub-core/commands/keystatus.c: Likewise.
23387 * grub-core/commands/loadenv.c: Likewise.
23388 * grub-core/commands/ls.c: Likewise.
23389 * grub-core/commands/lspci.c: Likewise.
23390 * grub-core/commands/memrw.c: Likewise.
23391 * grub-core/commands/probe.c: Likewise.
23392 * grub-core/commands/search_wrap.c: Likewise.
23393 * grub-core/commands/setpci.c: Likewise.
23394 * grub-core/commands/sleep.c: Likewise.
23395 * grub-core/disk/loopback.c: Likewise.
23396 * grub-core/hello/hello.c: Likewise.
23397 * grub-core/loader/i386/bsd.c: Likewise.
23398 * grub-core/loader/xnu.c: Likewise.
23399 * grub-core/term/gfxterm.c: Likewise.
23400 * grub-core/term/serial.c: Likewise.
23401 * grub-core/tests/lib/functional_test.c: Likewise.
23402
888d1500
BC
234032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23404
23405 Multi-line quoted strings support.
23406
23407 * grub-core/script/lexer.c (append_newline): Removed.
23408 (grub_script_lexer_yywrap): Refactored.
23409 (grub_script_lexer_init): Refactored.
23410 * grub-core/script/yylex.l (yywrap): New function.
23411 (grub_lexer_resplit): New function.
23412 (grub_lexer_unput): New function.
23413 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23414 and resplit.
23415 * tests/grub_script_echo1.in: Added few more testcases.
23416
dda060dd
VS
234172010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 * grub-core/kern/misc.c: Don't add abort alias in utils.
23420 Reported by: echoline.
23421
6556eba9
BC
234222010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23423
23424 Add missing files into "make dist" tarball for other platforms.
23425
23426 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23427 * conf/Makefile.common (dist_noinst_DATA): New variable.
23428 * conf/Makefile.extra-dist: Added missing make dist files.
23429 * grub-core/Makefile.core.def: Likewise.
23430
c8e7bf5f
VS
234312010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 Compress grub_prefix.
23434
23435 * grub-core/boot/i386/pc/lnxboot.S: Use
23436 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23437 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23438 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23439 GRUB_MACHINE_PREFIX_END. All users updated.
23440 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23441 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23442 + 0x40.
23443 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23444 * util/grub-mkimage.c (image_target_desc): Change data_end to
23445 prefix_end. All users updated.
23446
a7c00cdb
VS
234472010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23450 value.
23451 (grub_openbsd_boot): Likewise.
23452 (grub_netbsd_boot): Likewise.
23453 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23454 (grub_xnu_boot): Likewise.
23455
9f915872
VS
234562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 * configure.ac: Clean LIBS variable after tests.
23459
efa1bee7
CW
234602010-09-02 Colin Watson <cjwatson@ubuntu.com>
23461
23462 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23463
61d720e5
VS
234642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23465
23466 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23467 echo if libdevmapper will be used.
23468
ef8e0ec8
IT
234692010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23470
23471 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23472 constant for the same file.
23473
03e261d8
VS
234742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23477
c2a4eba6
CW
234782010-09-02 Colin Watson <cjwatson@ubuntu.com>
23479
23480 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23481 grub-core/*.pp.
23482
9056cbf3
CW
234832010-09-02 Colin Watson <cjwatson@ubuntu.com>
23484
23485 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23486 required by the boot protocol.
23487
23488 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23489 ebp and edi members.
23490 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23491 state.ebp and state.edi.
23492 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23493 %ebp and %edi according to grub_relocator32_ebp and
23494 grub_relocator32_edi respectively.
23495 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23496 and state.edi.
23497
529cc99a
VS
234982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 Add i386-pc-pxe image target.
23501
23502 * util/grub-mkimage.c (image_target_desc): New enum value
23503 IMAGE_I386_PC_PXE.
23504 (image_targets): New target i386-pc-pxe.
23505 (generate_image): Handle i386-pc-pxe image.
23506
9a093920
VS
235072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 Fix grub_pxe_scan.
23510
23511 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23512 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23513 All users updated.
23514 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23515 (grub_pxe_pxenv): Correct type.
23516
f9cefc4e
CW
235172010-09-01 Colin Watson <cjwatson@ubuntu.com>
23518
23519 * NEWS: Document most of the important changes since 1.98.
23520
4066f57f
CW
235212010-09-01 Colin Watson <cjwatson@ubuntu.com>
23522
23523 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23524 generated manual page) a little.
23525
da2891f9
CW
235262010-09-01 Colin Watson <cjwatson@ubuntu.com>
23527
23528 * docs/grub.texi: Add myself as an author.
23529
ad717fae
VS
235302010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 * Makefile.util.def (libgrub.a): Add missing sunpc.
23533 Reported by: Seth Goldberg.
23534
eefe8abd
VS
235352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23536
23537 Interrupt wrapping and code simplifications.
23538
9494ef9a
VS
23539 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23540 x86_noieee1275 which are functionaly equivalent in this case.
23541 (grub-install): Make source on each platform explicit. Enable on
23542 all noemu.
23543 * gentpl.py (x86_efi_pc): Removed group.
23544 (x86_noefi): Likewise.
23545 (i386_noefi): Likewise.
23546 (x86_noieee1275): Likewise.
23547 (i386_noieee1275): Likewise.
23548 (i386_noefi_noieee1275): Likewise.
23549 (i386_pc_qemu_coreboot): Likewise.
23550 (i386_coreboot_multiboot): Likewise.
23551 (i386_pc_coreboot_multiboot_qemu): Likewise.
23552 (x86_noefi_mips): Likewise.
23553 (noieee1275): Likewise.
23554 (ieee1275_mips): Likewise.
23555 (noemu_noieee1275): Likewise.
23556 (cmos): New group.
23557 (usb): Likewise.
23558 (videoinkernel): Likewise.
23559 (videomodules): Likewise.
eefe8abd 23560 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23561 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23562 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23563 include/grub/loader.h, include/grub/msdos_partition.h,
23564 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23565 include/grub/machine/console.h, include/grub/machine/vga.h,
23566 include/grub/machine/vbe.h, include/grub/machine/init.h,
23567 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23568 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23569 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23570 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23571 * grub-core/Makefile.core.def (kernel): Explicit the source for
23572 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23573 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23574 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23575 Use videoinkernel tag.
23576 (usb): Enable on all usb.
23577 (usbserial_common): Likewise.
23578 (usbserial_pl2303): Likewise.
23579 (usbserial_ftdi): Likewise.
23580 (uhci): Enable on all x86.
23581 (ohci): Enable on all pci.
23582 (cmostest): Enable on all CMOS.
23583 (acpi): Include commands/acpi.c on all platforms.
23584 (halt): Add relevant lib/*/halt.c.
23585 (hdparm): Enable on all pci.
23586 (lspci): Likewise.
23587 (usbtest): Enable on all usb.
23588 (ata): Enable on all pci.
23589 (ata_pthru): Likewise.
23590 (usbms): Enable on all usb.
23591 (usb_keyboard): Likewise.
23592 (font): Use tag videomodules.
23593 (bufio): Likewise.
23594 (datetime): Use tag cmos. Enable on all noemu.
23595 (mmap): Use tags common and x86.
23596 (gfxterm): Use tag videomodules.
23597 (bitmap): Likewise.
23598 (bitmap_scale): Likewise.
23599 (video_fb): Likewise.
23600 (video): Likewise.
23601 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23602 adjust padding accordingly. All users updated.
23603 (grub_ohci_transaction): Fix bad format specification.
23604 (GRUB_MOD_INIT): Add asserts for struct size.
23605 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23606 (grub_alloc_td): Likewise.
23607 (grub_free_queue): Likewise.
23608 (grub_uhci_transfer): Likewise.
23609 (grub_uhci_transaction): Fix bad format specification.
23610 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23611 (grub_usb_bulk_readwrite): Likewise.
23612 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23613 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23614 Made static.
23615 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23616 Made static.
23617 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23618 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23619 Transformed into C.
23620 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23621 Moved from here ...
23622 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23623 ... here. Transformed into C. Made static.
23624 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23625 Moved from here ...
23626 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23627 ... here. Transformed into C. Made static.
23628 * grub-core/kern/i386/pc/startup.S
23629 (grub_biosdisk_check_int13_extensions): Moved from here ...
23630 * grub-core/disk/i386/pc/biosdisk.c
23631 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23632 Made static.
23633 * grub-core/kern/i386/pc/startup.S
23634 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23635 * grub-core/disk/i386/pc/biosdisk.c
23636 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23637 Transformed into C. Made static.
23638 * grub-core/kern/i386/pc/startup.S
23639 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23640 * grub-core/disk/i386/pc/biosdisk.c
23641 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23642 Transformed into C. Made static.
23643 * grub-core/kern/i386/pc/startup.S
23644 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23645 * grub-core/disk/i386/pc/biosdisk.c
23646 (grub_biosdisk_get_diskinfo_standard): ... here.
23647 Transformed into C. Made static.
23648 * grub-core/kern/i386/pc/startup.S
23649 (grub_biosdisk_get_num_floppies): Moved from here ...
23650 * grub-core/disk/i386/pc/biosdisk.c
23651 (grub_biosdisk_get_num_floppies): ... here.
23652 Transformed into C. Made static.
23653 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23654 New function.
23655 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23656 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23657 Transformed into C. Made static.
23658 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23659 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23660 Transformed into C. Made static.
23661 * grub-core/kern/i386/ieee1275/init.c: Removed.
23662 * grub-core/kern/i386/misc.S: Likewise.
23663 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23664 Splitted from here ...
23665 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23666 Transformed into C. Made static. All users updated.
23667 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23668 Transformed into C. Made static. All users updated.
23669 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23670 Moved from here...
23671 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23672 Transformed into C. Made static. All users updated.
23673 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23674 Moved from here...
23675 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23676 Transformed into C. Made static. All users updated.
23677 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23678 Removed (replaced by C version).
23679 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23680 Moved from here...
23681 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23682 Transformed into C. Made static.
23683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23684 Moved from here...
23685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23686 ... here. Transformed into C.
23687 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23688 Moved from here...
23689 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23690 ... here. Transformed into C.
23691 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23692 Moved from here...
23693 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23694 ... here. Transformed into C. Made static.
23695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23696 Moved from here...
23697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23698 ... here. Transformed into C.
21ed554b
VS
23699 * grub-core/kern/i386/pc/startup.S
23700 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23701 * grub-core/video/i386/pc/vbe.c
23702 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23703 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23704 Moved from here...
23705 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23706 ... here. Transformed into C.
23707 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23708 Moved from here...
23709 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23710 ... here. Transformed into C.
23711 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23712 Moved from here...
23713 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23714 ... here. Transformed into C.
23715 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23716 Moved from here...
23717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23718 ... here. Transformed into C.
23719 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23720 Moved from here...
23721 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23722 ... here. Transformed into C. Made static.
23723 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23724 Moved from here...
23725 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23726 ... here. Transformed into C. Made static.
23727 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23728 Moved from here...
23729 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23730 ... here. Transformed into C. Made static.
23731 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23732 pxe_rm_entry as third argument.
23733 (grub_bios_interrupt): New function.
23734 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23735 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23736 of calling grub_stop.
23737 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23738 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23739 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23740 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23741 * grub-core/lib/i386/halt.c: Moved from here ...
23742 * grub-core/lib/i386/halt.c: ... here.
23743 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23744 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23745 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23746 grub_stop_floppy.
23747 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23748 * include/grub/i386/coreboot/init.h: Removed.
23749 * include/grub/i386/multiboot/init.h: Likewise.
23750 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23751 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23752 * include/grub/i386/pc/int.h: New file.
23753 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23754 (grub_pxe_scan): Removed.
23755 (grub_pxe_call): Update prototype.
23756 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23757 prototypes.
23758 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23759 * include/grub/i386/qemu/init.h: Removed.
23760 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23761 noreturn.
23762 (grub_halt): Likewise.
23763 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23764 (grub_reboot): Likewise.
23765 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23766 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23767 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23768
215dd471
RM
237692010-08-30 Robert Millan <rmh@gnu.org>
23770
23771 * NEWS: Document addition of ZFS support in `grub-install' and
23772 `grub-mkconfig'.
23773
ebd65b82
BC
237742010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23775
23776 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23777 dprintf output.
23778
11721d19
VS
237792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23780
23781 Remove leftover embedding of font objects.
23782
23783 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23784 * util/grub-install.in (font): Removed.
23785 * util/grub-mkimage.c (generate_image): Remove font support. All users
23786 updated.
23787
37837d4e
VS
237882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 Remove leftover embedding of font objects.
23791
23792 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23793 * util/grub-install.in (font): Removed.
23794 * util/grub-mkimage.c (generate_image): Remove font support. All users
23795 updated.
23796
b4c1aae0
VS
237972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23798
23799 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23800 Reported by: Ian Turner
b4c1aae0 23801
8920a08d
VS
238022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23803
23804 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23805 timeout to avoid indefinite boot stalling.
23806
f21db033
VS
238072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23810 (grub_env_write_color_highlight): Likewise.
23811
9a9de209
VS
238122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 * grub-core/normal/term.c (print_more): Return to normal and not
23815 to standard state after printing "---MORE---".
23816
3dca01d7
VS
238172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23820 Mask out the bit 0x80 since it has other meaning that specifiing color.
23821
0b986c40
VS
238222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 New relocator. Allows for more kernel support and more straightforward
23825 loader writing.
23826
23827 * Makefile.am (BOOTTARGET): New variable.
23828 (QEMU32): Likewise.
23829 (linux.init.x86_64): New target.
23830 (linux.init.i386): Likewise.
23831 (multiboot.elf): Likewise.
23832 (kfreebsd.elf): Likewise.
23833 (kfreebsd.aout): Likewise.
23834 (pc-chainloader.elf): Likewise.
23835 (pc-chainloader.bin): Likewise.
23836 (ntldr.elf): Likewise.
23837 (ntldr.bin): Likewise.
23838 (multiboot2.elf): Likewise.
23839 (kfreebsd.init.x86_64): Likewise.
23840 (kfreebsd.init.i386): Likewise.
23841 (knetbsd.init.i386): Likewise.
23842 (kopenbsd.init.i386): Likewise.
23843 (knetbsd.init.x86_64): Likewise.
23844 (kopenbsd.init.x86_64): Likewise.
23845 (linux-initramfs.i386): Likewise.
23846 (linux-initramfs.x86_64): Likewise.
23847 (kfreebsd-mfsroot.i386.img): Likewise.
23848 (knetbsd.image.i386): Likewise.
23849 (kopenbsd.image.i386): Likewise.
23850 (kopenbsd.image.x86_64): Likewise.
23851 (knetbsd.miniroot-image.i386.img): Likewise.
23852 (kfreebsd-mfsroot.x86_64.img): Likewise.
23853 (knetbsd.image.x86_64): Likewise.
23854 (knetbsd.miniroot-image.x86_64.img): Likewise.
23855 (kfreebsd-mfsroot.i386.gz): Likewise.
23856 (bootcheck-kfreebsd-i386): Likewise.
23857 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23858 (bootcheck-kfreebsd-x86_64): Likewise.
23859 (knetbsd.miniroot-image.i386.gz): Likewise.
23860 (bootcheck-knetbsd-i386): Likewise.
23861 (bootcheck-kopenbsd-i386): Likewise.
23862 (bootcheck-kopenbsd-x86_64): Likewise.
23863 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23864 (bootcheck-knetbsd-x86_64): Likewise.
23865 (bootcheck-linux-i386): Likewise.
23866 (bootcheck-linux-x86_64): Likewise.
23867 (bootcheck-linux16-i386): Likewise.
23868 (bootcheck-linux16-x86_64): Likewise.
23869 (bootcheck-multiboot): Likewise.
23870 (bootcheck-multiboot2): Likewise.
23871 (bootcheck-kfreebsd-aout): Likewise.
23872 (bootcheck-pc-chainloader): Likewise.
23873 (bootcheck-ntldr): Likewise.
23874 (CLEANFILES): Add new targets.
23875 (BOOTCHECKS): New variable.
23876 (.PHONY): Add bootchecks.
23877 (SUCCESSFUL_BOOT_STRING): New variable.
23878 (BOOTCHECK_TIMEOUT): Likewise.
23879 (bootcheck): New target
23880 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23881 * configure.ac: Correct efiemu excuse.
23882 * docs/grub.texi (Supported kernels): New chapter.
23883 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23884 include/grub/mm_private.h. Simplify inclusion of
23885 include/grub/boot.h, include/grub/loader.h
23886 and include/grub/msdos_partition.h
23887 (KERNEL_HEADER_FILES) [i386_coreboot]:
23888 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23889 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23890 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23891 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23892 include/grub/machine/loader.h.
23893 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23894 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23895 extra_dist.
23896 (pci.mod): Enable on i386-multiboot.
23897 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23898 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23899 i386-qemu.
23900 (relocator.mod): Rewritten.
23901 (aout.mod): Enable on all x86.
23902 (bsd.mod): Likewise.
23903 (ntldr.mod): New module.
23904 (linux.mod): Use loader/i386/linux.c on all x86.
23905 (xnu.mod): Enable on all x86.
23906 (vga_text.mod): disable on EFI and QEMU.
23907 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23908 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23909 * grub-core/efiemu/loadcore.c: Likewise.
23910 * grub-core/efiemu/main.c: Likewise.
23911 (grub_efiemu_exit_boot_services): Removed.
23912 (grub_efiemu_finish_boot_services): Likewise.
23913 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23914 function.
23915 * grub-core/efiemu/i386/nocfgtables.c: New file.
23916 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23917 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23918 (grub_efi_finish_boot_services): Moved from here ...
23919 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23920 Fille finish memory map and related data.
23921 (finish_mmap_buf): New variable.
23922 (grub_efi_uintn_t finish_mmap_size): Likewise.
23923 (grub_efi_uintn_t finish_key): Likewise.
23924 (grub_efi_uintn_t finish_desc_size): Likewise.
23925 (grub_efi_uint32_t finish_desc_version): Likewise.
23926 (grub_efi_is_finished): Likewise.
23927 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23928 finished.
23929 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23930 (grub_elf64_phdr_iterate): Likewise.
23931 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23932 (grub_os_area_size): Likewise.
23933 (grub_machine_init): Don't reserve os area.
23934 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23935 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23936 * grub-core/kern/i386/loader.S: Removed.
23937 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23938 (grub_os_area_size): Likewise.
23939 (grub_machine_init): Don't reserve os area.
23940 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23941 Don't call grub_dl_unload_all.
23942 Don't include loader.S.
23943 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23944 Declare the memory after _end as available.
23945 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23946 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23947 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23948 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23949 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23950 * include/grub/mm_private.h (grub_mm_header): ... here.
23951 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23952 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23953 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23954 (grub_mm_region): ..here. Removed addr. Added pre_size.
23955 All users updated.
23956 * grub-core/kern/mm.c (base): Renamed to ...
23957 (grub_mm_base): ... this. Made global.
23958 (grub_real_malloc): Alloc from end of region.
23959 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23960 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23961 * grub-core/kern/powerpc/cache_flush.S: ... here.
23962 * grub-core/lib/efi/relocator.c: New file.
23963 * grub-core/lib/i386/relocator.c: Rewritten.
23964 * grub-core/lib/i386/relocator16.S: New file.
23965 * grub-core/lib/i386/relocator32.S: Likewise.
23966 * grub-core/lib/i386/relocator64.S: Likewise.
23967 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23968 * grub-core/lib/i386/relocator_common.S: New file.
23969 * grub-core/lib/ieee1275/relocator.c: Likewise.
23970 * grub-core/lib/mips/relocator.c: Rewritten.
23971 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23972 stylistic adjustments.
23973 * grub-core/lib/powerpc/relocator.c: New file.
23974 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23975 * grub-core/lib/relocator.c: Rewritten.
23976 * grub-core/lib/x86_64/relocator_asm.S: New file.
23977 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23978 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23979 (bsd_tag): New struct.
23980 (tags): New variable.
23981 (tags_last): Likewise.
23982 (netbsd_module): New struct.
23983 (netbsd_mods): New variable.
23984 (netbsd_mods_last): Likewise.
23985 (openbsd_opts): New parameter "serial".
23986 (OPENBSD_SERIAL_ARG): New definition.
23987 (netbsd_opts): New parameter "serial".
23988 (NETBSD_SERIAL_ARG): New definition.
23989 (grub_freebsd_add_meta): Reorganised into ...
23990 (grub_bsd_add_meta): ...this. All users updated.
23991 (grub_freebsd_add_mmap): Reorganised into ...
23992 (generate_e820_mmap): ...this...
23993 (grub_bsd_add_mmap): ...and this. All users updated.
23994 (grub_freebsd_list_modules): Use tags.
23995 (grub_netbsd_add_meta_module): New function.
23996 (grub_netbsd_list_modules): Likewise.
23997 (grub_freebsd_boot): Use relocator and finish EFI.
23998 (grub_openbsd_boot): Likewise.
23999 (grub_netbsd_setup_video): New function.
24000 (grub_netbsd_add_modules): Likewise.
24001 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24002 and finish EFI.
24003 (grub_bsd_unload): Unload tags.
24004 (grub_bsd_load_aout): Use relocator.
24005 (grub_bsd_elf32_size_hook): New function.
24006 (grub_bsd_elf32_hook): Use relocator.
24007 (grub_bsd_elf64_size_hook): New function.
24008 (grub_bsd_elf64_hook): Use relocator.
24009 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24010 (grub_bsd_load): Zero-out openbsd_ramdisk.
24011 (grub_bsd_load): Use relocator.
24012 (grub_cmd_openbsd): Support serial.
24013 (grub_cmd_netbsd): Support modules.
24014 (grub_cmd_freebsd_module): Use relocator.
24015 (grub_netbsd_module_load): New function.
24016 (grub_cmd_netbsd_module): Likewise.
24017 (grub_cmd_openbsd_ramdisk): Likewise.
24018 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24019 kopenbsd_ramdisk.
24020 (GRUB_MOD_FINI): Unregister new commands.
24021 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24022 (grub_freebsd_load_elfmodule_obj): Use relocator.
24023 (grub_freebsd_load_elfmodule): Likewise.
24024 (grub_freebsd_load_elf_meta): Likewise.
24025 (grub_netbsd_load_elf_meta): New function.
24026 (grub_openbsd_find_ramdisk): Likewise.
24027 * grub-core/loader/i386/bsd_helper.S: Removed.
24028 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24029 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24030 * grub-core/loader/i386/efi/linux.c: Likewise.
24031 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24032 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24033 (DEFAULT_VIDEO_MODE): Likewise.
24034 (real_mode_target): New variable.
24035 (prot_mode_target): Likewise.
24036 (initrd_mem_target): Likewise.
24037 (relocator): Likewise.
24038 (efi_mmap_buf): Likewise.
24039 (efi_mmap_size): Likewise.
24040 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24041 (free_pages): Use relocator.
24042 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24043 (grub_linux_setup_video): Return error.
24044 (grub_linux_trampoline_start): Removed.
24045 (grub_linux_trampoline_end): Likewise.
24046 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24047 andd video parameters depending on firmware.
24048 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24049 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24050 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24051 (grub_cmd_initrd): Use relocator.
24052 * grub-core/loader/i386/linux_trampoline.S: Removed.
24053 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24054 (elf_sec_entsize): Likewise.
24055 (elf_sec_shstrndx): Likewise.
24056 (elf_sections): Likewise.
24057 (grub_multiboot_load): Use relocator.
24058 (grub_multiboot_get_mbi_size): Account for sections.
24059 (grub_multiboot_make_mbi): Use relocator and support sections.
24060 (grub_multiboot_add_elfsyms): New function.
24061 (grub_multiboot_free_mbi): Free sections.
24062 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24063 (grub_linux_real_target): Likewise.
24064 (grub_linux_real_chunk): Likewise.
24065 (grub_linux16_prot_size): Likewise.
24066 (grub_linux16_boot): Use relocator.
24067 (grub_linux_unload): Unload relocator.
24068 (grub_cmd_linux): Use relocator.
24069 (grub_cmd_initrd): Likewise.
24070 * grub-core/loader/i386/pc/ntldr.c: New file.
24071 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24072 Don't try to guess CPU frequency.
24073 (grub_xnu_set_video): Stretch bitmap.
24074 (grub_xnu_boot): Use relocator.
24075 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24076 (grub_linux_unload): Free relocator.
24077 (grub_linux_load32): Use relocator.
24078 (grub_linux_load64): Likewise.
24079 (grub_cmd_initrd): Likewise.
24080 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24081 (grub_multiboot_unload): Unload relocator.
24082 (grub_cmd_multiboot): Use relocator.
24083 (grub_cmd_module): Likewise.
24084 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24085 Use relocator and support sections.
24086 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24087 (elf_sec_entsize): Likewise.
24088 (elf_sec_shstrndx): Likewise.
24089 (elf_sections): Likewise.
24090 (grub_multiboot_load): Use relocator.
24091 (grub_multiboot_get_mbi_size): Account for sections.
24092 (grub_multiboot_make_mbi): Use relocator and support sections.
24093 (grub_multiboot_add_elfsyms): New function.
24094 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24095 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24096 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24097 Prototype changed. All users updated.
24098 (grub_xnu_align_heap): Simplified.
24099 (grub_xnu_writetree_toheap): Likewise.
24100 (grub_xnu_unload): Unload relocator.
24101 (grub_cmd_xnu_kernel): Use relocator.
24102 (grub_cmd_xnu_kernel64): Likewise.
24103 (grub_xnu_register_memory): Simplified.
24104 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24105 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24106 EFI is finished.
24107 (grub_console_checkkey): Likewise.
24108 (grub_console_getkey): Likewise.
24109 (grub_console_getwh): Likewise.
24110 (grub_console_getxy): Likewise.
24111 (grub_console_gotoxy): Likewise.
24112 (grub_console_cls): Likewise.
24113 (grub_console_setcolorstate): Likewise.
24114 (grub_console_setcursor): Likewise.
24115 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24116 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24117 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24118 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24119 * grub-core/tests/boot/kernel-8086.S: Likewise.
24120 * grub-core/tests/boot/kernel-i386.S: Likewise.
24121 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24122 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24123 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24124 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24125 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24126 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24127 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24128 * grub-core/tests/boot/linux.cfg: Likewise.
24129 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24130 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24131 * grub-core/tests/boot/linux16.cfg: Likewise.
24132 * grub-core/tests/boot/multiboot.cfg: Likewise.
24133 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24134 * grub-core/tests/boot/ntldr.cfg: Likewise.
24135 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24136 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24137 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24138 New definition.
24139 * include/grub/dl.h (grub_dl_unload_all): Removed.
24140 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24141 (grub_efi_finish_boot_services): Change prototype.
24142 (grub_efi_is_finished): New variable.
24143 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24144 Changed prototype.
24145 (grub_efiemu_finish_boot_services): Removed.
24146 (grub_machine_efiemu_init_tables): New prototype.
24147 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24148 (grub_elf64_phdr_iterate): Likewise.
24149 * include/grub/i386/bsd.h: Include relocator.h.
24150 (freebsd_tag_header): New struct.
24151 (grub_openbsd_bios_mmap): Removed.
24152 (grub_unix_real_boot): Removed.
24153 (grub_freebsd_load_elfmodule32): Changed prototype.
24154 (grub_freebsd_load_elfmodule_obj64): Likewise.
24155 (grub_freebsd_load_elf_meta32): Likewise.
24156 (grub_freebsd_load_elf_meta64): Likewise.
24157 (grub_freebsd_add_meta): Removed.
24158 (grub_netbsd_load_elf_meta32): New prototype.
24159 (grub_netbsd_load_elf_meta64): Likewise.
24160 (grub_bsd_add_meta): Likewise.
24161 (grub_openbsd_ramdisk_descriptor): New struct.
24162 (grub_openbsd_find_ramdisk32): New prototype.
24163 (grub_openbsd_find_ramdisk64): Likewise.
24164 * include/grub/i386/coreboot/loader.h: Removed.
24165 * include/grub/i386/efi/loader.h: Likewise.
24166 * include/grub/i386/ieee1275/loader.h: Likewise.
24167 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24168 to grub_uint32_t.
24169 * include/grub/i386/loader.h: Removed.
24170 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24171 value.
24172 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24173 (grub_phys_addr_t): New type.
24174 (grub_vtop): New inline function.
24175 (grub_map_memory): Likewise.
24176 (grub_unmap_memory): Likewise.
24177 * include/grub/i386/multiboot/loader.h: Removed.
24178 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24179 (NETBSD_BTINFO_CONSOLE): New definition.
24180 (NETBSD_BTINFO_SYMTAB): Likewise.
24181 (NETBSD_BTINFO_MODULES): Likewise.
24182 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24183 (grub_netbsd_bootinfo): New struct.
24184 (grub_netbsd_btinfo_common): Use explicit bitsize.
24185 (grub_netbsd_btinfo_mmap_entry): Removed.
24186 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24187 (grub_netbsd_btinfo_bootdisk): New struct.
24188 (grub_netbsd_btinfo_symtab): Likewise.
24189 (grub_netbsd_btinfo_serial): Likewise.
24190 (grub_netbsd_btinfo_modules): Likewise.
24191 (grub_netbsd_btinfo_framebuf): Likewise.
24192 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24193 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24194 Likewise.
24195 (grub_openbsd_bootargs): Use explicit bitsize.
24196 (grub_openbsd_bootarg_console): New struct.
24197 (GRUB_OPENBSD_COM_MAJOR): New definition.
24198 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24199 * include/grub/i386/pc/efiemu.h: Removed.
24200 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24201 * include/grub/i386/qemu/loader.h: Removed.
24202 * include/grub/i386/relocator.h: Rewritten.
24203 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24204 * include/grub/mips/memory.h: New file.
24205 * include/grub/mips/multiboot.h: Rewritten.
24206 * include/grub/mips/relocator.h: Rewritten.
24207 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24208 (grub_vtop): New function.
24209 (grub_map_memory): Likewise.
24210 (grub_unmap_memory): Likewise.
24211 * include/grub/misc.h (ALIGN_DOWN): New definition.
24212 * include/grub/mm.h (grub_mm_check_real): New proto.
24213 (GRUB_MM_CHECK): New definition.
24214 * include/grub/mm_private.h: New file.
24215 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24216 (grub_multiboot_get_mbi_size): Removed.
24217 (grub_multiboot_make_mbi): Change prottype.
24218 (grub_multiboot_set_accepts_video): New proto.
24219 (grub_multiboot_add_elfsyms): Likewise.
24220 (grub_multiboot_payload_eip): New variable.
24221 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24222 New prototype.
24223 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24224 New definition.
24225 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24226 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24227 * include/grub/powerpc/ieee1275/loader.h: Removed.
24228 * include/grub/powerpc/memory.h: New file.
24229 * include/grub/powerpc/relocator.h: Likewise.
24230 * include/grub/relocator.h: Likewise.
24231 * include/grub/relocator_private.h: Likewise.
24232 * include/grub/sparc64/ieee1275/loader.h: Removed.
24233 * include/grub/x86_64/memory.h: New file.
24234 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24235 (grub_xnu_heap_malloc): Likewise.
24236 (grub_xnu_heap_real_start): Removed.
24237 (grub_xnu_heap_start): Likewise.
24238 (grub_xnu_relocator): New variable.
24239 (grub_xnu_heap_target_start): Likewise.
24240 * tests/util/grub-shell.in: Support non-pc.
24241 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24242
5303b85d
VS
242432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24246 on malloc error.
24247 (grub_bidi_logical_to_visual): Check that malloc succeded.
24248 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24249 puts.
24250 (grub_xputs_normal): Likewise.
24251
d768d159
VS
242522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24255 extra_dist.
24256
242572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24258
24259 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24260
5bf84df4
VS
242612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24264
3626810e
VS
242652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24268 dprintf.
24269
a7363f53
BC
242702010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24271
24272 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24273
902f75f6
VS
242742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24275
24276 * grub-core/normal/term.c (print_more): Fix a memory leak.
24277 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24278 (grub_xputs_normal): Likewise.
24279
3c707967
VS
242802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24283 the begining of the string
24284
2053cc07
VS
242852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24286
24287 * grub-core/script/script.c (grub_script_parse): Free parsed on
24288 failure.
24289
46422ebf
VS
242902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24293 on failure.
24294
9e0fa3f6
VS
242952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24298 return.
24299
3393cf16
VS
243002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24301
24302 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24303 (scroll_up): Fix a memory leak.
24304
b17540cb
VS
243052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24308 errors.
24309
67140446
VS
243102010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24311
24312 Handle USB pendrives exposed as floppies.
24313
24314 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24315 floppy.
24316 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24317 Check for partitions on all devices.
24318
e35e46fc
VS
243192010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24320
24321 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24322 (readkey): Likewise.
24323
d24c6190
BC
243242010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24325
24326 Multiple variable names support to "export" command.
24327
24328 * normal/context.c (grub_cmd_export): "export" command supports
24329 multiple variable names.
24330
04ddcc6a
ST
243312010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24332
24333 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24334 --target=drive output to Mach device name.
24335
0c8b61d8
BC
243362010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24337
24338 New Automake based build system for GRUB.
24339
24340 * ABOUT-NLS: New file.
24341 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24342 in Makefile.util.def file.
24343 * Makefile.util.def: New file. Autogen build definitions file for
24344 GRUB host utils.
24345 * conf/Makefile.common: New file. Common variables for GRUB host
24346 utils and target modules.
24347 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24348 * docs/Makefile.am: New file. Automake file for docs.
24349 * gentpl.py: New file. Python script to generate Autogen
24350 template.
24351 * grub-core/Makefile.am: New file. GRUB target modules' rules
24352 that doesn't fit in Makefile.core.def file.
24353 * grub-core/Makefile.core.def: New file. Autogen build
24354 definitions file for GRUB target modules.
24355 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24356 specific setjmp.S file.
24357 * po/Makefile.am: New file.
24358
24359 * .bzrignore: New ignores.
24360 * INSTALL: New requirements, without Ruby.
24361 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24362 * autogen.sh: Updated to invoke autogen as necessary.
24363 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24364 and defines for Automake conditionals.
24365 * geninit.sh: Refactoring.
24366
24367 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24368 necessary.
24369 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24370 New prototype.
24371
24372 * include/grub/test.h: Fix functional test modules' naming.
24373 * grub-core/tests/example_functional_test.c: Fix test module name.
24374
24375 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24376 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24377 * util/grub-editenv.c: Likewise.
24378 * util/grub-fstest.c: Likewise.
24379 * util/grub-mkdevicemap.c: Likewise.
24380 * util/grub-mkfont.c: Likewise.
24381 * util/grub-mkimage.c: Likewise.
24382 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24383 * util/grub-probe.c: Likewise.
24384 * util/grub-script-check.c: Likewise.
24385 * util/i386/pc/grub-setup.c: Likewise.
24386 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24387
24388 * tests/util/grub-shell.in: Fix override directory path.
24389 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24390 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24391
24392 * util/lvm.c: Update #includes.
24393 * util/raid.c: Likewise.
24394 * util/resolve.c: Likewise.
24395 * grub-core/bus/emu/pci.c: Likewise.
24396 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24397 * grub-core/lib/posix_wrap/string.h: Likewise.
24398 * grub-core/kern/emu/main.c: Likewise.
24399
24400 * grub-core/gensymlist.sh: New file. Script for generating kernel
24401 symbols file.
24402 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24403
24404 * grub-core/gentrigtables.c: Fix unused variable warnings.
24405
24406 * Makefile.in: Removed.
24407 * conf/any-emu.rmk: Removed.
24408 * conf/common.rmk: Removed.
24409 * conf/i386-coreboot.rmk: Removed.
24410 * conf/i386-efi.rmk: Removed.
24411 * conf/i386-ieee1275.rmk: Removed.
24412 * conf/i386-multiboot.rmk: Removed.
24413 * conf/i386-pc.rmk: Removed.
24414 * conf/i386-qemu.rmk: Removed.
24415 * conf/i386.rmk: Removed.
24416 * conf/mips-yeeloong.rmk: Removed.
24417 * conf/mips.rmk: Removed.
24418 * conf/powerpc-ieee1275.rmk: Removed.
24419 * conf/sparc64-ieee1275.rmk: Removed.
24420 * conf/tests.rmk: Removed.
24421 * conf/x86-efi.rmk: Removed.
24422 * conf/x86_64-efi.rmk: Removed.
24423 * gendistlist.sh: Removed.
24424 * geninitheader.sh: Removed.
24425 * genkernsyms.sh.in: Removed.
24426 * genmk.rb: Removed.
24427 * gensymlist.sh.in: Removed.
24428 * mkinstalldirs: Removed.
24429 * boot: Moved ...
24430 * grub-core/boot: ... to here.
24431 * bus: Moved ...
24432 * grub-core/bus: ... to here.
24433 * commands: Moved ...
24434 * grub-core/commands: ... to here.
24435 * disk: Moved ...
24436 * grub-core/disk: ... to here.
24437 * efiemu: Moved ...
24438 * grub-core/efiemu: ... to here.
24439 * font: Moved ...
24440 * grub-core/font: ... to here.
24441 * fs: Moved ...
24442 * grub-core/fs: ... to here.
24443 * gencmdlist.sh: Moved ...
24444 * grub-core/gencmdlist.sh: ... to here.
24445 * genemuinit.sh: Moved ...
24446 * grub-core/genemuinit.sh: ... to here.
24447 * genemuinitheader.sh: Moved ...
24448 * grub-core/genemuinitheader.sh: ... to here.
24449 * genfslist.sh: Moved ...
24450 * grub-core/genfslist.sh: ... to here.
24451 * genhandlerlist.sh: Moved ...
24452 * grub-core/genhandlerlist.sh: ... to here.
24453 * genmoddep.awk: Moved ...
24454 * grub-core/genmoddep.awk: ... to here.
24455 * genmodsrc.sh: Moved ...
24456 * grub-core/genmodsrc.sh: ... to here.
24457 * genpartmaplist.sh: Moved ...
24458 * grub-core/genpartmaplist.sh: ... to here.
24459 * genparttoollist.sh: Moved ...
24460 * grub-core/genparttoollist.sh: ... to here.
24461 * genterminallist.sh: Moved ...
24462 * grub-core/genterminallist.sh: ... to here.
24463 * gentrigtables.c: Moved ...
24464 * grub-core/gentrigtables.c: ... to here.
24465 * genvideolist.sh: Moved ...
24466 * grub-core/genvideolist.sh: ... to here.
24467 * gettext: Moved ...
24468 * grub-core/gettext: ... to here.
24469 * gfxmenu: Moved ...
24470 * grub-core/gfxmenu: ... to here.
24471 * gnulib: Moved ...
24472 * grub-core/gnulib: ... to here.
24473 * hello: Moved ...
24474 * grub-core/hello: ... to here.
24475 * hook: Moved ...
24476 * grub-core/hook: ... to here.
24477 * io: Moved ...
24478 * grub-core/io: ... to here.
24479 * kern: Moved ...
24480 * grub-core/kern: ... to here.
24481 * lib: Moved ...
24482 * grub-core/lib: ... to here.
24483 * loader: Moved ...
24484 * grub-core/loader: ... to here.
24485 * mmap: Moved ...
24486 * grub-core/mmap: ... to here.
24487 * normal: Moved ...
24488 * grub-core/normal: ... to here.
24489 * partmap: Moved ...
24490 * grub-core/partmap: ... to here.
24491 * parttool: Moved ...
24492 * grub-core/parttool: ... to here.
24493 * script: Moved ...
24494 * grub-core/script: ... to here.
24495 * term: Moved ...
24496 * grub-core/term: ... to here
24497 * tests/example_functional_test.c: Moved ...
24498 * grub-core/tests/example_functional_test.c: ... to here.
24499 * tests/lib/functional_test.c: Moved ...
24500 * grub-core/tests/lib/functional_test.c: ... to here.
24501 * tests/lib/test.c: Moved ...
24502 * grub-core/tests/lib/test.c: ... to here.
24503 * video: Moved ...
24504 * grub-core/video: ... to here.
24505
645586e6
BC
245062010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24507
24508 Replace --enable-grub-emu-modules with grub-emu-lite.
24509
24510 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24511 cache.S.
24512
24513 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24514 * kern/emu/full.c: New file. For grub-emu specific initialization.
24515 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24516 * kern/emu/main.c: Call initialization function grub_emu_init.
24517
24518 * Makefile.in: Include grub-emu-lite in install.
24519 * commands/parttool.c: Use grub_no_autoload to differentiate
24520 between grub-emu and grub-emu-lite.
24521 * include/grub/misc.h: New variable grub_no_autoload.
24522
24523 * conf/any-emu.rmk: New rules for grub-emu-lite.
24524 * configure.ac: Remove --enable-grub-emu-modules.
24525 * genmk.rb: Cleanup unnecessary rules.
24526 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24527
24528 * normal/main.c: Don't load list files on grub-emu-lite.
24529 * util/misc.c (grub_arch_sync_caches): Removed.
24530
f86a4030
CW
245312010-08-23 Colin Watson <cjwatson@ubuntu.com>
24532
24533 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24534 grub-mkimage rather than grub-mkelfimage.
24535 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24536
06776944
VS
245372010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24538
24539 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24540 a key after CapsLock or NumLock. It's just a qemu bug.
24541
df262419
VS
245422010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24545 needed by libusb wrapper.
24546
b40ea81b
ST
245472010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24548
24549 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24550
dee50575
VS
245512010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24554 --nounzip is passed.
24555
fb1d7b79
VS
245562010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 USB hotunplugging and USB serial support.
24559
24560 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24561 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24562 (grub_uhci_transfer): Respect timeout and set *actual.
24563 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24564 non-standard length.
24565 (grub_usb_device_attach): Autoload modules.
24566 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24567 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24568 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24569 users updated.
24570 (grub_usb_add_hub): Fill nports and children.
24571 (attach_root_port): Receive hub instead of controller.
24572 All users updated. Fill hub->devices.
24573 (grub_usb_root_hub): Allocate hub->devices.
24574 (detach_device): New function.
24575 (poll_nonroot_hub): Fill children and detach devices.
24576 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24577 actual arguments. All users updated.
24578 (grub_usb_bulk_read_extended): New function.
24579 * bus/usb/serial/common.c: New file.
24580 * bus/usb/serial/ftdi.c: Likewise.
24581 * bus/usb/serial/pl2303.c: Likewise.
24582 * commands/terminal.c (handle_command): Support wildcard.
24583 * commands/usbtest.c: Output "Unknown" instead of empty string.
24584 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24585 (usbserial_common_mod_SOURCES): New variable.
24586 (usbserial_common_mod_CFLAGS): Likewise.
24587 (usbserial_common_mod_LDFLAGS): Likewise.
24588 (pkglib_MODULES): Add usbserial_pl2303.mod.
24589 (usbserial_pl2303_mod_SOURCES): New variable.
24590 (usbserial_pl2303_mod_CFLAGS): Likewise.
24591 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24592 (pkglib_MODULES): Add usbserial_ftdi.mod.
24593 (usbserial_ftdi_mod_SOURCES): New variable.
24594 (usbserial_ftdi_mod_CFLAGS): Likewise.
24595 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24596 (pkglib_MODULES): Add serial.mod.
24597 (serial_mod_SOURCES): New variable.
24598 (serial_mod_CFLAGS): Likewise.
24599 (serial_mod_LDFLAGS): Likewise.
24600 * conf/i386-pc.rmk: Likewise.
24601 * conf/mips-yeeloong.rmk: Likewise.
24602 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24603 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24604 * disk/usbms.c (first_available_slot): New variable.
24605 (grub_usbms_attach): Don't reuse free slots due to potential cache
24606 problems.
24607 * include/grub/serial.h: Moved to ..
24608 * include/grub/ns8250.h: ...this.
24609 * include/grub/serial.h: New file.
24610 * include/grub/term.h (grub_term_poll_usb): New variable.
24611 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24612 readkey. All users updated.
24613 (grub_terminfo_output_state): Pass term to put.
24614 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24615 (grub_usb_controller_dev): Add timeout and actual arguments to
24616 transfer. All users updated.
24617 (grub_usb_interface): New field detach_data.
24618 (grub_usb_device): New fields children and nports.
24619 (grub_usb_ep_type_t): New type.
24620 (grub_usb_get_ep_type): New function.
24621 (grub_usb_bulk_read_extended): Likewise.
24622 * include/grub/usbdesc.h (grub_usb_desc): New type.
24623 * include/grub/usbserial.h: New file.
24624 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24625 * kern/term.c (grub_term_poll_usb): New variable.
24626 (grub_getkey): Call grub_term_poll_usb if set.
24627 (grub_checkkey): Likewise.
24628 (grub_getkeystatus): Likewise.
24629 * term/serial.c: Moved controller-specific parts to ...
24630 * term/ns8250.c: ... here.
24631 * term/serial.c: Mostly rewritten.
24632 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24633 according to spec.
24634
21a313de
RM
246352010-08-20 Robert Millan <rmh@gnu.org>
24636
24637 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24638 a separate module and maybe other interesting combinations.
24639
24640 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24641 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24642 (kfreebsd_entry): Add generic filesystem module load routine.
24643 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24644
63c734a6
CW
246452010-08-20 Colin Watson <cjwatson@ubuntu.com>
24646
24647 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24648 "numcenter" (I misunderstood the purpose of this entry).
24649 * docs/grub.texi (sendkey): Likewise.
24650
c4d16542
CW
246512010-08-20 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24654 status flag options; simply omitting the option is equivalent and
24655 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24656 (keysym_table): Rename "num5numlock" to "numlock".
24657 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24658 can uniformly say that only the last of multiple `sendkey'
24659 invocations has any effect.
24660 * docs/grub.texi (sendkey): New section.
24661
93541d66
CW
246622010-08-19 Colin Watson <cjwatson@ubuntu.com>
24663
24664 * commands/i386/pc/sendkey.c (options): Fix three typos.
24665
b4ece5e1
VS
246662010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 Implement sendkey support.
24669
24670 * commands/i386/pc/sendkey.c: New file.
24671 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24672 (sendkey_mod_SOURCES): New variable.
24673 (sendkey_mod_CFLAGS): Likewise.
24674 (sendkey_mod_LDFLAGS): Likewise.
24675
51f1f5af
CW
246762010-08-18 Colin Watson <cjwatson@ubuntu.com>
24677
24678 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24679 fix warnings from Autoconf.
24680
9da94e05
CW
246812010-08-18 Colin Watson <cjwatson@ubuntu.com>
24682
24683 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24684 to avoid false positives with some assemblers that output things
24685 like "someprefix_func" as part of their output.
24686
729a0f2e
RM
246872010-08-15 Robert Millan <rmh@gnu.org>
24688
24689 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24690 errors.
24691 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24692 grub_get_libzfs_handle() errors.
24693
f3710e08
RM
246942010-08-14 Robert Millan <rmh@gnu.org>
24695
24696 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24697 filesystem is not ZFS.
24698
7a3c13de
BC
246992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24700
24701 Fix for misspelled color names defaulting to black/black (bug
24702 reported by Doug Nazar)
24703
24704 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24705 status to prototype.
24706 * normal/color.c (grub_parse_color_name_pair): Return failure
24707 status.
24708 (grub_env_write_color_normal): Ignore bad color names.
24709 (grub_env_write_color_highlight): Likewise.
24710 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24711
ab8ba50d
BC
247122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24713
24714 "shift" command support to GRUB script.
24715
24716 * include/grub/script_sh.h (grub_script_shift): New prototype.
24717 * script/execute.c (grub_script_shift): New function.
24718 * script/main.c (grub_script_init): Register shift command.
24719 (grub_script_fini): Unregister shift command.
24720 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24721
24722 * tests/grub_script_shift.in: New testcase.
24723 * conf/tests.rmk: Rules for new testcase.
24724
4d61999e
BC
247252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24726
24727 "continue" command support to GRUB script.
24728
24729 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24730 (grub_script_break): Continue support.
24731 * script/main.c (grub_script_init): Register continue command.
24732 (grub_script_fini): Unregister continue command.
24733
24734 * tests/grub_script_continue.in: New testcase.
24735 * conf/tests.rmk: Rules for new testcase.
24736
4df51e00
BC
247372010-08-12 BVK Chaitanya <bvk@dbook>
24738
24739 "break" command support to GRUB script.
24740
24741 * conf/common.rmk: Rule updates to grub-script-check.
24742 * include/grub/misc.h (grub_min): New function.
24743 * include/grub/script_sh.h (grub_script_init): New prototype.
24744 (grub_script_fini): New prototype.
24745 (grub_script_break): New prototype.
24746 * script/main.c (grub_script_init): New function.
24747 (grub_script_fini): New function.
24748 * script/execute.c (grub_script_break): New function.
24749 * normal/main.c: Calls to grub_script_{init,fini}.
24750 * util/grub-script-check.c (grub_script_break): New function.
24751
24752 * tests/grub_script_break.in: New testcase.
24753 * conf/tests.rmk: Rules for new test case.
24754
f12c8420
BC
247552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24756
24757 Function parameters support to GRUB script.
24758
24759 * script/yylex.l (VARIABLE): Regular expression update.
24760 * script/function.c (grub_script_function_call): Moved ...
24761 * script/execute.c (grub_script_function_call): ... to here.
24762 (grub_script_execute_arglist_to_argv): Removed.
24763 (grub_script_arglist_to_argv): New function.
24764 * script/argv.c: New file.
24765 (grub_script_argv_free): New function.
24766 (grub_script_argv_next): Likewise.
24767 (grub_script_argv_append): Likewise.
24768 (grub_script_argv_split_append): Likewise.
24769 * include/grub/script_sh.h (grub_script_argv): New struct.
24770 (grub_script_argv_free): New function.
24771 (grub_script_argv_next): Likewise.
24772 (grub_script_argv_append): Likewise.
24773 (grub_script_argv_split_append): Likewise.
24774
24775 * conf/common.rmk (normal.mod): New source script/argv.c.
24776
24777 * tests/grub_script_echo1.in: More tests.
24778 * tests/grub_script_vars1.in: Likewise.
24779 * tests/grub_script_functions.in: New test case.
24780 * conf/tests.rmk: Rules for new testcase.
24781
8022b748
BC
247822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24783
24784 Remove grub_script_cmdblock struct.
24785
24786 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24787 * script/parser.y: Likewise.
24788 * script/execute.c: Rename cmdblock suffix to cmdlist.
24789 * script/script.c: Likewise.
24790 * util/grub-script-check.c: Likewise.
24791
79a6ba61
YB
247922010-08-11 Yves Blusseau <blusseau@zetam.org>
24793
24794 * .bzrignore: add grub-macho2img
24795
d04b9414
VS
247962010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24797
24798 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24799
f947ab49
VS
248002010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24801
24802 Remove the dump of sm712 initialisation sequence.
24803
24804 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24805 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24806 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24807 (GRUB_VGA_CR_*): Added many registers.
24808 (GRUB_VGA_SR_*): Likewise.
24809 (GRUB_VGA_GR_*): Likewise.
24810 (grub_vga_write_arx): New function.
24811 (grub_video_hw_config): New struct.
24812 (grub_vga_set_geometry): New function.
24813 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24814 GRUB_PCI_CLASS_SUBCLASS_VGA.
24815 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24816 * video/sm712.c (grub_sm712_write_reg): New function
24817 (grub_sm712_read_reg): Likewise.
24818 (grub_sm712_sr_write): Likewise.
24819 (grub_sm712_gr_write): Likewise.
24820 (grub_sm712_cr_write): Likewise.
24821 (grub_sm712_write_arx): Likewise.
24822 (grub_sm712_cr_shadow_write): Likewise.
24823 (grub_sm712_write_dda_lookup): Likewise.
24824 (grub_video_sm712_setup): Initialise the video rather then
24825 blindly replay the dump.
24826 (main) [TEST]: Add a routine to be able to compile as standalone for
24827 tests.
24828 * video/sm712_init.c (sm712_init): Removed.
24829 (sm712_sr_seq1): New array.
24830 (sm712_sr_seq2): Likewise.
24831
f0206638
VS
248322010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24833
24834 * include/grub/vga.h: Add missing grub/pci.h include.
24835
2764da3b
YB
248362010-08-10 Yves Blusseau <blusseau@zetam.org>
24837
24838 * util/grub-macho2img.c (main): fix typo
24839
cf0c775e
VS
248402010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24843 (grub_vga_gr_read): Likewise.
24844 (grub_vga_cr_write): Likewise.
24845 (grub_vga_cr_read): Likewise.
24846 (grub_vga_sr_write): Likewise.
24847 (grub_vga_sr_read): Likewise.
24848 (grub_vga_palette_read): Likewise.
24849 (grub_vga_palette_write): Likewise.
24850 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24851 (grub_sm712_sr_read): New function.
24852 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24853 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24854
07f360e9
RM
248552010-08-09 Robert Millan <rmh@gnu.org>
24856
24857 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24858 out unused variables on non-ZFS build.
24859
346c2072
RM
248602010-08-08 Robert Millan <rmh@gnu.org>
24861
24862 Fix path generation for sub-filesystems in ZFS.
24863
24864 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24865 missing slash.
24866
71175420
RM
248672010-08-08 Robert Millan <rmh@gnu.org>
24868
24869 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24870
0d8286f3
RM
248712010-08-08 Robert Millan <rmh@gnu.org>
24872
24873 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24874 exist, issue a proper error message (rely on `ls' for translated
24875 strings).
24876
55dd2924
RM
248772010-08-08 Robert Millan <rmh@gnu.org>
24878
24879 Fix grub-probe invocation.
24880
24881 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24882
d3dd9e80
RM
248832010-08-04 Robert Millan <rmh@gnu.org>
24884
24885 * configure.ac: Remove checks for getfsstat() and getmntany().
24886 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24887 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24888 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24889 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24890 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24891 function.
24892 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24893 via find_mount_point_from_dir() and getfsstat() / getmntany().
24894
0de22aa9
RM
248952010-08-04 Robert Millan <rmh@gnu.org>
24896
24897 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24898 (grub_find_zpool_from_mount_point): Merge into ...
24899 (grub_find_zpool_from_dir): ... this.
24900 * kern/emu/misc.c: Likewise.
24901
24902 * kern/emu/misc.c
24903 (grub_make_system_path_relative_to_its_root): Replace
24904 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24905 with grub_find_zpool_from_dir().
24906 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24907
62858144
RM
249082010-08-04 Robert Millan <rmh@gnu.org>
24909
24910 Support OpenSolaris in ZFS device resolution.
24911
24912 * configure.ac: Check for getmntany().
24913 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24914 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24915 support.
24916
9dd6fd50
RM
249172010-08-03 Robert Millan <rmh@gnu.org>
24918
24919 Fix grub-emu build.
24920
24921 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24922 * include/grub/emu/misc.h: ... here.
24923
24924 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24925 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24926
24927 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24928 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24929 (grub_get_libzfs_handle): Move to ...
24930 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24931 (grub_get_libzfs_handle): ... here.
24932
c9f7ff97
BC
249332010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24934
24935 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24936 as command name case.
24937
a870a783
CW
249382010-08-02 Colin Watson <cjwatson@ubuntu.com>
24939
24940 * disk/raid.c (insert_array): Select unique numbers for named arrays
24941 as well, for use as keys in the disk cache.
24942
c7db243b
RM
249432010-08-01 Robert Millan <rmh@gnu.org>
24944
24945 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24946 kFreeBSD device name, except on ZFS where the filesystem label is
24947 used.
24948 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24949 `/boot/zfs/zpool.cache'.
24950 Set mountfrom kernel variable using ${kfreebsd_device}.
24951
f7abdefb
RM
249522010-08-01 Robert Millan <rmh@gnu.org>
24953
24954 Make it even harder to use uninitialized `libzfs_handle' (and
24955 make the interface a bit simpler).
24956
24957 * include/grub/util/misc.h (grub_util_init_libzfs)
24958 (libzfs_handle): Remove.
24959 (grub_get_libzfs_handle): New prototype.
24960
24961 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24962 attribute.
24963 (grub_util_init_libzfs): Remove.
24964 (grub_get_libzfs_handle): New function.
24965
24966 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24967 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24968 accessing `libzfs_handle' directly.
24969
c882acc0
RM
249702010-08-01 Robert Millan <rmh@gnu.org>
24971
24972 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24973 (grub_find_zpool_from_mount_point): New function prototypes.
24974
24975 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24976 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24977
24978 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24979 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24980 `static' attribute.
24981
24982 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24983 finding zpool from mount point into ...
24984 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24985
24986 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24987 requested path is part of a ZFS pool, use
24988 grub_find_zpool_from_mount_point() to detect its filesystem name,
24989 and generate a path with `/fsname@path' syntax.
24990
8bfe31d8
CW
249912010-08-01 Colin Watson <cjwatson@ubuntu.com>
24992
24993 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24994 (void) rather than () so that this is a proper prototype.
24995
553df63d
VS
249962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24997
24998 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24999
8687cf07
VS
250002010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25003 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25004
ea9be8ea
CW
250052010-08-01 Colin Watson <cjwatson@ubuntu.com>
25006
25007 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25008
6eea041a
CW
250092010-08-01 Colin Watson <cjwatson@ubuntu.com>
25010
25011 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25012
2cfb45df
CW
250132010-08-01 Colin Watson <cjwatson@ubuntu.com>
25014
25015 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25016 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25017 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25018 disable gfxpayload.
25019 (Shell-like scripting): Add real content.
25020 (Serial terminal): Suggest `terminal_input serial; terminal_output
25021 serial' rather than putting the two commands on separate lines,
25022 since console input will be inoperative after the first command.
25023 (menuentry): Document --class, --users, and --hotkey options.
25024 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25025 Vladimir Serbinenko).
25026
7decd202
VS
250272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
250282010-08-01 Colin Watson <cjwatson@ubuntu.com>
25029
25030 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25031
c882acc0
RM
250322010-08-01 Robert Millan <rmh@gnu.org>
25033
25034 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25035 (grub_find_zpool_from_mount_point): New function prototypes.
25036
25037 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25038 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25039
25040 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25041 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25042 `static' attribute.
25043
25044 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25045 finding zpool from mount point into ...
25046 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25047
25048 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25049 requested path is part of a ZFS pool, use
25050 grub_find_zpool_from_mount_point() to detect its filesystem name,
25051 and generate a path with `/fsname@path' syntax.
25052
deb0caa3
RM
250532010-08-01 Robert Millan <rmh@gnu.org>
25054
25055 Prevent accidental use of uninitialized libzfs_handle.
25056
25057 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25058 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25059 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25060
ce04ef47
CW
250612010-08-01 Colin Watson <cjwatson@ubuntu.com>
25062
25063 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25064 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25065
ebf53056
RM
250662010-08-01 Robert Millan <rmh@gnu.org>
25067
25068 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25069
3710bb6b
RM
250702010-07-31 Robert Millan <rmh@gnu.org>
25071
25072 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25073
8072efeb
RM
250742010-07-31 Robert Millan <rmh@gnu.org>
25075
25076 * kern/emu/misc.c: Add missing license header.
25077
3169f4c7
RM
250782010-07-31 Robert Millan <rmh@gnu.org>
25079
25080 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25081
25082 * include/grub/util/libnvpair.h: Include `<config.h>'.
25083 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25084 declaring libnvpair prototypes ourselves.
25085 * include/grub/util/libzfs.h: Include `<config.h>'.
25086 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25087 declaring libzfs prototypes ourselves.
25088
25089 (libzfs_handle): Moved to ...
25090 * include/grub/util/misc.h (libzfs_handle): ... here.
25091 Include `<grub/util/libzfs.h>'.
25092
c9a00aee
RM
250932010-07-30 Robert Millan <rmh@gnu.org>
25094
25095 * include/grub/emu/misc.h: Add missing license header.
25096
a184f9c8
RM
250972010-07-30 Robert Millan <rmh@gnu.org>
25098
25099 Enable `grub-probe -t device' resolution on ZFS.
25100
25101 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25102 * include/grub/util/libnvpair.h: New file.
25103 * include/grub/util/libzfs.h: New file.
25104
25105 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25106 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25107 `<grub/util/libnvpair.h>'.
25108 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25109
25110 (find_mount_point_from_dir): New static function.
25111 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25112 function.
25113 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25114 find_root_device_from_libzfs() before ressorting to find_root_device().
25115
25116 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25117 prototype.
25118 * util/misc.c: Include `<grub/util/libzfs.h>'.
25119 (grub_util_init_libzfs): New function.
25120 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25121 [HAVE_LIBZFS] (fini_libzfs): New static function.
25122 (grub_util_init_libzfs): New function.
25123 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25124
f7790cdd
RM
251252010-07-30 Robert Millan <rmh@gnu.org>
25126
25127 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25128 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25129 `warn_unused_result' attribute.
25130 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25131 (grub_xasprintf, grub_xvasprintf): Likewise.
25132 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25133
0806b63c
RM
251342010-07-29 Robert Millan <rmh@gnu.org>
25135
25136 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25137 (probe): Handle `PRINT_FS_LABEL'.
25138 (main): Handle `-t fs_label'.
25139
9f841f5c
RM
251402010-07-29 Robert Millan <rmh@gnu.org>
25141
25142 * configure.ac: Remove grub-mkisofs checks.
25143
46371121
VS
251442010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25147 Reported by: Lennart Sorensen.
25148
251492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25150
25151 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25152 prior to terminal_input/terminal_output separation. It's been over 1.5
25153 years and those versions weren't widely deployed.
25154
a9600892
CW
251552010-07-22 Colin Watson <cjwatson@ubuntu.com>
25156
25157 * disk/raid.c (insert_array): Don't count named arrays when looking
25158 for unused array numbers.
697e053c 25159 Reported and tested by: Michael Guntsche.
a9600892 25160
c03507df
CW
251612010-07-20 Colin Watson <cjwatson@ubuntu.com>
25162
25163 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25164 implementation of this so that grub-emu links again, with a note
25165 that this should support hotplugging in the future.
25166
b26f1c11
CW
251672010-07-20 Colin Watson <cjwatson@ubuntu.com>
25168
25169 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25170
efc9d7f1
CW
251712010-07-20 Colin Watson <cjwatson@ubuntu.com>
25172
25173 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25174 handle on failure.
25175 (grub_loopback_close): Remove empty function.
25176 (grub_loopback_dev): Remove close method.
25177
dd8ff5c9
CW
251782010-07-20 Colin Watson <cjwatson@ubuntu.com>
25179
25180 Disable EFI cursor when the EFI console becomes inactive.
25181
25182 * term/efi/console.c (grub_efi_console_init): New function.
25183 (grub_efi_console_fini): New function.
25184 (grub_console_term_output): Register init and fini methods.
25185
5e3bec67
VS
251862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25189 sh script.
25190
afaec079
VS
251912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25192
25193 * disk/loopback.c (grub_loopback): Replace filename with file.
25194 (delete_loopback): Handle new semantics.
25195 (grub_cmd_loopback): Likewise.
25196 (grub_loopback_iterate): Likewise.
25197 (grub_loopback_close): Likewise.
25198
a6a11f3c
VS
251992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25202 with -p "".
25203 Reported by: Tito Keitel.
25204
64a638b0
VS
252052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 * docs/grub.texi (Naming convention): Document new naming convention.
25208
ab8ba957
VS
252092010-07-20 Vadim Solomin <vadic052@gmail.com>
252102010-07-20 Colin Watson <cjwatson@ubuntu.com>
25211
25212 Generate device.map in something closer to the old ordering.
25213
25214 * util/deviceiter.c (struct device): New declaration.
25215 (compare_file_names): Rename to ...
25216 (compare_devices): ... this. Sort by kernel name in preference to
25217 the stable by-id name, but keep the latter as a fallback comparison.
25218 Update header comment.
25219 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25220 of `struct device' rather than of plain file names.
25221
a29d6a4b
TF
252222010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25223
25224 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25225 on i386.
25226
39d824e8
VS
252272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25230 hardcoding size.
25231 (setv1table): Likewise.
25232
f058276b
FZ
252332010-07-20 Colin Watson <cjwatson@ubuntu.com>
25234
25235 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25236 removing the homehost if present.
25237 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25238 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25239 removing the homehost if present.
25240 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25241 if possible.
25242 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25243
25244 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25245 parameter. Set its pointer target to 0.
25246 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25247 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25248 `data_offset' value from the superblock for 1.x metadata.
25249 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25250 data on the device.
25251 (insert_array): Record the start sector of data on the device.
25252 (grub_raid_register): Pass start_sector parameters to
25253 grub_raid_list->detect and insert_array.
25254 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25255 member.
25256 (struct grub_raid): Add start_sector parameter to `detect'.
25257
25258 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25259 __attribute__ ((packed)), leaving a comment.
25260 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25261 (grub_mdraid_detect_09): ... here and ...
25262 (grub_mdraid_detect_1x): ... here.
25263
252642010-07-20 Peter Henn <peter.henn@web.de>
25265
25266 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25267 chunk size and disk size, which are already given as sector counts
25268 as distinct from the 0.90 units. Fetch the correct device number
25269 from the role table instead of using the table index.
25270
252712010-07-20 Felix Zielcke <fzielcke@z-51.de>
25272
25273 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25274 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25275 (WriteMostly1): New macro.
25276 Set array->name to NULL for metadata format 0.90. Add support for
25277 metadata 1.x. Fix some comments.
25278 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25279 few comments.
25280 * util/getroot.c (grub_util_get_grub_dev): Add support for
25281 /dev/md/name style devices.
25282
4b761da9
CW
252832010-07-20 Colin Watson <cjwatson@ubuntu.com>
25284
25285 * .bzrignore: Ignore 20_linux_xen.
25286
5771289a
CW
252872010-07-17 Colin Watson <cjwatson@ubuntu.com>
25288
25289 * util/import_unicode.py: Remove unnecessary imports.
25290
5dab68df
AN
252912010-07-17 Aleš Nesrsta <starous@volny.cz>
25292
25293 Hotplugging and USB hub support.
25294
25295 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25296 (grub_ohci): Likewise.
25297 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25298 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25299 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25300 (GRUB_OHCI_CTRL_EDS): Likewise.
25301 (GRUB_OHCI_BULK_EDS): Likewise.
25302 (GRUB_OHCI_TDS): Likewise.
25303 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25304 (grub_ohci_ed_phys2virt): New function.
25305 (grub_ohci_virt_to_phys): Likewise.
25306 (grub_ohci_td_phys2virt): Likewise.
25307 (grub_ohci_td_virt2phys): Likewise.
25308 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25309 attachment.
25310 (grub_ohci_find_ed): New function.
25311 (grub_ohci_alloc_td): Likewise.
25312 (grub_ohci_free_td): Likewise.
25313 (grub_ohci_free_tds): Likewise.
25314 (grub_ohci_transfer): Use previously allocated memory.
25315 (grub_ohci_portstatus): Reset status changed bit.
25316 (grub_ohci_detect_dev): Supply status changed.
25317 (grub_ohci_fini_hw): Free memory.
25318 (grub_ohci_restore_hw): Reallocate memory.
25319 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25320 Reset status change.
25321 (grub_uhci_detect_dev): Supply status_change.
25322 * bus/usb/usb.c (attach_hooks): New var.
25323 (grub_usb_device_attach): New function.
25324 (grub_usb_register_attach_hook_class): Likewise.
25325 (grub_usb_unregister_attach_hook_class): Likewise.
25326 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25327 (grub_usb_add_hub): Reset connection changed bit.
25328 (attach_root_port): New function.
25329 (grub_usb_root_hub): Likewise.
25330 (poll_nonroot_hub): Likewise.
25331 (grub_usb_poll_devices): Likewise.
25332 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25333 * disk/usbms.c (grub_usbms_open): Use device hooks.
25334 (grub_usbms_iterate) :Poll devices.
25335 (grub_usbms_finddevs): Split into ...
25336 (grub_usbms_attach): ... this ...
25337 (grub_usbms_attach): ... and this.
25338 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25339 in detect_dev.
25340 (grub_usb_interface): New fields attached and detach_hook.
25341 (grub_usb_attach_hook_class): New type.
25342 (grub_usb_attach_desc): New struct.
25343 (grub_usb_register_attach_hook_class): New function.
25344 (grub_usb_unregister_attach_hook_class): Likewise.
25345 (grub_usb_poll_devices): Likewise.
25346 (grub_usb_device_attach): Likewise.
25347 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25348 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25349
3222efaf
VS
253502010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25351
25352 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25353 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25354 delta determination style. Works with most NetBSD partitions too.
25355
139b714a
VS
253562010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25359 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25360
986aad56
VS
253612010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25364
99be513c
AB
253652010-07-14 Anton Blanchard <anton@samba.org>
25366
25367 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25368 ET_DYN files.
25369
18075f62
GS
253702010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25371
25372 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25373
8d9a5b15
GS
253742010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25375
25376 * kern/partition.c (grub_partition_check_containment): New function to
25377 check that a partition is physically contained in a parent. Since
25378 offsets are relative (and non-negative), this reduces to checking that
25379 the partition ends before its parent.
25380 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25381 (grub_partition_iterate): Likewise.
25382 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25383 comments.
25384 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25385 partitions that start before their parent, and add debug printfs.
25386
19563c25
CW
253872010-07-13 Colin Watson <cjwatson@ubuntu.com>
25388
25389 * Makefile.in (.SUFFIX): Spell correctly, as ...
25390 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25391 bare module name without `.mod', e.g. `test') tried to invoke a
25392 Modula-2 compiler.
25393
1a1f1e67
CW
253942010-07-13 Colin Watson <cjwatson@ubuntu.com>
25395
25396 * README: Point to the Info manual.
25397
811b0dca
JS
253982010-07-13 Jiro SEKIBA <jir@unicus.jp>
25399
25400 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25401 2nd superblock position from partition size.
25402
e4f4eafc
CW
254032010-07-10 Colin Watson <cjwatson@ubuntu.com>
25404
25405 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25406 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25407 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25408 outputs.
25409
4274c30f
VS
254102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 Restructure SCSI .id handling.
25413 Reported and tested by: Aleš Nesrsta.
25414
25415 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25416 (grub_atapi_dev): Changed .name to "ata". New field .id.
25417 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25418 (grub_usbms_dev): New field .id.
25419 * disk/scsi.c (grub_scsi_iterate): Generate name.
25420 (grub_scsi_open): Parse name.
25421 * include/grub/scsi.h (grub_make_scsi_id): New function.
25422 (grub_scsi_dev): Change iterate and open to number instead of naming
25423 busses. All users updated.
25424 (grub_scsi): Remove name. Add .bus.
25425
5bc24388
VS
254262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25427
25428 * commands/help.c (grub_cmd_help): Fix a typo.
25429
249975ba
VS
254302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25433 Reported and tested by: Colin Watson.
25434
3eaac1a1
VS
254352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25438 in this context.
25439
becce1b1
VS
254402010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25441
25442 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25443
f7bf0918
CW
254442010-07-07 Colin Watson <cjwatson@ubuntu.com>
25445
25446 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25447 indentation.
25448
0b0f9620
CW
254492010-07-06 Colin Watson <cjwatson@ubuntu.com>
25450
25451 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25452 and disk/raid6_recover.c.
25453 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25454 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25455
1e545469
CW
254562010-07-06 Colin Watson <cjwatson@ubuntu.com>
25457
25458 * term/gfxterm.c (repaint_schedulded): Rename to ...
25459 (repaint_scheduled): ... this. Update all callers.
25460 (repaint_was_schedulded): Rename to ...
25461 (repaint_was_scheduled): ... this. Update all callers.
25462
5357687a
CW
254632010-07-06 Colin Watson <cjwatson@ubuntu.com>
25464
25465 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25466 which we expect to be handled by upper layers.
25467
29d7e783
BC
254682010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25469
25470 * bus/usb/usbhub.c: #include time.h header.
25471
37582066
CW
254722010-07-06 Colin Watson <cjwatson@ubuntu.com>
25473
25474 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25475 entry_name also for entries without stat blocks (e.g. ".."); fixes
25476 corruption of the first entry in a directory.
25477
c8c06953
CW
254782010-07-06 Colin Watson <cjwatson@ubuntu.com>
25479
25480 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25481 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25482 doesn't work otherwise.
25483
e75056f1
CW
254842010-07-05 Colin Watson <cjwatson@ubuntu.com>
25485
25486 * docs/grub.texi (Features): Update list of supported file systems.
25487 (GNU/Linux): Update for GRUB 2.
25488 (Serial terminal): Remove mention of --disable-serial, which was a
25489 GRUB Legacy configure option. Update instructions to use
25490 `terminal_input' and `terminal_output' rather than `terminal'.
25491 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25492 configuration' and `Installing GRUB using grub-install'.
25493 (Menu entry editor): Update for GRUB 2.
25494 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25495 Document new -a, -u, and -v options.
25496 (initrd): New section.
25497 (initrd16): New section.
25498 (linux): New section.
25499 (linux16): New section.
25500 (search): The `var' argument to `--set' is optional.
25501 (GRUB only offers a rescue shell): Go into a little more detail on
25502 drive ordering.
25503
5cf69151
CW
255042010-07-05 Colin Watson <cjwatson@ubuntu.com>
25505
25506 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25507
e3f90044
CW
255082010-07-05 Colin Watson <cjwatson@ubuntu.com>
25509
25510 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25511 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25512
38d8f4f3
CW
255132010-07-05 Colin Watson <cjwatson@ubuntu.com>
25514
25515 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25516 install_prefix, in line with install_dos_part and install_bsd_part.
25517 Add new prefix variable, which is copied to install_prefix after
25518 comparing core.img in memory with the one read from disk in the
25519 no-embedding case, and use that rather than overwriting
25520 install_prefix immediately when installing to a partition.
25521 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25522 Bicakci.
25523
57ebd41e
GS
255242010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25525
25526 * configure.ac: Avoid == in test command, it's not portable.
25527 * util/grub.d/30_os-prober.in: Likewise.
25528
cb7f64b2
CW
255292010-07-04 Colin Watson <cjwatson@ubuntu.com>
25530
25531 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25532
6b654bb0
GS
255332010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25534
25535 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25536 multiple (top-level) partmaps.
25537
72a2026d
VS
255382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25539
25540 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25541 Reported by: Tino Keitel.
72a2026d 25542
df3eb88f
VS
255432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25544
25545 Bidi and diacritics support.
25546
25547 * Makefile.in (widthspec.bin): New target.
25548 (widthspec.h): Likewise.
25549 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25550 * autogen.sh: Generate unidata.c.
25551 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25552 * commands/ls.c (grub_ls_list_devices): Likewise.
25553 (grub_ls_list_files): Likewise.
25554 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25555 (grub_mini_cmd_lsmod): Likewise.
25556 * commands/read.c: Likewise.
25557 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25558 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25559 * lib/arg.c (grub_arg_show_help): Likewise.
25560 * lib/crypto.c (grub_password_get): Likewise.
25561 * normal/auth.c (grub_username_get): Likewise.
25562 * normal/misc.c (grub_normal_print_device_info): Likewise.
25563 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25564 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25565 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25566 (normal/charset.c_DEPENDENCIES): New variable.
25567 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25568 (pkglib_MODULES): Remove charset.mod.
25569 (charset_mod_SOURCES): Removed.
25570 (charset_mod_CFLAGS): Likewise.
25571 (charset_mod_LDFLAGS): Likewise.
25572 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25573 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25574 and term/tparm.c.
25575 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25576 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25577 (kernel_img_HEADERS): Add terminfo.h.
25578 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25579 Fill ->font. Reverse ascii bitmaps.
25580 (grub_font_get_xheight): New function.
25581 * font/font.c (grub_font_get_string_width): Moved from here ...
25582 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25583 * font/font.c (grub_font_draw_string): Moved from here ...
25584 * gfxmenu/font.c (grub_font_draw_string): ... here.
25585 * font/font.c (grub_font_dup_glyph): New function.
25586 (grub_font_blit_glyph): Likewise.
25587 (grub_font_blit_glyph_mirror): Likewise.
25588 (blit_comb): Likewise.
25589 (grub_font_construct_dry_run): Likewise.
25590 (grub_font_get_constructed_device_width): Likewise.
25591 (grub_font_construct_glyph): Likewise.
25592 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25593 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25594 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25595 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25596 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25597 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25598 (grub_font_get_xheight): New proto.
25599 (grub_font_get_constructed_device_width): Likewise.
25600 (grub_font_construct_glyph): Likewise.
25601 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25602 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25603 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25604 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25605 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25606 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25607 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25608 (grub_console_getcharwidth): Likewise.
25609 * include/grub/misc.h (grub_xputs): New proto.
25610 (grub_puts): Inlined.
25611 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25612 (grub_normal_get_line_counter): Removed.
25613 (grub_install_newline_hook): Likewise.
25614 (grub_normal_get_char_counter): New proto.
25615 (grub_normal_reset_more): Likewise.
25616 (grub_xputs_normal): Likewise.
25617 * include/grub/powerpc/ieee1275/console.h: Removed.
25618 * include/grub/sparc64/ieee1275/console.h: Likewise.
25619 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25620 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25621 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25622 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25623 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25624 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25625 (grub_term_input): Pass reference to self. All users updated.
25626 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25627 Pass reference to self. New fields normal_color, highlight_color and
25628 data. All users updated.
25629 (grub_putchar): Removed.
25630 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25631 (grub_unicode_estimate_width): New function.
25632 (grub_term_getcharwidth): Add defaults.
25633 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25634 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25635 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25636 (grub_cls): Remove EXPORT_FUNC.
25637 (grub_setcolorstate): Inline.
25638 (grub_newline_hook): Removed.
25639 * include/grub/terminfo.h: Rewritten. All users updated.
25640 * include/grub/unicode.h: New file.
25641 * include/grub/video.h (grub_video_signed_rect): New type.
25642 * kern/emu/console.c (grub_console_highlight_color): Removed.
25643 (grub_console_normal_color): Likewise.
25644 (grub_console_standard_color): Made static.
25645 (grub_ncurses_putchar): Remove mapping.
25646 (grub_ncurses_getcharwidth): Removed.
25647 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25648 (grub_ncurses_setcolor): Removed.
25649 (grub_ncurses_getcolor): Likewise.
25650 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25651 (grub_console_putchar): ... this.
25652 (grub_console_putchar): Handle argument difference.
25653 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25654 console_init_early and console_init_lately.
25655 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25656 * kern/misc.c (grub_puts): Removed.
25657 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25658 (grub_vsnprintf_real): Remove str = NULL support.
25659 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25660 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25661 * kern/term.c (grub_putcode): Renamed to ...
25662 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25663 (grub_putchar): Removed.
25664 (grub_xputs_dumb): New function.
25665 (grub_xputs): New variable.
25666 * lib/charset.c: Move from here ...
25667 * normal/charset.c: ... to here.
25668 (grub_ucs4_to_utf8): New function.
25669 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25670 (join_types): New variable.
25671 (unpack_join): New function.
25672 (bidi_types): New variable.
25673 (unpack_bidi): New function.
25674 (get_bidi_type): Likewise.
25675 (get_join_type): Likewise.
25676 (is_mirrored): Likewise.
25677 (grub_unicode_get_comb_type): Likewise.
25678 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25679 (is_type_after): Likewise.
25680 (grub_unicode_aglomerate_comb): Likewise.
25681 (bidi_line_wrap): Likewise.
25682 (grub_bidi_line_logical_to_visual): Likewise.
25683 (grub_bidi_logical_to_visual): Likewise.
25684 (grub_unicode_mirror_code): Likewise.
25685 (grub_unicode_shape_code): Likewise.
25686 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25687 Don't use grub_putchar.
25688 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25689 (grub_normal_reader_init): Likewise.
25690 (grub_xputs_saved): New variable.
25691 (GRUB_MOD_INIT): Set grub_xputs.
25692 (GRUB_MOD_FINI): Restore grub_xputs.
25693 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25694 (menu_init): Avoid printing gfxmenu error.
25695 (show_menu): Use grub_normal_get_char_counter.
25696 * normal/menu_entry.c (update_screen): Fix out-of-array.
25697 (complete): Avoid NULL dereferencing.
25698 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25699 * normal/menu_text.c (print_spaces): Removed.
25700 (grub_print_ucs4): Likewise.
25701 (grub_print_message_indented): Use grub_print_ucs4.
25702 (print_message): Use grub_putcode.
25703 (print_entry): Hanlde diacritics.
25704 * normal/term.c (term_state): New type.
25705 (grub_more_lines): Removed.
25706 (term_states): New variable.
25707 (grub_normal_line_counter): Renamed to ..
25708 (grub_normal_char_counter): ...this. All users updated.
25709 (grub_normal_get_line_counter): Renamed to ...
25710 (grub_normal_get_char_counter): ... this.
25711 (grub_normal_reset_more): New function.
25712 (process_newline): Removed.
25713 (print_more): New function.
25714 (grub_install_newline_hook): Removed.
25715 (map_code): New function.
25716 (grub_puts_terminal): Use grub_print_ucs4.
25717 (putglyph): New function.
25718 (putcode_real): Likewise.
25719 (grub_putcode): Use putcode_real.
25720 (get_maxwidth): New function.
25721 (get_startwidth): Likewise.
25722 (print_ucs4_terminal): Likewise.
25723 (find_term_state): Likewise.
25724 (put_glyphs_terminal): Likewise.
25725 (print_backlog): Likewise.
25726 (print_ucs4_real): Likewise.
25727 (grub_print_ucs4): Likewise.
25728 (grub_xputs_normal): Likewise.
25729 * term/efi/console.c (grub_console_putchar): Output diacritics.
25730 (grub_console_getcharwidth): Removed.
25731 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25732 * term/gfxterm.c (clear_char): Free chars.
25733 (scroll_up): Avoid leaking memory.
25734 (grub_gfxterm_putchar): Support diacritics.
25735 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25736 * term/i386/pc/console.c (grub_console_term_output): Declare as
25737 GRUB_TERM_CODE_TYPE_VGA.
25738 * term/i386/pc/vga.c (grub_vga_term): Declare as
25739 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25740 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25741 GRUB_TERM_CODE_TYPE_VGA.
25742 * term/i386/vga_common.c (map_char): Removed.
25743 (grub_console_putchar): Likewise.
25744 (grub_console_getcharwidth): Likewise.
25745 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25746 (colors): Reordered to match terminfo.
25747 (grub_ofconsole_normal_color): Removed.
25748 (grub_ofconsole_writeesc): Likewise.
25749 (grub_ofconsole_highlight_color): Likewise.
25750 (grub_ofconsole_getcharwidth): Likewise.
25751 (grub_ofconsole_setcolorstate): Likewise.
25752 (grub_ofconsole_setcolor): Likewise.
25753 (grub_ofconsole_getcolor): Likewise.
25754 (grub_ofconsole_readkey): Renamed to ...
25755 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25756 key.
25757 (grub_ofconsole_checkkey): Removed.
25758 (grub_ofconsole_getkey): Likewise.
25759 (grub_ofconsole_getxy): Likewise.
25760 (grub_ofconsole_gotoxy): Likewise.
25761 (grub_ofconsole_cls): Likewise.
25762 (grub_ofconsole_refresh): Likewise.
25763 (grub_ofconsole_terminfo_input): New struct.
25764 (grub_ofconsole_terminfo_output): Likewise.
25765 (grub_ofconsole_term_input): Use terminfo.
25766 (grub_ofconsole_term_output): Likewise.
25767 (grub_console_init): Split into ...
25768 (grub_console_init_early): ...this and ...
25769 (grub_console_init_lately): ...this. Use terminfo.
25770 (grub_ofconsole_putchar): Renamed to ...
25771 (put): ... this. Remove mapping.
25772 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25773 * term/serial.c: Simplify using terminfo.
25774 (xpos): Removed.
25775 (ypos): Likewise.
25776 (keep_track): Likewise.
25777 (registered): Likewise.
25778 (input_buf): Likewise.
25779 (npending): Likewise.
25780 (serial_translate_key_sequence): Likewise.
25781 (fill_input_buf): Likewise.
25782 (grub_serial_checkkey): Likewise.
25783 (grub_serial_getkey): Likewise.
25784 (grub_serial_getxy): Likewise.
25785 (grub_serial_gotoxy): Likewise.
25786 (grub_serial_putchar): Likewise.
25787 (grub_serial_cls): Likewise.
25788 (grub_serial_setcolorstate): Likewise.
25789 (grub_serial_setcursor): Likewise.
25790 (serial_hw_init): Use serial_hw_fetch.
25791 (grub_serial_terminfo_input): New variable.
25792 (grub_serial_terminfo_output): Likewise.
25793 (grub_serial_term_input): Use terminfo.
25794 (grub_serial_term_output): Likewise.
25795 * term/terminfo.c (putstr): Use put.
25796 (grub_terminfo_all_free): New function
25797 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25798 (grub_terminfo_output_register): New function.
25799 (grub_terminfo_output_unregister): Likewise.
25800 (grub_terminfo_getxy): Likewise.
25801 (grub_terminfo_readkey): Likewise.
25802 (grub_terminfo_checkkey): Likewise.
25803 (grub_terminfo_getkey): Likewise.
25804 (grub_terminfo_input_init): Likewise.
25805 (print_terminfo): Likewise.
25806 (grub_cmd_terminfo): Handle encoding.
25807 (grub_terminfo_gotoxy): Track position.
25808 (grub_terminfo_cls): Likewise.
25809 (grub_terminfo_putchar): Likewise.
25810 (grub_terminfo_setcolorstate): Handle colors
25811 (grub_terminfo_cursor_on): This ...
25812 (grub_terminfo_cursor_off): ... and this merged into ...
25813 (grub_terminfo_setcursor): ... this.
25814 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25815 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25816 * unicode/BidiMirroring.txt: Likewise.
25817 * unicode/UnicodeData.txt: Likewise.
25818 * unicode/COPYING: Likewise.
25819 * util/grub-editenv.c (grub_putchar): Removed.
25820 (grub_xputs_real): New function.
25821 (grub_xputs): New variable.
25822 * util/grub-fstest.c (grub_putchar): Removed.
25823 (grub_xputs_real): New function.
25824 (grub_xputs): New variable.
25825 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25826 (grub_xputs_real): New function.
25827 (grub_xputs): New variable.
25828 * util/grub-probe.c (grub_putchar): Removed.
25829 (grub_xputs_real): New function.
25830 (grub_xputs): New variable.
25831 * util/grub-script-check.c (grub_putchar): Removed.
25832 (grub_xputs_real): New function.
25833 (grub_xputs): New variable.
25834 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25835 (grub_xputs_real): New function.
25836 (grub_xputs): New variable.
25837 * util/import_unicode.py: New file.
25838 * util/grub-mkfont.c (ft_errmsgs): New array.
25839 (grub_glyph_info): Make bitmap a pointer.
25840 (file_formats): New type WIDTH_SPEC.
25841 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25842 (options): Add width-spec.
25843 (help): Likewise.
25844 (add_char): Renamed to ...
25845 (add_glyph): ... this.
25846 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25847 (glyph_replace): New type.
25848 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25849 (add_char): New function.
25850 (add_subst): Likewise.
25851 (process_cursive): Likewise.
25852 (add_font): Handle GSUB.
25853 (write_font_width_spec): New function.
25854 (main): Sort glyphs.
25855 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25856 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25857 * kern/term.c (grub_cls): Moved from here...
25858 * normal/term.c (grub_cls): ... here.
25859
50f0bcda
CW
258602010-07-02 Colin Watson <cjwatson@ubuntu.com>
25861
25862 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25863 suitable for using within the format argument of printf when
25864 converting grub_size_t.
25865 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25866 "x" to convert grub_size_t arguments.
25867
40372103
VS
258682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25869
25870 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25871 too long captions.
25872 (list_get_minimal_size): Take selection box into account.
25873
942a10c7
VS
258742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25875
25876 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25877 NULL font.
25878
2bdb2892
CW
258792010-07-02 Colin Watson <cjwatson@ubuntu.com>
25880
25881 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25882 devices when iterating over /dev/disk/by-id; they will be handled
25883 later if appropriate, which they aren't always (e.g. LVM).
25884
e03ed6c1
CW
258852010-07-02 Colin Watson <cjwatson@ubuntu.com>
25886
25887 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25888 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25889 fails.
25890 (grub_halt): Likewise.
25891 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25892 reset-all fails.
25893 (grub_halt): Don't return, even if all of shut-down, power-off, and
25894 poweroff fail.
25895
47695765
CW
258962010-07-02 Colin Watson <cjwatson@ubuntu.com>
25897
25898 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25899 arguments, not three.
25900
507736c8
CW
259012010-07-02 Colin Watson <cjwatson@ubuntu.com>
25902
25903 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25904 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25905 LVM-on-RAID is handled correctly.
25906
e3c8cd37
CW
259072010-07-02 Colin Watson <cjwatson@ubuntu.com>
25908
25909 * docs/grub.texi (Changes from GRUB Legacy): New section.
25910 (Future): Fix typo.
25911
8d4a2fec
CW
259122010-07-02 Colin Watson <cjwatson@ubuntu.com>
25913
25914 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25915 grub.d/README accidentally ends up executable for one reason or
25916 another. Ignore it.
25917
1c4827be
VS
259182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25919
25920 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25921 (gpt_partition_map_iterate): Support non-512B sectors.
25922
d9a0c941
VS
259232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25924
25925 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25926 Tested by: Seth Goldberg.
25927
48f27e87
VS
259282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25929
25930 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25931 Properly align mbi.
25932 Reported by: Seth Goldberg.
25933
b0c4f956
VS
259342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 * util/grub-mkrescue.in: Avoid module duplication.
25937
105a2e8c
SF
259382010-07-01 Sean Finney <seanius@seanius.net>
25939
25940 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25941
5944958c
SF
259422010-07-01 Sean Finney <seanius@seanius.net>
25943
25944 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25945
259462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * disk/lvm.c (grub_lvm_checkvalue): New function.
25949 (grub_lvm_check_flag): Likewise.
25950
b79889ba
RM
259512010-07-01 Robert Millan <rmh@gnu.org>
25952
25953 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25954 Support 'p' as partition separator on kernel of FreeBSD (used
25955 with GPT labels).
25956 (grub_util_biosdisk_get_grub_dev): Likewise.
25957
ec1d04f1
VS
259582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25959
25960 Yeeloong firmware port.
25961
25962 * boot/mips/yeeloong/fwstart.S: New file.
25963 * bus/cs5536.c (gpiodump): New const.
25964 (set_io_space): New function.
25965 (set_iod): Likewise.
25966 (set_p2d): Likewise.
25967 (grub_cs5536_init_geode): Likewise.
25968 * commands/mips/yeeloong/lsspd.c: New file.
25969 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25970 (serial_mod_SOURCES): New variable.
25971 (serial_mod_CFLAGS): Likewise.
25972 (serial_mod_LDFLAGS): Likewise.
25973 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25974 term/terminfo.c and term/tparm.c.
25975 (pkglib_IMAGES): Add fwstart.img.
25976 (fwstart_img_SOURCES): New variable.
25977 (fwstart_img_CFLAGS): Likewise.
25978 (fwstart_img_ASFLAGS): Likewise.
25979 (fwstart_img_LDFLAGS): Likewise.
25980 (fwstart_img_FORMAT): Likewise.
25981 (pkglib_MODULES): Add lsspd.mod.
25982 (lsspd_mod_SOURCES): New variable.
25983 (lsspd_mod_CFLAGS): Likewise.
25984 (lsspd_mod_LDFLAGS): Likewise.
25985 (pkglib_MODULES): Add halt.mod.
25986 (halt_mod_SOURCES): New variable.
25987 (halt_mod_CFLAGS): Likewise.
25988 (halt_mod_LDFLAGS): Likewise.
25989 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25990 (serial_mod_SOURCES): Removed.
25991 (serial_mod_CFLAGS): Likewise.
25992 (serial_mod_LDFLAGS): Likewise.
25993 * disk/ata.c (check_device): New function.
25994 (grub_ata_device_initialize): Use check_device.
25995 (grub_ata_iterate): Recheck devices.
25996 (grub_ata_open): Likewise.
25997 (grub_atapi_iterate): Likewise.
25998 (grub_atapi_open): Likewise.
25999 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26000 (GRUB_ATA_CH1_PORT1): Likewise.
26001 (GRUB_ATA_CH0_PORT2): Likewise.
26002 (GRUB_ATA_CH1_PORT2): Likewise.
26003 * include/grub/mips/loongson.h: New file.
26004 * include/grub/mips/yeeloong/ec.h: Likewise.
26005 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26006 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26007 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26008 * include/grub/misc.h (grub_halt): Declare as noreturn.
26009 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26010 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26011 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26012 (UART_ENABLE_DTRRTS): Likewise.
26013 (UART_ENABLE_MODEM): Removed.
26014 (UART_ENABLE_OUT2): New const.
26015 * include/grub/term.h (grub_term_register_input_active): New function.
26016 (grub_term_register_output_active): Likewise.
26017 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26018 argument.
26019 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26020 (init_pci): New function.
26021 (grub_machine_init): Execute platform init when firmware. Init serial.
26022 (grub_halt): Implement.
26023 (grub_exit): Likewise.
26024 (grub_reboot): Likewise.
26025 * term/serial.c (serial_hw_init): Update macros.
26026 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26027 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26028 (image_targets): New target mipsel-yeeloong-flash.
26029 (generate_image): Support IMAGE_YEELOONG_FLASH.
26030 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26031 (grub_video_sm712_setup): Init card.
26032 (grub_video_sm712_set_palette): Removed.
26033 * video/sm712_init.c: New file.
26034
ff4a70d2
CW
260352010-06-30 Colin Watson <cjwatson@ubuntu.com>
26036
26037 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26038 PATH when running help2man and then run it on the unadorned
26039 executable names, rather than passing $(builddir)/* paths to
26040 help2man. This avoids the build directory ending up in generated
26041 manual pages.
26042
1246efeb
CW
260432010-06-29 Colin Watson <cjwatson@ubuntu.com>
26044
26045 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26046 to avoid accidents when debugging with 'sh -x'.
26047 * util/grub-mkrescue.in: Likewise.
26048 * util/grub.d/00_header.in: Likewise.
26049 * util/grub.d/10_hurd.in: Likewise.
26050 * util/grub.d/10_kfreebsd.in: Likewise.
26051 * util/grub.d/10_linux.in: Likewise.
26052 * util/grub.d/10_netbsd.in: Likewise.
26053 * util/grub.d/10_windows.in: Likewise.
26054 * util/grub.d/20_linux_xen.in: Likewise.
26055 * util/grub.d/30_os-prober.in: Likewise.
26056 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26057
1ba9b889
CW
260582010-06-29 Colin Watson <cjwatson@ubuntu.com>
26059
26060 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26061 last character in the buffer.
26062 Reported by: Vladimir Serbinenko.
26063
dccaf99d
RM
260642010-06-29 Robert Millan <rmh@gnu.org>
26065
26066 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26067 (Command-line and menu entry commands): Document `badram' command.
26068
d500ed12
RM
260692010-06-28 Robert Millan <rmh@gnu.org>
26070
26071 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26072 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26073 command using ${GRUB_BADRAM} as parameter.
26074
20bc84a6
CW
260752010-06-28 Colin Watson <cjwatson@ubuntu.com>
26076
26077 * docs/grub.texi (Device map): New section.
26078 (Themes): New section (stub).
26079 * Makefile.in (docs/grub.info): The info documentation now builds
26080 without errors. Make sure it stays that way.
26081
4045dee1
VS
260822010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26083
26084 Use normal parser for menu entries.
26085 Reported by: Thomas Frauendorfer
26086
26087 * include/grub/parser.h (grub_parser_execute): Don't export.
26088 * normal/menu.c (grub_menu_execute_entry_real): New function.
26089 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26090
bca58c7b
CW
260912010-06-28 Colin Watson <cjwatson@ubuntu.com>
26092
26093 * docs/grub.texi (Embedded configuration): New section (replacing
26094 old "Preset Menu" stub).
26095 (Images): New section.
26096 (configfile): Note that any menu entries defined in `file' are shown
26097 immediately.
26098
dec53e63
JT
260992010-06-28 Josh Triplett <josh@joshtriplett.org>
26100
26101 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26102
c06e40f7
CW
261032010-06-28 Colin Watson <cjwatson@ubuntu.com>
26104
26105 * util/grub-install.in: Add --debug-image= option.
26106
cb88052b
CW
261072010-06-28 Colin Watson <cjwatson@ubuntu.com>
26108
26109 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26110 possible on Linux.
26111
26112 * util/deviceiter.c (check_device): Rename to ...
26113 (check_device_readable_unique): ... this. Update all callers.
26114 Maintain and check a list of which devices (by canonicalized name)
26115 have already been seen.
26116 (clear_seen_devices): New function.
26117 (compare_file_names) [__linux__]: New function.
26118 (grub_util_iterate_devices): Clear the list of seen devices on exit
26119 and (just in case) on entry.
26120 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26121 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26122 seen-devices list, superseded by general code in check_device.
26123
bbe34652
CW
261242010-06-28 Colin Watson <cjwatson@ubuntu.com>
26125
26126 * commands/cat.c (options): New variable.
26127 (grub_cmd_cat): Parse options. If the --dos option is given, print
26128 DOS-style "\r\n" line endings as simple newlines (Debian bug
26129 #586358).
26130 (GRUB_MOD_INIT): Use extcmd.
26131 (GRUB_MOD_FINI): Likewise.
26132 * docs/grub.texi (cat): Document --dos.
26133
412e09f3
VS
261342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26135
26136 XEN with Linux grub-mkconfig support.
26137
26138 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26139 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26140 GRUB_CMDLINE_XEN_DEFAULT.
26141 * util/grub.d/20_linux_xen.in: New file.
26142
53f3ef38 261432010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26144
26145 Initialise VGA video on qemu ourselves.
26146
26147 * boot/i386/qemu/boot.S: Don't call 0xc000.
26148 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26149 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26150 (kernel_img_HEADERS): Add pci.h.
26151 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26152 * configure.ac: Force unifont on qemu and yeeloong.
26153 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26154 (grub_vga_palette_write): Use correct register.
26155 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26156 Call grub_qemu_init_cirrus.
26157 * kern/i386/qemu/init.c: New file.
26158 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26159
26160 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26161
c75be4fb
PR
261622010-06-26 Pavel Roskin <proski@gnu.org>
26163
26164 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26165 13.
26166
d8034603
CW
261672010-06-26 Colin Watson <cjwatson@ubuntu.com>
26168
26169 * docs/grub.texi (Simple configuration): Explain that
26170 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26171 set to `true' to disable their respective recovery entries, not
26172 merely set.
26173
3fa06487
CW
261742010-06-26 Colin Watson <cjwatson@ubuntu.com>
26175
26176 Make the `source' command slightly faster.
26177
26178 * normal/main.c (grub_normal_execute): Don't re-read list files when
26179 nested.
26180
e9b29642
CW
261812010-06-23 Colin Watson <cjwatson@ubuntu.com>
26182
26183 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26184 field position and mask size to red fields from mode_info, not
26185 green.
26186 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26187 Remove redundant tag->common.framebuffer_type assignment.
26188 Reported by: Seth Goldberg.
26189
e726542f
CW
261902010-06-23 Colin Watson <cjwatson@ubuntu.com>
26191
26192 Sync up other versions of the Linux loader with Robert Millan's
26193 change of 2010-01-09, "Make loader output a bit more user-friendly".
26194
26195 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26196 grub_dprintf().
26197 (grub_cmd_linux): Likewise.
26198 (grub_cmd_initrd): Likewise.
26199 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26200 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26201
d6e98a17
CW
262022010-06-21 Colin Watson <cjwatson@ubuntu.com>
26203
26204 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26205 larger than MEMORY_MAP_SIZE.
26206
14d3f08e
BC
262072010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26208
26209 Fix parallel build.
26210
26211 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26212 dependency.
26213 * script/parser.y: #include grub_script.tab.h header.
26214
4f9613a3
VS
262152010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26216
26217 Support >3GiB and <16MiB RAM in i386-qemu.
26218
26219 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26220 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26221 (grub_lower_mem): Removed.
26222 (grub_upper_mem): Likewise.
26223 (mem_size): Made static.
26224 (above_4g): New variable.
26225 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26226 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26227 support.
26228
05e51879
VS
262292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26230
26231 Cirrus 5446 and Bochs video cards support.
26232
26233 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26234 video_bochs.mod
26235 (video_cirrus_mod_SOURCES): New variable.
26236 (video_cirrus_mod_CFLAGS): Likewise.
26237 (video_cirrus_mod_LDFLAGS): Likewise.
26238 (video_bochs_mod_SOURCES): Likewise.
26239 (video_bochs_mod_CFLAGS): Likewise.
26240 (video_bochs_mod_LDFLAGS): Likewise.
26241 * include/grub/vga.h: New file.
26242 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26243 (grub_video_fb_set_page_t): New type.
26244 (grub_video_fb_setup): New prototype.
26245 (grub_video_fb_swap_buffers): Likewise.
26246 (grub_video_fb_get_info_and_fini): Likewise.
26247 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26248 (CRTC_DATA_PORT): Likewise.
26249 (CRTC_CURSOR): Likewise.
26250 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26251 (CRTC_CURSOR_ADDR_LOW): Likewise.
26252 (CRTC_CURSOR_DISABLE): Likewise.
26253 (update_cursor): Use grub_vga_cr_write.
26254 (grub_vga_text_setcursor): Likewise.
26255 * video/bochs.c: New file.
26256 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26257 (palette): Likewise.
26258 (palette_size): Likewise.
26259 (framebuffer): New variable.
26260 (grub_video_fb_init): Use 'framebuffer'.
26261 (grub_video_fb_fini): Likewise.
26262 (grub_video_fb_get_info): Likewise.
26263 (grub_video_fb_get_palette): Likewise.
26264 (grub_video_fb_set_palette): Likewise.
26265 (grub_video_fb_set_viewport): Likewise.
26266 (grub_video_fb_get_viewport): Likewise.
26267 (grub_video_fb_map_color): Likewise.
26268 (grub_video_fb_map_rgb): Likewise.
26269 (grub_video_fb_map_rgba): Likewise.
26270 (grub_video_fb_unmap_color): Likewise.
26271 (grub_video_fb_unmap_color_int): Likewise.
26272 (grub_video_fb_fill_rect): Likewise.
26273 (grub_video_fb_blit_bitmap): Likewise.
26274 (grub_video_fb_blit_render_target): Likewise.
26275 (grub_video_fb_scroll): Likewise.
26276 (grub_video_fb_create_render_target): Likewise.
26277 (grub_video_fb_doublebuf_blit_init): Likewise.
26278 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26279 (doublebuf_pageflipping_update_screen): New function.
26280 (doublebuf_pageflipping_init): Likewise.
26281 (grub_video_fb_setup): Likewise.
26282 (grub_video_fb_swap_buffers): Likewise.
26283 (grub_video_fb_get_info_and_fini): Likewise.
26284 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26285 All users updated.
26286 (doublebuf_pageflipping_commit): Restructured into ...
26287 (doublebuf_pageflipping_set_page): ... this.
26288 (doublebuf_pageflipping_update_screen): Removed.
26289 (doublebuf_pageflipping_init): Likewise.
26290 (double_buffering_init): Likewise.
26291 (grub_video_vbe_setup): Use grub_video_fb_setup.
26292 (grub_video_vbe_swap_buffers): Removed.
26293 (grub_video_vbe_set_active_render_target): Likewise.
26294 (grub_video_vbe_get_active_render_target): Likewise.
26295 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26296 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26297 grub_video_fb_set_active_render_target and
26298 grub_video_fb_get_active_render_target.
26299 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26300 (SEQUENCER_DATA_PORT): Likewise.
26301 (MAP_MASK_REGISTER): Likewise.
26302 (CRTC_ADDR_PORT): Likewise.
26303 (CRTC_DATA_PORT): Likewise.
26304 (START_ADDR_HIGH_REGISTER): Likewise.
26305 (START_ADDR_LOW_REGISTER): Likewise.
26306 (GRAPHICS_ADDR_PORT): Likewise.
26307 (GRAPHICS_DATA_PORT): Likewise.
26308 (READ_MAP_REGISTER): Likewise.
26309 (INPUT_STATUS1_REGISTER): Likewise.
26310 (INPUT_STATUS1_VERTR_BIT): Likewise.
26311 (get_map_mask): Use grub_vga_sr_read.
26312 (set_map_mask): Use grub_vga_sr_write.
26313 (set_read_map): Use grub_vga_gr_write.
26314 (set_start_address): Use grub_vga_cr_write.
26315 * video/sm712.c (framebuffer): Remove leftover fields.
26316
4321c64a
CW
263172010-06-20 Colin Watson <cjwatson@ubuntu.com>
26318
26319 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26320 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26321 instead. Replace the gfxterm backend check with a check that
26322 ${GRUB_PREFIX}/video.lst is non-empty.
26323 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26324 again.
26325 (load_video): New generated function. Call it before loading
26326 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26327 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26328 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26329 * docs/grub.texi (Simple configuration): Document
26330 GRUB_VIDEO_BACKEND.
26331
263322010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 Use video functions in linux and xnu loaders.
26335
26336 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26337 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26338 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26339 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26340 loader/i386/pc/linux.c.
26341 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26342 (find_line_len): Removed.
26343 (find_framebuf): Likewise.
26344 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26345 * loader/i386/efi/xnu.c: Removed.
26346 * loader/i386/pc/xnu.c: Moved from here...
26347 * loader/i386/xnu.c: ...here.
26348
26349 Enable priorities in video drivers.
26350
26351 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26352 (grub_video_adapter): New field prio.
26353 (grub_video_register): Respect prio when inserting.
26354 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26355 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26356 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26357 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26358 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26359 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26360 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26361
26362 Fix SDL driver ID.
26363
26364 * include/grub/video.h (grub_video_driver_id_t): New value
26365 GRUB_VIDEO_DRIVER_SDL.
26366 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26367
7d24e434
CW
263682010-06-17 Colin Watson <cjwatson@ubuntu.com>
26369
26370 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26371 argument to printf.
26372 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26373
c88a83f6
CW
263742010-06-17 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26377 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26378
094dfb69
CW
263792010-06-17 Colin Watson <cjwatson@ubuntu.com>
26380
26381 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26382 directly, and recommend grub-install instead.
26383 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26384
2164da6b
CW
263852010-06-17 Colin Watson <cjwatson@ubuntu.com>
26386
26387 Fix i386-pc prefix handling with nested partitions (Debian bug
26388 #585068). Note that the case where the core image is booted using
26389 multiboot and relocated from its original location still requires
26390 more work.
26391
26392 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26393 with "(,", fill the boot drive in between those two characters, but
26394 expect that a full partition specification including partition map
26395 names will follow.
26396 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26397 specified, write a prefix without the drive name but including a
26398 full partition specification.
26399
044e2e60
CW
264002010-06-16 Colin Watson <cjwatson@ubuntu.com>
26401
26402 * util/grub-mkconfig.in: Ignore non-option arguments, for
26403 compatibility with older versions (before 2010-06-12) which did the
26404 same. In particular, this makes it easier to ship an update-grub
26405 wrapper which is compatible with that used with GRUB Legacy (Debian
26406 bug #586056).
26407
5591324f
GS
264082010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26409
26410 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26411 for manual page generation.
26412
662e24d5
GS
264132010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26414
26415 * po/POTFILES: Remove leftover commands/handler.c.
26416
8d70754e
CW
264172010-06-14 Colin Watson <cjwatson@ubuntu.com>
26418
26419 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26420 left this script non-functional.
26421
41160e2e
CW
264222010-06-14 Colin Watson <cjwatson@ubuntu.com>
26423
26424 * docs/man/grub-emu.h2m: New file.
26425
b5309cc1
CW
264262010-06-13 Colin Watson <cjwatson@ubuntu.com>
26427
26428 * docs/grub.texi (Commands): Document reduced command set in rescue
26429 mode.
26430 (cpuid): New section.
26431
fcb2d090
GS
264322010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26433
26434 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26435 new partition naming style.
26436 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26437
96e5c556
BC
264382010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26439
26440 Add "-o grub.iso" like cmdline options support.
26441
26442 * util/grub-install.in: Improve cmdline option parsing.
26443 * util/grub-mkconfig.in: Likewise.
26444 * util/grub-mkrescue.in: Likewise.
26445 * util/grub-reboot.in: Likewise.
26446 * util/grub-set-default.in: Likewise.
26447 * util/i386/efi/grub-install.in: Likewise.
26448 * util/ieee1275/grub-install.in: Likewise.
26449 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26450
c16be99b
CW
264512010-06-12 Colin Watson <cjwatson@ubuntu.com>
26452
26453 * .bzrignore: Ignore 41_custom.
26454
ce08a9fb
TS
264552010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26456
26457 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26458
7beac90c
CW
264592010-06-12 Colin Watson <cjwatson@ubuntu.com>
26460
26461 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26462 prototype declarations.
26463
26464 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26465 generating fs, partmap, and video lists.
26466 * include/grub/fs.h (grub_fs_register): Omit prototype if
26467 GRUB_LST_GENERATOR is defined.
26468 * include/grub/partition.h (grub_partition_map_register): Likewise.
26469 * include/grub/video.h (grub_video_register): Likewise.
26470
1c8f0f8d
JM
264712010-06-12 Javier Martín <lordhabbit@gmail.com>
26472
26473 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26474
a6085973
TS
264752010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26476
26477 * util/grub-mkrescue.in: Support --xorriso argument.
26478
25c56d29
VS
264792010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26480
26481 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26482 Suggested by: Thomas Schmitt.
26483
e03e4b24
VS
264842010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26487 Suggested by: Thomas Schmitt.
26488
57711df6
VS
264892010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26490
26491 custom.cfg support.
26492
26493 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26494 * util/grub.d/41_custom.in: New file.
26495
ee62c427
CW
264962010-06-12 Colin Watson <cjwatson@ubuntu.com>
26497
26498 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26499 been merged back into normal.
26500
283af07a
CW
265012010-06-11 Colin Watson <cjwatson@ubuntu.com>
26502
26503 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26504 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26505
56a0d956
CW
265062010-06-11 Colin Watson <cjwatson@ubuntu.com>
26507
26508 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26509 when generating manual pages.
26510 * docs/man/grub-bin2h.h2m: New file.
26511 * docs/man/grub-editenv.h2m: New file.
26512 * docs/man/grub-fstest.h2m: New file.
26513 * docs/man/grub-install.h2m: New file.
26514 * docs/man/grub-macho2img.h2m: New file.
26515 * docs/man/grub-mkconfig.h2m: New file.
26516 * docs/man/grub-mkdevicemap.h2m: New file.
26517 * docs/man/grub-mkfont.h2m: New file.
26518 * docs/man/grub-mkimage.h2m: New file.
26519 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26520 * docs/man/grub-mkrelpath.h2m: New file.
26521 * docs/man/grub-mkrescue.h2m: New file.
26522 * docs/man/grub-ofpathname.h2m: New file.
26523 * docs/man/grub-pe2elf.h2m: New file.
26524 * docs/man/grub-probe.h2m: New file.
26525 * docs/man/grub-reboot.h2m: New file.
26526 * docs/man/grub-script-check.h2m: New file.
26527 * docs/man/grub-set-default.h2m: New file.
26528 * docs/man/grub-setup.h2m: New file.
26529
3a37e322
VS
265302010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26531
26532 Use FOR_* macros instead of *_iterate whenever possible.
26533
26534 * commands/handler.c: Removed.
26535 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26536 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26537 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26538 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26539 (grub_probe_SOURCES): Remove kern/parser.c.
26540 (util/grub-script-check.c_DEPENDENCIES): Removed.
26541 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26542 and grub_script_check_init.c.
26543 (grub_script_check_init.lst): Removed.
26544 (grub_script_check_init.h): Likewise.
26545 (grub_script_check_init.c): Likewise.
26546 (pkglib_MODULES): Remove handler.mod and sh.mod.
26547 (handler_mod_SOURCES): Removed.
26548 (handler_mod_CFLAGS): Likewise.
26549 (handler_mod_LDFLAGS): Likewise.
26550 (normal_mod_SOURCES): Remove normal/handler.c.
26551 Add script/main.c, script/script.c, script/execute.c,
26552 script/function.c, script/lexer.c, grub_script.tab.c
26553 and grub_script.yy.c.
26554 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26555 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26556 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26557 (grub_setup_SOURCES): Remove kern/parser.c.
26558 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26559 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26560 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26561 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26562 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26563 (grub_setup_SOURCES): Remove kern/parser.c.
26564 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26565 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26566 * include/grub/command.h (grub_command_iterate): Removed.
26567 (FOR_COMMANDS): New macro.
26568 * include/grub/dl.h (grub_dl): New member next.
26569 (grub_dl_iterate): Removed.
26570 (grub_dl_head): New variable declaration.
26571 (FOR_DL_MODULES): New macro.
26572 * include/grub/fs.h: Include list.h.
26573 (grub_fs): Make next first element.
26574 (grub_fs_list): New variable declaration.
26575 (grub_fs_register): Make inline.
26576 (grub_fs_unregister): Likewise.
26577 (grub_fs_iterate): Removed.
26578 (FOR_FILESYSTEMS): New macro.
26579 * include/grub/handler.h: Removed.
26580 * include/grub/list.h (grub_list_hook_t): Removed.
26581 (grub_list_test_t): Likewise.
26582 (grub_list_pop): Likewise.
26583 (grub_list_iterate): Likewise.
26584 (grub_list_insert): Likewise.
26585 (FOR_LIST_ELEMENTS): New macro.
26586 * include/grub/parser.h (grub_parser_class): Removed.
26587 (grub_parser_register): Likewise.
26588 (grub_parser_unregister): Likewise.
26589 (grub_parser_get_current): Likewise.
26590 (grub_parser_set_current): Likewise.
26591 (grub_register_rescue_parser): Likewise.
26592 (grub_rescue_parse_line): New function.
26593 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26594 * include/grub/script_sh.h (grub_script_function_list): New variable
26595 declaration.
26596 (FOR_SCRIPT_FUNCTIONS): New macro.
26597 (grub_script_function_iterate): Removed.
26598 (grub_normal_parse_line): New prototype.
26599 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26600 (FOR_DISABLED_TERM_INPUTS): Likewise.
26601 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26602 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26603 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26604 element.
26605 (grub_video_register): Inline.
26606 (grub_video_unregister): Likewise.
26607 (grub_video_adapter_list): New variable declaration.
26608 (grub_video_iterate): Removed.
26609 (FOR_VIDEO_ADAPTERS): New macro.
26610 * kern/dl.c (grub_dl_list): Removed. All users updated.
26611 (grub_dl_iterate): Removed.
26612 * kern/fs.c (grub_fs_list): Make global.
26613 (grub_fs_register): Removed.
26614 (grub_fs_unregister): Likewise.
26615 (grub_fs_iterate): Likewise.
26616 * kern/handler.c: Removed.
26617 * kern/list.c (grub_list_pop): Removed.
26618 (grub_list_iterate): Likewise.
26619 (grub_list_insert): Likewise.
26620 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26621 (grub_prio_list_insert): Don't use grub_list_insert.
26622 * kern/main.c (grub_register_rescue_parser): Don't call
26623 grub_register_rescue_parser.
26624 * kern/parser.c (grub_parser_class): Removed.
26625 (grub_parser_execute): Use grub_rescue_parse_line.
26626 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26627 (grub_rescue_parser): Removed.
26628 (grub_register_rescue_parser): Likewise.
26629 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26630 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26631 (grub_auth_check_authentication): Likewise.
26632 * normal/completion.c (iterate_command): Removed.
26633 (grub_normal_do_completion): Use FOR_COMMANDS.
26634 * normal/handler.c: Removed.
26635 * normal/main.c (read_config_file): Remove parser changing.
26636 (grub_normal_execute): Don't call read_handler_list.
26637 (grub_normal_read_line_real): Statically allocate prompt.
26638 (grub_cmdline_run): Use grub_normal_parse_line.
26639 (GRUB_MOD_FINI): Don't call free_handler_list.
26640 * normal/menu_entry.c (run): Likewise.
26641 * script/function.c (grub_script_function_list): Make global.
26642 (grub_script_function_iterate): Removed.
26643 * script/main.c (grub_normal_parse_line): Make global.
26644 (grub_sh_parser): Removed.
26645 (GRUB_MOD_INIT): Likewise.
26646 (GRUB_MOD_FINI): Likewise.
26647 * tests/lib/functional_test.c (grub_functional_test): Use
26648 FOR_LIST_ELEMENTS.
26649 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26650 (grub_test_run): Use FOR_LIST_ELEMENTS.
26651 * tests/lib/unit_test.c (main): Likewise.
26652 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26653 grub_list_pop.
26654 * util/grub-fstest.c (grub_term_input_class): Removed.
26655 (grub_term_output_class): Likewise.
26656 * util/grub-probe.c: Likewise.
26657 * util/i386/pc/grub-setup.c: Likewise.
26658 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26659 * util/grub-script-check.c (main): Don't call grub_init_all and
26660 grub_fini_all.
26661 * video/video.c (grub_video_adapter_list): Make global.
26662 (grub_video_register): Removed.
26663 (grub_video_unregister): Likewise.
26664 (grub_video_iterate): Likewise.
26665
6289c3a7
VS
266662010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26667
26668 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26669 reported by Henrique Ferreiro.
26670
91460247
RM
266712010-06-09 Robert Millan <rmh@gnu.org>
26672
26673 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26674 ones, when both are available.
26675
0ea7c4f9
GS
266762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26677
26678 Make --version uniform and avoid hard-coded program name.
26679
26680 * util/grub-mkimage.c (main): Use `program_name' instead of
26681 hard-coded string.
26682 * util/i386/pc/grub-setup.c (main): Likewise.
26683 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26684 * util/grub-install.in: Save the basename of $0 in $self, and use the
26685 latter in informational messages. Use the same format for --version
26686 as the binary programs.
26687 * util/grub-mkconfig.in: Likewise.
26688 * util/grub-mkrescue.in: Likewise.
26689 * util/grub-reboot.in: Likewise.
26690 * util/grub-set-default.in: Likewise.
26691 * util/i386/efi/grub-install.in: Likewise.
26692 * util/ieee1275/grub-install.in: Likewise.
26693 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26694
e8a6f3b6
GS
266952010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26696
26697 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26698 embedding area. Use <= instead of == when checking for non-emptiness.
26699
f4d095d7
GS
267002010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26701
26702 * configure.ac: Add `.' to the directories searched for unifont.
26703
50e532ca
CW
267042010-06-08 Colin Watson <cjwatson@ubuntu.com>
26705
26706 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26707 grub_script.yy.h.
26708
d39f3dec
CW
267092010-06-08 Colin Watson <cjwatson@ubuntu.com>
26710
26711 * docs/grub.texi (History): Expand to cover GRUB 2.
26712 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26713 commands, not `terminal'.
26714 (serial): Likewise.
26715 (terminal_input): New section.
26716 (terminal_output): New section.
26717 (uppermem): New section (stub).
26718 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26719
6ef0ddb4
CW
267202010-06-08 Colin Watson <cjwatson@ubuntu.com>
26721
26722 * docs/grub.texi (Security): Menu entries are unrestricted by
26723 default, not restricted to superusers as I had previously thought.
26724 Reword to account for this.
26725
e0f4c438
CW
267262010-06-07 Colin Watson <cjwatson@ubuntu.com>
26727
26728 * kern/emu/misc.c (device_mapper_null_log): New function.
26729 (grub_device_mapper_supported): New function.
26730 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26731 prototype.
26732 * kern/emu/hostdisk.c (find_partition_start): Check whether
26733 device-mapper is supported before trying to use it.
26734 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26735
da908200
CW
267362010-06-07 Colin Watson <cjwatson@ubuntu.com>
26737
26738 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26739 (File name syntax): Likewise.
26740 (help): --all is no longer supported in GRUB 2. Be more precise
26741 about pattern matching.
26742
fb55c3ac
CW
267432010-06-07 Colin Watson <cjwatson@ubuntu.com>
26744
26745 * normal/completion.c (grub_normal_do_completion): When completing
26746 arguments to "set" and the current word contains an equals sign,
26747 skip to after the equals sign before starting completion.
26748
258c2573
CW
267492010-06-07 Colin Watson <cjwatson@ubuntu.com>
26750
26751 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26752
ee75515e
CW
267532010-06-07 Colin Watson <cjwatson@ubuntu.com>
26754
26755 * docs/grub.texi (Network): New section.
26756 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26757 `(nd)' as in GRUB Legacy.
26758 (pxe_unload): New section.
26759
a6a700aa
CW
267602010-06-07 Colin Watson <cjwatson@ubuntu.com>
26761
26762 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26763 in the rescue shell, so recommend using `set' instead. Thanks,
26764 Jordan Uggla.
26765
4003dd38
CW
267662010-06-07 Colin Watson <cjwatson@ubuntu.com>
26767
26768 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26769 (password): New section.
26770 (password_pbkdf2): New section.
26771 (search): New section.
26772 (Security): New section.
26773 (Troubleshooting): New section, currently very incomplete.
26774 (Invoking grub-mkpasswd-pbkdf2): New section.
26775 (Internals): New section, currently very incomplete.
26776
e1cbcc40
CW
267772010-06-07 Colin Watson <cjwatson@ubuntu.com>
26778
26779 * util/grub.d/00_header.in: Add some more quoting (of
26780 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26781 work again.
26782 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26783
db8fa1ad
CW
267842010-06-07 Colin Watson <cjwatson@ubuntu.com>
26785
26786 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26787 to `count', fixing variable shadowing that broke the -c option.
26788
267892010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26790
26791 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26792 in case they contain spaces.
26793
f28a9212
CW
267942010-06-04 Colin Watson <cjwatson@ubuntu.com>
26795
26796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26797 "part_" to partmap module names, in line with grub-install.
26798 Reported by: Jindřich Makovička (Debian bug #584426).
26799
9cdfe32f
CW
268002010-06-04 Colin Watson <cjwatson@ubuntu.com>
26801
26802 * util/grub-mkimage.c: Make target-related error messages slightly
26803 more helpful; -O talks about "format". Explicitly point to the use
26804 of -O if no target is specified.
26805 Reported by: Didier Raboud (Debian bug #584415).
26806
795b593a
CW
268072010-06-03 Colin Watson <cjwatson@ubuntu.com>
26808
26809 * INSTALL: Document several build requirements for optional features
26810 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26811
9d9b5833
GS
268122010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26813
26814 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26815 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26816 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26817
0819fec8
CW
268182010-06-02 Colin Watson <cjwatson@ubuntu.com>
26819
26820 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26821 Thanks to Jordan Uggla for spotting this.
26822
49396b4f
VS
268232010-06-02 Aleš Nesrsta <starous@volny.cz>
26824
26825 Finally make USB usable.
26826
26827 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26828 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26829 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26830 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26831 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26832 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26833 (GRUB_OHCI_FSMPS): Likewise.
26834 (GRUB_OHCI_PERIODIC_START): Likewise.
26835 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26836 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26837 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26838 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26839 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26840 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26841 (grub_ohci_transaction): Likewise.
26842 (grub_ohci_transfer): Improve condition detection algorithms.
26843 Handle toggle property. Program the transactions correctly.
26844 Improve error handling. Various important fixups.
26845 (grub_ohci_portstatus): Put register writes in right order.
26846 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26847 (grub_uhci_transfer): Don't show "failed" message on success.
26848 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26849 array.
26850 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26851 determine its size.
26852 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26853 before initialization is completed. Use IN direction for empty
26854 transfers. Use last_trans and compute toggle.
26855 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26856 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26857 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26858 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26859 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26860 (grub_usb_device): Increase toggle to 256.
26861 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26862 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26863 GRUB_USBMS_SUBCLASS_SFF8070.
26864 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26865 (grub_scsi_inquiry): New member page and alloc_length.
26866 (grub_scsi_request_sense): New structure.
26867 (grub_scsi_request_sense_data): Likewise.
26868 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26869 control.
26870 * disk/scsi.c (grub_scsi_request_sense): New function.
26871 (grub_scsi_test_unit_ready): Likewise.
26872 (grub_scsi_inquiry): Fill new fields.
26873 (grub_scsi_read_capacity): Likewise.
26874 (grub_scsi_read10): Add request sense at the end.
26875 (grub_scsi_read12): Likewise.
26876 (grub_scsi_write10): Likewise.
26877 (grub_scsi_write12): Likewise.
26878 (grub_scsi_open): Add Test Unit Ready.
26879 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26880 Support additional subclasses. Con't clear halt yet. Activate the
26881 proper config. Calculate LUNs correctly.
26882 (grub_usbms_transfer): Various important fixups.
26883
268842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26885
26886 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26887 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26888 (grub_ohci_fini_hw): New function.
26889 (grub_ohci_restore_hw): Likewise.
26890 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26891 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26892 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26893
268942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 Dedicated DMA allocations.
26897
26898 * bus/pci.c (grub_memalign_dma32): New function
26899 (grub_dma_free): Likewise.
26900 (grub_dma_get_virt): Likewise.
26901 (grub_dma_get_phys): Likewise.
26902 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26903 (grub_ohci_pci_iter): Use dma32_alloc.
26904 (grub_ohci_transfer): Likewise.
26905 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26906 (grub_usb_bulk_readwrite): Likewise.
26907 * include/grub/pci.h: Add declarations.
26908
269092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26910
26911 CS5536 support.
26912
26913 * bus/cs5536.c: New file.
26914 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26915 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26916 (cs5536_mod_SOURCES): New variable.
26917 (cs5536_mod_CFLAGS): Likewise.
26918 (cs5536_mod_LDFLAGS): Likewise.
26919 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26920 machine/pci.h.
26921 (kernel_img_SOURCES): Add bus/cs5536.c.
26922 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26923 usb_keyboard.mod.
26924 (usb_mod_SOURCES): New variable.
26925 (usb_mod_CFLAGS): New variable.
26926 (usb_mod_LDFLAGS): New variable.
26927 (usbtest_mod_SOURCES): New variable.
26928 (usbtest_mod_CFLAGS): New variable.
26929 (usbtest_mod_LDFLAGS): New variable.
26930 (ohci_mod_SOURCES): New variable.
26931 (ohci_mod_CFLAGS): New variable.
26932 (ohci_mod_LDFLAGS): New variable.
26933 (usbms_mod_SOURCES): New variable.
26934 (usbms_mod_CFLAGS): New variable.
26935 (usbms_mod_LDFLAGS): New variable.
26936 (usb_keyboard_mod_SOURCES): New variable.
26937 (usb_keyboard_mod_CFLAGS): New variable.
26938 (usb_keyboard_mod_LDFLAGS): New variable.
26939 * include/grub/smbus.h: New file.
26940 * include/grub/cs5536.h: New file.
26941
0b35b2a9
CW
269422010-06-02 Colin Watson <cjwatson@ubuntu.com>
26943
26944 * util/grub.d/00_header.in: Add safety check to make sure that
26945 ${locale_dir} exists before trying to probe it.
26946
ca0afd5b
CW
269472010-06-02 Colin Watson <cjwatson@ubuntu.com>
26948
26949 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26950 per the GNU Coding Standards; this is now too obscure to be worth
26951 documenting.
26952 (QNX): Likewise.
26953 (chainloader): Remove cross-reference to `SCO UnixWare'.
26954
1c41aa78
CW
269552010-06-02 Colin Watson <cjwatson@ubuntu.com>
26956
26957 * docs/grub.texi (Chain-loading): New section.
26958 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26959 adjusted for GRUB 2.
26960 (SCO UnixWare): Likewise.
26961 (QNX): Likewise.
26962 (chainloader): Add reference to `Block list syntax'.
26963 (drivemap): New section.
26964 (parttool): New section.
26965
bb8ea0f5
CW
269662010-06-02 Colin Watson <cjwatson@ubuntu.com>
26967
26968 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26969 the grub shell'.
26970 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26971 (Installing GRUB using grub-install): Remove reference to the grub
26972 shell; mention `grub-mkimage' and `grub-setup' instead.
26973 (Invoking grub-install): Likewise.
26974 (Interface): Add reference to `Menu entry editor'.
26975 (serial): Remove `--device' option.
26976
288dd6ed
CW
269772010-06-02 Colin Watson <cjwatson@ubuntu.com>
26978
26979 * docs/grub.texi (Configuration): New section, documenting
26980 configuration file generation using grub-mkconfig. I've left a slot
26981 for documenting the full shell scripting format but have not yet
26982 started on writing that up.
26983 (Invoking grub-mkconfig): New section.
26984
34c9f0e9
CW
269852010-06-02 Colin Watson <cjwatson@ubuntu.com>
26986
26987 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26988 (GNU GRUB manual): Likewise.
26989 (General commands): Update description of `terminfo' for GRUB 2.
26990
9121567e
CW
269912010-06-02 Colin Watson <cjwatson@ubuntu.com>
26992
26993 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26994 (GRUB_MOD_INIT): Fix capitalisation.
26995 * docs/grub.texi (Command-line and menu entry commands): Document
26996 gettext and gptsync commands.
26997
ab631611
CW
269982010-06-02 Colin Watson <cjwatson@ubuntu.com>
26999
27000 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27001 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27002
bde4a9ac
CW
270032010-06-01 Colin Watson <cjwatson@ubuntu.com>
27004
27005 Add btrfs probing support, currently only in the single-device case.
27006
27007 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27008 function.
27009 (grub_guess_root_device): Call find_root_device_from_mountinfo
27010 before looking in /dev.
27011
b1d17e10
VS
270122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27015 GRUB_DISK_SIZE_UNKNOWN.
27016 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27017
dfbfe004
JS
270182010-05-31 Jiro SEKIBA <jir@unicus.jp>
27019
27020 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27021 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27022 corrupted or not synced properly.
27023
c2ffc8e9
VS
270242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27027 Reported by: Seth Goldberg.
27028
56293166
VS
270292010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27032 addition of dest.
27033 Reported by: Seth Goldberg.
27034
7620e7de
VS
270352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27036
27037 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27038 Reported by: Seth Goldberg.
27039
c837af3f
VS
270402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27041
27042 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27043 64-bit address as signed on MIPS.
27044
c7c75cf4
CW
270452010-05-28 Colin Watson <cjwatson@ubuntu.com>
27046
27047 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27048 to the empty string.
27049
fa4b8490
BC
270502010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27051
27052 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27053
27054 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27055 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27056 * kern/misc.c (__enable_execute_stack): Disable on
27057 GRUB_MACHINE_EMU.
27058
a33075b9
CW
270592010-05-28 Colin Watson <cjwatson@ubuntu.com>
27060
27061 Make grub-probe work with symbolic links under /dev/mapper as well
27062 as with real block devices. The Linux world seems to be (at best)
27063 in transition here, and GRUB shouldn't get caught in the middle.
27064
27065 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27066 /dev/mapper.
27067
d8708134
CW
270682010-05-27 Colin Watson <cjwatson@ubuntu.com>
27069
27070 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27071 input files (in which case exit zero).
27072
db2102a0
CW
270732010-05-27 Colin Watson <cjwatson@ubuntu.com>
27074
27075 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27076 return NULL for various reasons even if it has a maximum-length
27077 buffer: for example, there might be a symlink loop, or the path
27078 might exceed PATH_MAX. If this happens, return NULL.
27079
5fdba519
RM
270802010-05-27 Robert Millan <rmh@gnu.org>
27081
27082 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27083 partmap module to handle cross-partmap setups.
27084 Reported by Orestes Mas. Gràcies!
27085
d1d368e4
CW
270862010-05-27 Colin Watson <cjwatson@ubuntu.com>
27087
27088 * util/grub-mkrescue.in: Initialise override_dir rather than
27089 assuming that it's unset or empty in the environment.
27090
95ac3c73
GS
270912010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27092
27093 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27094 variable index into p_index to suppress a warning with -Wshadow.
27095
7d8c0213
BC
270962010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27097
27098 * INSTALL: Added flex >= 2.5.35 requirement.
27099
db4d5813
VS
271002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27103
f24f4300
VS
271042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 cmostest support.
27107
27108 * commands/i386/cmostest.c: New file.
27109 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27110 (cmostest_mod_SOURCES): New variable.
27111 (cmostest_mod_CFLAGS): Likewise.
27112 (cmostest_mod_LDFLAGS): Likewise.
27113 * conf/i386-pc.rmk: Likewise.
27114 * docs/grub.texi (Vendor power-on keys): New section.
27115 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27116 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27117 and GRUB_BUTTON_CMOS_ADDRESS.
27118 * util/grub.d/00_header.in: Handle powering-on by separate button.
27119
ad603f61
VS
271202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27121
27122 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27123 Removed drawing_scrollbar argument. All users updated
27124 Fixes #29792.
27125 Reported by Jo Shields
27126
3ecb080a
VS
271272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27128
27129 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27130 buffer since gfxterm handles double repaint.
27131
5f2316c1
VS
271322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27133
27134 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27135 * term/gfxterm.c (real_scroll): Likewise.
27136
9a25f885
VS
271372010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27138
27139 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27140 before calling BIOS.
27141
39fbb79a
VS
271422010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27143
27144 * include/grub/i18n.h: Always enable grub_gettext.
27145
228cfa97
VS
271462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27149 partition naming style.
27150
21717c8f
CW
271512010-05-21 Colin Watson <cjwatson@ubuntu.com>
27152
27153 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27154 not the first option.
27155
c0f48e65
CW
271562010-05-20 Colin Watson <cjwatson@ubuntu.com>
27157
27158 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27159
96779aec
CW
271602010-05-20 Colin Watson <cjwatson@ubuntu.com>
27161
27162 * util/misc.c: Move inclusion of <limits.h> to ...
27163 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27164
fa9d256e
GS
271652010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27166
27167 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27168 Fix merge error in NetBSD code.
27169 (find_partition_start) [__NetBSD__]: Likewise.
27170
123b7a85
BC
271712010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27172
27173 Fix grub-mkrescue usage unit testing.
27174
27175 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27176
74276c0d
CF
271772010-05-18 Christian Franke <franke@computer.org>
27178
27179 * util/grub.d/10_windows.in: Use path names instead of
27180 drive letters to prevent warning from Cygwin 1.7.
27181 Add drivemap command to menuentry if needed.
27182
c4f7b523
ST
271832010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27184
27185 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27186 gnumach and gnumach.gz.
27187
95b97950
VS
271882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 * include/grub/i18n.h (gettext): Inline instead of using #define.
27191 (grub_gettext): Likewise.
27192 (_): Likewise.
27193
01b8d2d7
VS
271942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27197 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27198 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27199 (main): Add a slash after pkglibdirroot.
27200
654e1d1e
VS
272012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27202
27203 * util/grub-install.in: Add missing "in" keyword.
27204
26966aeb
VS
272052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27206
27207 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27208 Reported by: Seth Goldberg.
27209
75006747
VS
272102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27211
27212 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27213
74cbf5bd
CW
272142010-05-18 Colin Watson <cjwatson@ubuntu.com>
27215
27216 * configure.ac: Check for Linux device-mapper support.
27217
27218 * util/hostdisk.c (device_is_mapped): New function.
27219 (find_partition_start): New function, partly broken out from
27220 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27221 device-mapper support added.
27222 (linux_find_partition): Use find_partition_start.
27223 (convert_system_partition_to_system_disk): Add `st' argument.
27224 Support Linux /dev/mapper/* devices if device-mapper support is
27225 available; only DM-RAID devices are understood at present.
27226 (find_system_device): Add `st' argument. Pass it to
27227 convert_system_partition_to_system_disk.
27228 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27229 find_system_device and convert_system_partition_to_system_disk. Use
27230 find_partition_start.
27231
27232 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27233 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27234 * util/deviceiter.c [__linux__]: Define MINOR.
27235 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27236 * util/mkdevicemap.c (grub_putchar): New function.
27237 (grub_getkey): New function.
27238 (grub_refresh): New function.
27239 (main): Set debug=all if -v -v is used.
27240
355b51e9
CW
272412010-05-18 Colin Watson <cjwatson@ubuntu.com>
27242
27243 Fix build with non-GNU libcs.
27244
27245 * util/misc.c (canonicalize_file_name): Move to ...
27246 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27247 grub_make_system_path_relative_to_its_root.
27248
7fb5c25f
CW
272492010-05-18 Colin Watson <cjwatson@ubuntu.com>
27250
27251 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27252 we handle finding grub-mkimage. Default to finding grub-mkimage in
27253 ${bindir} with program_transform_name applied, and provide a
27254 --grub-mkimage option to override this.
27255
1d3293d6
VS
272562010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 Remove grub-mkisofs.
27259
27260 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27261 (grub_mkisofs_SOURCES): Removed.
27262 (grub_mkisofs_CFLAGS): Removed.
27263 * util/mkisofs/defaults.h: Removed.
27264 * util/mkisofs/eltorito.c: Likewise.
27265 * util/mkisofs/exclude.h: Likewise.
27266 * util/mkisofs/hash.c: Likewise.
27267 * util/mkisofs/include/: Likewise.
27268 * util/mkisofs/include/fctldefs.h: Likewise.
27269 * util/mkisofs/include/mconfig.h: Likewise.
27270 * util/mkisofs/include/prototyp.h: Likewise.
27271 * util/mkisofs/include/statdefs.h: Likewise.
27272 * util/mkisofs/iso9660.h: Likewise.
27273 * util/mkisofs/joliet.c: Likewise.
27274 * util/mkisofs/match.c: Likewise.
27275 * util/mkisofs/match.h: Likewise.
27276 * util/mkisofs/mkisofs.c: Likewise.
27277 * util/mkisofs/mkisofs.h: Likewise.
27278 * util/mkisofs/msdos_partition.h: Likewise.
27279 * util/mkisofs/multi.c: Likewise.
27280 * util/mkisofs/name.c: Likewise.
27281 * util/mkisofs/rock.c: Likewise.
27282 * util/mkisofs/tree.c: Likewise.
27283 * util/mkisofs/write.c: Likewise.
27284
5dde9afe
VS
272852010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27286
27287 Unify grub-mkimage accross platforms.
27288
27289 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27290 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27291 (grub_mkelfimage_SOURCES): Removed.
27292 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27293 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27294 (bin_UTILITIES): Add grub-mkimage.
27295 (grub_mkimage_SOURCES): New variable.
27296 (kernel_img_HEADERS): Remove machine/kernel.h.
27297 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27298 (pkglib_PROGRAMS): Add kernel.img.
27299 (kernel_img_HEADERS): Add machine/kernel.h.
27300 (kernel_img_FORMAT): Removed.
27301 (bin_UTILITIES): Remove grub-mkimage.
27302 (grub_mkimage_SOURCES): Removed.
27303 (grub_mkimage_CFLAGS): Likewise.
27304 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27305 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27306 (pkglib_PROGRAMS): Add kernel.img.
27307 (bin_UTILITIES): Remove grub-mkimage.
27308 (grub_mkimage_SOURCES): Removed.
27309 (grub_mkimage_CFLAGS): Likewise.
27310 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27311 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27312 (pkglib_PROGRAMS): Add kernel.img.
27313 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27314 (pkglib_PROGRAMS): Add kernel.img.
27315 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27316 (grub_mkimage_SOURCES): Removed.
27317 (grub_mkimage_CFLAGS): Likewise.
27318 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27319 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27320 (pkglib_PROGRAMS): Add kernel.img.
27321 (bin_UTILITIES): Remove grub-mkimage.
27322 (grub_mkimage_SOURCES): Removed.
27323 (grub_mkimage_CFLAGS): Likewise.
27324 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27325 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27326 (grub_mkimage_SOURCES): Removed.
27327 (grub_mkimage_CFLAGS): Likewise.
27328 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27329 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27330 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27331 (grub_pe32_optional_header): ... this.
27332 (grub_pe64_optional_header): ... and this. All users updated.
27333 (GRUB_PE32_PE32_MAGIC): Split into ..
27334 (GRUB_PE32_PE32_MAGIC): .. this.
27335 (GRUB_PE32_PE64_MAGIC): .. and this.
27336 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27337 * include/grub/elf.h (PT_GNU_STACK): New definition.
27338 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27339 * include/grub/i386/efi/kernel.h: Likewise.
27340 * include/grub/i386/kernel.h: Likewise.
27341 * include/grub/i386/pc/kernel.h: Likewise.
27342 * include/grub/i386/qemu/boot.h: Likewise.
27343 * include/grub/mips/kernel.h: Likewise.
27344 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27345 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27346 * include/grub/powerpc/kernel.h: Likewise.
27347 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27348 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27349 * include/grub/sparc64/kernel.h: Likewise.
27350 * include/grub/x86_64/efi/kernel.h: Likewise.
27351 * include/grub/x86_64/kernel.h: Likewise.
27352 * include/grub/offsets.h: New file.
27353 * include/grub/kernel.h (grub_module_info): Split into ...
27354 (grub_module_info32): ... this.
27355 (grub_module_info64): ... and this.
27356 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27357 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27358 (grub_boot_blocklist): Moved from here ...
27359 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27360 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27361 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27362 * include/grub/types.h (grub_target_to_host16): Removed.
27363 (grub_target_to_host32): Likewise.
27364 (grub_target_to_host64): Likewise.
27365 (grub_host_to_target16): Likewise.
27366 (grub_host_to_target32): Likewise.
27367 (grub_host_to_target64): Likewise.
27368 (grub_host_to_target_addr): Likewise.
27369
27370 Support grub-mkrescue for efi, coreboot and qemu.
27371
27372 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27373 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27374 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27375 * util/grub-mkrawimage.c: Moved from here ...
27376 * util/grub-mkimage.c: ... here. All users updated.
27377 (ALIGN_ADDR): Use image_target.
27378 (TARGET_NO_FIELD): New const.
27379 (image_target_desc): New type.
27380 (image_targets): New array.
27381 (grub_target_to_host64): Use image_target.
27382 (grub_target_to_host32): Likewise.
27383 (grub_target_to_host16): Likewise.
27384 (grub_host_to_target64): Likewise.
27385 (grub_host_to_target32): Likewise.
27386 (grub_host_to_target16): Likewise.
27387 (grub_host_to_target_addr): Likewise.
27388 (generate_image): Handle multiimage.
27389 (main): Require -O parameter. All users updated.
27390 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27391 util/efi/grub-mkimage.c
27392 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27393 New option --rom-directory.
27394 Use xorriso.
27395 * util/i386/efi/grub-mkimage.c: Removed.
27396 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27397 (grub_target_to_host32): Likewise.
27398 (grub_target_to_host64): Likewise.
27399 (grub_host_to_target16): Likewise.
27400 (grub_host_to_target32): Likewise.
27401 (grub_host_to_target64): Likewise.
27402 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27403 (grub_target_to_host32): Likewise.
27404 (grub_target_to_host64): Likewise.
27405 (grub_host_to_target16): Likewise.
27406 (grub_host_to_target32): Likewise.
27407 (grub_host_to_target64): Likewise.
27408
f4fc97d0
BC
274092010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27410
27411 Source tree is reorganized for emu build.
27412
27413 * include/grub/util/console.h: Move from here...
27414 * include/grub/emu/console.h: ...to here.
27415 * include/grub/util/getroot.h: Move from here...
27416 * include/grub/emu/getroot.h: ...to here.
27417 * include/grub/util/hostdisk.h: Move from here...
27418 * include/grub/emu/hostdisk.h: ...to here.
27419 * util/console.c: Move from here...
27420 * kern/emu/console.c: ...to here.
27421 * util/getroot.c: Move from here...
27422 * kern/emu/getroot.c: ...to here.
27423 * util/grub-emu.c: Move from here...
27424 * kern/emu/main.c: ...to here.
27425 * util/hostdisk.c: Move from here...
27426 * kern/emu/hostdisk.c: ...to here.
27427 * util/hostfs.c: Move from here...
27428 * kern/emu/hostfs.c: ...to here.
27429 * util/mm.c: Move from here...
27430 * kern/emu/mm.c: ...to here.
27431 * util/pci.c: Move from here...
27432 * bus/emu/pci.c: ...to here.
27433 * util/sdl.c: Move from here...
27434 * video/emu/sdl.c: ...to here.
27435 * util/time.c: Move from here...
27436 * kern/emu/time.c: ...to here.
27437 * util/usb.c: Move from here...
27438 * bus/usb/emu/usb.c: ...to here.
27439
27440 * include/grub/emu/misc.h: New header for grub-emu functions.
27441 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27442
27443 * conf/any-emu.rmk: Rule updates for above renames.
27444 * conf/common.rmk: Likewise.
27445 * conf/i386-pc.rmk: Likewise.
27446 * conf/i386-qemu.rmk: Likewise.
27447 * conf/mips.rmk: Likewise.
27448 * conf/sparc64-ieee1275.rmk: Likewise.
27449 * conf/x86-efi.rmk: Likewise.
27450
27451 * disk/lvm.h: #include updates for above renames.
27452 * util/grub-mkrelpath.c: Likewise.
27453 * util/grub-probe.c: Likewise.
27454 * util/i386/pc/grub-setup.c: Likewise.
27455 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27456 * kern/emu/console.c: Likewise.
27457 * kern/emu/getroot.c: Likewise.
27458 * kern/emu/hostdisk.c: Likewise.
27459 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27460
27461 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27462 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27463 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27464 * util/misc.c: Remove grub-emu functions.
27465
cced9145
VS
274662010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27467
27468 Fix gfxmenu crash.
27469 Reported by: Thorsten Grützmacher.
27470
27471 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27472 timeout hook.
27473 (circprog_set_property): Register and unregister timeout hook.
27474 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27475 (label_destroy): Free template. and unregister hook.
27476 (label_set_state): New function.
27477 (label_set_property): Handle templates and hooks.
27478 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27479 timeout hook.
27480 (progress_bar_set_property): Register and unregister timeout hook.
27481 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27482 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27483 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27484 (update_timeout_visit): Removed.
27485 (update_timeouts): New function.
27486 (redraw_timeouts): Likewise.
27487 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27488 (grub_gfxmenu_clear_timeout): Likewise.
27489 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27490 (grub_gfxmenu_timeout_notify): Likewise.
27491 (grub_gfxmenu_timeout_notifications): New external variable.
27492 (grub_gfxmenu_timeout_register): New function.
27493 (grub_gfxmenu_timeout_unregister): Likewise.
27494
c6e5caab
VS
274952010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27496
27497 Transform (broken) vga terminal into (working) vga video driver.
27498
27499 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27500 video/i386/pc/vga.c.
27501 * include/grub/video.h (grub_video_driver_id):
27502 Add GRUB_VIDEO_DRIVER_VGA.
27503 * term/i386/pc/vga.c: Renamed to ...
27504 * video/i386/pc/vga.c: ...this
27505 (DEBUG_VGA): Removed.
27506 (CHAR_WIDTH): Likewise.
27507 (CHAR_HEIGHT): Likewise.
27508 (TEXT_WIDTH): Likewise.
27509 (TEXT_HEIGHT): Likewise.
27510 (DEFAULT_FG_COLOR): Likewise.
27511 (DEFAULT_BG_COLOR): Likewise.
27512 (colored_char): Likewise.
27513 (xpos): Likewise.
27514 (ypos): Likewise.
27515 (cursor_state): Likewise.
27516 (fg_color): Likewise.
27517 (bg_color): Likewise.
27518 (text_buf): Likewise.
27519 (page): Likewise.
27520 (font): Likewise.
27521 (framebuffer): New variable.
27522 (set_read_map): Disabled.
27523 (setup): New variable.
27524 (is_target): Likewise.
27525 (grub_vga_mod_init): Likewise.
27526 (grub_vga_mod_fini): Likewise.
27527 (check_vga_mem): Likewise.
27528 (write_char): Likewise.
27529 (write_cursor): Likewise.
27530 (scroll_up): Likewise.
27531 (grub_vga_putchar): Likewise.
27532 (grub_vga_getcharwidth): Likewise.
27533 (grub_vga_getwh): Likewise.
27534 (grub_vga_getxy): Likewise.
27535 (grub_vga_gotoxy): Likewise.
27536 (grub_vga_cls): Likewise.
27537 (grub_vga_setcolorstate): Likewise.
27538 (grub_vga_setcursor): Likewise.
27539 (grub_video_vga_init): New function.
27540 (grub_video_vga_setup): Likewise.
27541 (grub_video_vga_fini): Likewise.
27542 (update_target): Likewise.
27543 (grub_video_vga_blit_bitmap): Likewise.
27544 (grub_video_vga_blit_render_target): Likewise.
27545 (grub_video_vga_set_active_render_target): Likewise.
27546 (grub_video_vga_get_active_render_target): Likewise.
27547 (grub_video_vga_swap_buffers): Likewise.
27548 (grub_video_vga_set_palette): Likewise.
27549 (grub_video_vga_get_info_and_fini): Likewise.
27550 (grub_vga_term): Removed.
27551 (grub_video_vga_adapter): New variable.
27552 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27553 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27554
2bf61a98
VS
275552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 * video/readers/jpeg.c: Indented.
27558
09ddcd11
VS
275592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27560
27561 Various jpeg cleanups.
27562
27563 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27564 (grub_jpeg_decode_quan_table): Use sizeof.
27565 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27566
e5507505
PH
275672010-05-05 Peter Hurley <No e-mail available> (tiny change)
27568
27569 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27570 tables. Ignore non-last ac bit.
27571 (grub_jpeg_decode_quan_table): Likewise.
27572
7e720a9b
VS
275732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27576 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27577 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27578 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27579 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27580 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27581
a7fc080b
VS
275822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27583
27584 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27585 error.
27586
2bf6012d
VS
275872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27588
27589 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27590
265d68cd
VS
275912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27594 condition.
27595
275962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27597
27598 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27599 part.
27600
265d68cd 276012010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27602
27603 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27604 pointers.
27605
265d68cd 276062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27607
27608 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27609
d1b61374
CF
276102010-05-01 Christian Franke <franke@computer.org>
27611
27612 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27613 Remove broken Cygwin path conversion.
27614 * util/misc.c: [__CYGWIN__] Add include and define.
27615 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27616 for Cygwin 1.7.
27617 (make_system_path_relative_to_its_root): Simplify loop, replace early
27618 return by break.
27619 [__CYGWIN__] Add conversion to win32 path.
27620 Include "/" case in trailing slash removal.
27621
3558c6e9
VS
276222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27625 Reported by: Seth Goldberg
27626
f5f3ff93
VS
276272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27628
27629 * commands/help.c (grub_cmd_help): Fix a typo.
27630 Reported by: Seth Goldberg
27631
d8b5cd40
VS
276322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27633
27634 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27635 name and add N_.
27636 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27637 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27638 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27639 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27640 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27641 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27642 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27643 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27644 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27645 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27646 * normal/context.c (GRUB_MOD_INIT): Likewise.
27647 * normal/main.c (GRUB_MOD_INIT): Likewise.
27648 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27649 * term/serial.c (GRUB_MOD_INIT): Likewise.
27650 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27651
88c14915
VS
276522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27655 extra == 0.
27656
165134bc
VS
276572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 * commands/iorw.c: New file.
27660 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27661 (iorw_mod_SOURCES): New variable.
27662 (iorw_mod_CFLAGS): Likewise.
27663 (iorw_mod_LDFLAGS): Likewise.
27664
c5ac9b32
VS
276652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 Hotkey support
27668
27669 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27670 * normal/main.c (hotkey_aliases): New variable.
27671 (grub_normal_add_menu_entry): Parse "--hotkey".
27672 * normal/menu_text.c (run_menu): Handle hotkeys.
27673
ce60689c
VS
276742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * kern/i386/coreboot/init.c (grub_machine_init): Call
27677 grub_machine_mmap_init on qemu.
27678
0359d006
VS
276792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * boot/i386/qemu/boot.S: Add a missing .code16.
27682
7819a456
VS
276832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Use LBIO on coreboot.
27686
27687 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27688 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27689 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27690 New declaration.
27691 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27692 grub_machine_mmap_init on coreboot.
27693 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27694 GRUB_LINUXBIOS_MEMBER_LINK.
27695 (grub_machine_mmap_iterate): Fix declaration.
27696 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27697
7210dca9
VS
276982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 Split coreboot and multiboot ports.
27701
27702 * conf/i386-multiboot.rmk: New file.
27703 * configure.ac: Add multiboot port.
27704 * include/grub/i386/multiboot/boot.h: New file.
27705 * include/grub/i386/multiboot/console.h: Likewise.
27706 * include/grub/i386/multiboot/init.h: Likewise.
27707 * include/grub/i386/multiboot/kernel.h: Likewise.
27708 * include/grub/i386/multiboot/loader.h: Likewise.
27709 * include/grub/i386/multiboot/memory.h: Likewise.
27710 * include/grub/i386/multiboot/serial.h: Likewise.
27711 * include/grub/i386/multiboot/time.h: Likewise.
27712 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27713 * loader/multiboot.c: Likewise.
27714 * loader/multiboot_mbi2.c: Likewise.
27715 * util/grub-mkrescue.in: Generate multiboot rescue.
27716
6f8aaf68
VS
277172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27718
3080f7a7
VS
27719 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27720
277212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27722
27723 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27724
27725 * commands/terminal.c (abstract_terminal): New struct.
27726 (handle_command): New function. Based on grub_cmd_terminal_input.
27727 (grub_cmd_terminal_input): Use handle_command.
27728 (grub_cmd_terminal_output): Use handle_command.
27729
a8ebb841
BC
277302010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27731
27732 Fix comment handling.
27733
27734 * tests/grub_script_comments.in: New testcase.
27735 * conf/tests.rmk: Rules for new testcase.
27736 * script/yylex.l: Updated flex rules.
27737
bb06ba08
ST
277382010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27739
27740 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27741 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27742 if argc is 1.
bb06ba08 27743
cc9d2425
VS
277442010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27745
27746 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27747 autogen issues.
27748
460d8402
CF
277492010-04-26 Christian Franke <franke@computer.org>
27750
27751 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27752 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27753 (grub_get_prefix): Remove function.
27754 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27755 make_system_path_relative_to_its_root ().
27756 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27757
553c01f9
CF
277582010-04-24 Christian Franke <franke@computer.org>
27759
27760 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27761 (kernel_img_LDFLAGS): Remove -static-libgcc.
27762
2aec1692
CF
277632010-04-24 Christian Franke <franke@computer.org>
27764
27765 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27766 and CHECK_END_SYMBOL if grub-emu is built.
27767 Unset TARGET_OBJ2ELF if grub-emu is built
27768 without module support.
27769
f67dc308
JS
277702010-04-24 Jiro SEKIBA <jir@unicus.jp>
27771
27772 Nilfs2 support.
27773
27774 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27775 (grub_fstest_SOURCES): Likewise.
27776 (pkglib_MODULES): Add nilfs2.mod.
27777 (nilfs2_mod_SOURCES): New variable.
27778 (nilfs2_mod_CFLAGS): Likewise.
27779 (nilfs2_mod_LDFLAGS): Likewise.
27780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27781 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27782 * fs/nilfs2.c: New file.
27783
4ba8d354
VS
277842010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27787 is not supported.
27788
0d2c20c6
GS
277892010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27790
27791 Add grub-mkconfig support for NetBSD.
27792
27793 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27794 * util/grub-mkconfig.in: export new NetBSD specific variables.
27795 * po/POTFILES-shell: added 10_netbsd.in.
27796 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27797
bc4a2d83
BC
277982010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27799
27800 Fix emu build with grub-emu-pci and grub-emu-modules.
27801
27802 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27803 functions.
27804 * include/grub/libpciaccess.h: New file.
27805 * conf/any-emu.rmk: Update kernel headers for emu build.
27806
f48c87aa
VS
278072010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27808
27809 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27810
18959385
VS
278112010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27812
27813 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27814
0037de3f
VS
278152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27818 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27819 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27820 util/ieee1275/ofpath.c.
27821 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27822 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27823 * include/grub/sparc64/ieee1275/boot.h
27824 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27825 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27826 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27827 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27828 const char *.
27829 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27830 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27831 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27832 install.
27833
38e55e90
GS
278342010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27835
27836 * util/grub-mkconfig.in: Corrected two == equality tests.
27837 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27838 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27839 expect a number appended to it.
27840 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27841 expects a number appended to it.
27842
a9e6ff28
VS
278432010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27846
0b830b8f
VS
278472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27848
27849 * util/hostdisk.c (make_device_name): Change to new partition naming.
27850
0973daeb
VS
278512010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27854
460d8402 278552010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27856
27857 * Makefile.in: Add missing localedir setting.
27858
0b456309
CW
278592010-04-14 Colin Watson <cjwatson@ubuntu.com>
27860
27861 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27862 mistake in r2156. Noticed by Anthony Fok.
27863
27864 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27865 @localedir@.
27866 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27867
08f46d62
BC
278682010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27869
27870 Fix a spurious, uninitialized variable warning.
27871
27872 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27873 Initialize variable, shdr.
27874 (grub_freebsd_load_elfmodule): Likewise.
27875 (grub_freebsd_load_elf_meta): Likewise.
27876
8c4a72d4
BC
278772010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27878
27879 Fix for escaped dollar in double quoted strings.
27880
27881 * script/yylex.l: Updated flex rules.
27882 * conf/tests.rmk: Rule for new testcase.
27883 * tests/grub_script_dollar.in: New testcase.
27884
ce44826e
CPE
278852010-04-13 Carles Pina i Estany <carles@pina.cat>
278862010-04-13 Colin Watson <cjwatson@ubuntu.com>
27887
27888 Enclose all translated strings in grub.cfg in single quotes, and
27889 escape them appropriately (Ubuntu bug #552921).
27890
27891 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27892 * util/grub.d/10_hurd.in: Use it.
27893 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27894 * util/grub.d/10_linux.in (linux_entry): Likewise.
27895
4b0cd8f8
VS
278962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27897
27898 Fix cygwin compilation.
27899
27900 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27901 * include/grub/misc.h (__register_frame_info)
27902 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27903 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27904 * kern/misc.c (__register_frame_info)
27905 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27906 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27907
01fcf061
VS
279082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27911
5d04b11e
VS
279122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27913
27914 Unify libgcc processing.
27915
27916 * Makefile.in (kernel_img_LDFLAGS): New variable.
27917 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27918 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27919 overwriting.
27920 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27921 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27922 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27923 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27924 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27925 overwriting. Remove -lgcc and -static-libgcc
27926 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27927 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27928 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27929 (kernel_img_LDFLAGS): Append instead of overwriting.
27930 Remove -lgcc and -static-libgcc
27931 * conf/sparc64-ieee1275.rmk: Likewise.
27932 * include/grub/powerpc/libgcc.h: Move to ...
27933 * include/grub/libgcc.h: .. this.
27934 * include/grub/libgcc.h: Don't export most of the function on x86.
27935 (__bswapsi2): New export.
27936 (__bswapdi2): Likewise.
27937 * include/grub/mips/libgcc.h: Removed.
27938 * include/grub/sparc64/libgcc.h: Likewise.
27939
b7f3ac29
VS
279402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27943 disk_info_msg (conflicts with gettexting into languages with cases).
27944
2c7031b1
GS
279452010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27946
27947 Add grub-probe support for NetBSD.
27948
27949 * util/getroot.c (find_root_device): Convert block device to
27950 character device on NetBSD.
27951 * util/probe.c (probe): Require character device on NetBSD.
27952 * util/hostdisk.c: NetBSD specific headers.
27953 (configure_device_driver): new function to tune device driver
27954 parameters (currently only for NetBSD floppy driver).
27955 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27956 via disklabel ioctl).
27957 (open_device): call configure_device_driver on NetBSD.
27958 (convert_system_partition_to_system_disk): NetBSD specific code.
27959 (device_is_wholedisk): Likewise.
27960 (grub_util_biosdisk_get_grub_dev): Likewise.
27961 (make_device_name): Fixed a typo in bsd_part_str.
27962 * configure.ac: check for opendisk() and getrawpartition() on
27963 NetBSD and set LIBUTIL.
27964 * Makefile.in: add LIBUTIL to LIBS.
27965
f516290c
BC
279662010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27967
27968 Documentation fix.
27969
27970 * util/grub-script-check.c: Better help message.
27971
d8dcc0df
BC
279722010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27973
27974 Fix FreeBSD build.
27975
27976 * configure.ac: Flex version check.
27977 * conf/common.rmk: Add -Wno-error to sh.mod.
27978 * script/yylex.l: Remove all #pragma.
27979
6734334a
VS
279802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27983 prototype.
27984 Reported by: Seth Goldberg.
27985
daea6abd
VS
279862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27987
27988 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27989 Rename "module" to "module2".
27990 Reported by: Seth Goldberg.
27991
f2fd9d2b
VS
279922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27995 EXPORT_FUNC.
27996 Reported by: Seth Goldberg.
27997
be124579
VS
279982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 * lib/posix_wrap/locale.h: Add missing file.
28001 Reported by: Seth Goldberg.
28002
ef5da797
VS
280032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28004
28005 grub-emu module load support.
28006
28007 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28008 NO_DYNAMIC_MODULES switched to this.
28009 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28010 (CFLAGS): Likewise.
28011 * conf/any-emu.rmk: Generate symlist.
28012 (kernel_img_HEADERS): Add util/datetime.h.
28013 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28014 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28015 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28016 kern/$(target_cpu)/cache.S.
28017 * configure.ac (grub-emu-modules): New option.
28018 * genmk.rb: Handle multiple source lists.
28019 * include/grub/sdl.h: New file.
28020 * include/grub/libusb.h: Likewise.
28021 * util/grub-emu.c (main): Hanle (host) root.
28022 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28023 GRUB_ERR_UNKNOWN_DEVICE.
28024 * util/misc.c: Move mm functions to ...
28025 * util/mm.c: ... here. All users updated.
28026
47822096
VS
280272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28028
28029 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28030 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28031 missing files.
28032 (maintainer-clean): Remove libgcrypt-grub.
28033
5d7e7445
VS
280342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28037
25f4e252
EC
280382010-04-09 EFI Coder <eficoder@hotmail.com>
28039
28040 * normal/menu_text.c (print_message): Clean up the message and show
28041 the Fn information when on EFI
28042 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28043
027de555
VS
280442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28047 All users updated.
28048 * normal/crypto.c (read_crypto_list): Likewise.
28049 * normal/dyncmd.c (read_command_list): Likewise.
28050 * normal/term.c (read_terminal_list): Likewise.
28051 * normal/main.c (read_lists): Use explicit prefix.
28052 (read_lists_hook): Use read_lists.
28053 (grub_normal_execute): Likewise.
28054
47779711
VS
280552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28056
28057 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28058 Reported by: Thomas Schmitt.
28059 Add -no-emul-boot to grub-mkisofs parameters.
28060
1118c32e
VS
280612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 * font/font.c: Indented.
28064
7d652447
BC
280652010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28066
28067 Elif support to GRUB script (by Deepak Vankadaru).
28068
28069 * tests/grub_script_if.in: New testcase.
28070 * conf/tests.rmk: Rule for new testcase.
28071 * script/parser.y: Grammar rules for elif.
28072
34bb22df
BC
280732010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28074
28075 While and until loops support to GRUB script.
28076
28077 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28078 (grub_script_create_cmdwhile): New function prototype.
28079 (grub_script_execute_cmdwhile): New function prototype.
28080 * script/execute.c (grub_script_execute_cmdwhile): New function.
28081 * script/parser.y (command): New commands.
28082 (whilecmd): New grammar rule.
28083 (untilcmd): New grammar rule.
28084 * script/script.c (grub_script_create_cmdwhile): New function.
28085 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28086 function.
28087
28088 * tests/grub_script_while1.in: New testcase.
28089 * conf/tests.rmk: Rule for new testcase.
28090
e215d8e0
VS
280912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28092
28093 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28094 as *.jpg.
28095
d7c43ba1
MV
280962010-04-09 Mario Vazquez <mariovazq@gmail.com>
28097
28098 GRUB_BACKGROUND support.
28099
28100 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28101 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28102
d64795c0
VS
281032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28106 Idea by: Mario Vazquez
d64795c0
VS
28107
28108 * util/grub.d/00_header.in: Load pf2 and image modules.
28109
f267f83a
VS
281102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 grub-mkconfig multiple terminal support.
28113
28114 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28115 * util/grub.d/00_header.in: Likewise.
28116
b7841ceb
VS
281172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28120 we use cd $(srcdir).
28121
df60998c
CW
281222010-04-08 Colin Watson <cjwatson@ubuntu.com>
28123
28124 * util/grub.d/10_linux.in: Only use the first word of
28125 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28126 spaces in GRUB_DISTRIBUTOR.
28127 * util/grub.d/10_kfreebsd.in: Likewise.
28128 * util/grub.d/10_hurd.in: Likewise.
28129
fa09c82e
BC
281302010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28131
14e18ae3 28132 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28133
28134 * tests/util/grub-shell.in: Remove -serial stdio option.
28135
daf892b3
BC
281362010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 POSIX header file wrappers.
28139
28140 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28141 equivalents.
28142 * lib/posix_wrap/ctype.h: Likewise.
28143 * lib/posix_wrap/errno.h: Likewise.
28144 * lib/posix_wrap/langinfo.h: Likewise.
28145 * lib/posix_wrap/limits.h: Likewise.
28146 * lib/posix_wrap/localcharset.h: Likewise.
28147 * lib/posix_wrap/stdint.h: Likewise.
28148 * lib/posix_wrap/stdio.h: Likewise.
28149 * lib/posix_wrap/stdlib.h: Likewise.
28150 * lib/posix_wrap/string.h: Likewise.
28151 * lib/posix_wrap/sys/types.h: Likewise.
28152 * lib/posix_wrap/unistd.h: Likewise.
28153 * lib/posix_wrap/wchar.h: Likewise.
28154 * lib/posix_wrap/wctype.h: Likewise.
28155 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28156 (grub_script.yy.h): Likewise.
28157 * script/yylex.l: Remove POSIX emulation #defines.
28158 * Makefile.in (POSIX_CFLAGS): New variable.
28159 (GNULIB_UTIL_CFLAGS): Likewise.
28160
28161 Regexp support.
28162
28163 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28164 (regexp_mod_SOURCES): New variable.
28165 (regexp_mod_CFLAGS): Likewise.
28166 (regexp_mod_LDFLAGS): Likewise.
28167 * commands/regexp.c: New file.
28168 * gnulib/regcomp.c: New file. Imported from gnulib.
28169 * gnulib/regex.c: Likewise.
28170 * gnulib/regex_internal.c: Likewise.
28171 * gnulib/regex_internal.h: Likewise.
28172 * gnulib/regexec.c: Likewise.
28173 * gnulib/regex.h: Likewise.
28174
974ac4f7
VS
281752010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28176
28177 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28178 unsupported video mode types.
28179
2622c3ff
VS
281802010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28183
064cb524
VS
281842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28187 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28188
a8c3b552
VS
281892010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Remove unused grub_vga_get_font.
28192
28193 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28194 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28195
187bbe3d
GS
281962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28197
28198 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28199 * include/grub/misc.h: Likewise.
28200
b9396631
GS
282012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28202
28203 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28204 for which failure is fatal.
28205
50479feb
GS
282062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28207
28208 * util/grub-install.in: Use mkdir -p to create grub directory.
28209 * util/i386/efi/grub-install.in: Likewise.
28210 * util/ieee1275/grub-install.in: Likewise.
28211
b1654fdf
GS
282122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28213
28214 * Makefile.in (LEX): new variable.
28215
bd5a6415
GS
282162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28217
28218 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28219 `=' and added double quotes on operands of this equality test.
28220
3db3a82b
VS
282212010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 * Makefile.in (uninstall): Remove a leftover debug echo.
28224 Reported by: Grégoire Sutre
28225
38023412
VS
282262010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28227
28228 MIPS multiboot2 support.
28229
28230 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28231 (multiboot2_mod_SOURCES): New variable.
28232 (multiboot2_mod_CFLAGS): Likewise.
28233 (multiboot2_mod_LDFLAGS): Likewise.
28234 (multiboot2_mod_ASFLAGS): Likewise.
28235 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28236 definition.
28237 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28238 (MULTIBOOT_MBI_REGISTER): Likewise.
28239 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28240 (MULTIBOOT_ELF32_MACHINE): Likewise.
28241 (MULTIBOOT_ELF64_MACHINE): Likewise.
28242 * include/grub/mips/multiboot.h: New file.
28243 * include/grub/video.h (grub_video_driver_id): New type
28244 GRUB_VIDEO_DRIVER_SM712.
28245 (grub_video_get_info_and_fini): Export.
28246 (grub_video_get_palette): Likewise.
28247 (grub_video_get_driver_id): Likewise.
28248 * include/multiboot2.h: Resynced with spec.
28249 * loader/i386/multiboot.c: Moved from here ...
28250 * loader/multiboot.c: ... here. All users updated.
28251 (grub_multiboot_boot): Use platform-specific macros.
28252 * loader/i386/multiboot_elfxx.c: Moved from here ...
28253 * loader/multiboot_elfxx.c: ... here. All users updated.
28254 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28255 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28256 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28257
47674667
VS
282582010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 Import gnulib argp module.
28261
28262 * gnulib/argp-ba.c: New file.
28263 * gnulib/argp-eexst.c: Likewise.
28264 * gnulib/argp-fmtstream.c: Likewise.
28265 * gnulib/argp-fmtstream.h: Likewise.
28266 * gnulib/argp-fs-xinl.c: Likewise.
28267 * gnulib/argp-help.c: Likewise.
28268 * gnulib/argp-namefrob.h: Likewise.
28269 * gnulib/argp-parse.c: Likewise.
28270 * gnulib/argp-pin.c: Likewise.
28271 * gnulib/argp-pv.c: Likewise.
28272 * gnulib/argp-pvh.c: Likewise.
28273 * gnulib/argp-version-etc.c: Likewise.
28274 * gnulib/argp-version-etc.h: Likewise.
28275 * gnulib/argp-xinl.c: Likewise.
28276 * gnulib/argp.h: Likewise.
28277
495442ed
VS
282782010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 * kern/device.c (grub_device_iterate): Clear errors after failed
28281 opening device.
28282
f9fd65df
VS
282832010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28286 returned by firmware.
28287
af09641e
VS
282882010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28291 compilation on coreboot and qemu
28292
016883a5
VS
282932010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * include/multiboot2.h: Resync with spec.
28296
f97e1f7d
VS
282972010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 Multiboot2 tag support
28300
28301 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28302 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28303 Remove loader/multiboot_loader.c.
28304 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28305 (grub_multiboot2_real_boot): Likewise.
28306 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28307 (grub_get_multiboot_mmap_count): New proto.
28308 (grub_fill_multiboot_mmap): Likewise.
28309 (grub_multiboot_set_video_mode): Likewise.
28310 (grub_multiboot_set_console): Likewise.
28311 (grub_multiboot_load): Likewise.
28312 (grub_multiboot_load_elf): Likewise.
28313 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28314 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28315 * include/multiboot.h: Resynced with specification.
28316 * include/multiboot2.h: Resynced with specification.
28317 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28318 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28319 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28320 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28321 users updated.
28322 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28323 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28324 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28325 Removed.
28326 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28327 Moved from here...
28328 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28329 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28330 Moved from here...
28331 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28332 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28333 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28334 All users updated.
28335 * loader/i386/multiboot_mbi2.c: New file.
28336
3506b90b
VS
283372010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 Resync with gnulib.
28340
28341 * Makefile.in (GNULIB_CFLAGS): New variable.
28342 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28343 (grub_script_check_CFLAGS): New variable.
28344 * gnulib/alloca.h: Resync with gnulib.
28345 * gnulib/error.c: Likewise.
28346 * gnulib/error.h: Likewise.
28347 * gnulib/fnmatch.c: Likewise.
28348 * gnulib/fnmatch_loop.c: Likewise.
28349 * gnulib/getdelim.c: Likewise.
28350 * gnulib/getline.c: Likewise.
28351 * gnulib/getopt.c: Likewise.
28352 * gnulib/getopt1.c: Likewise.
28353 * gnulib/getopt_int.h: Likewise.
28354 * gnulib/gettext.h: Likewise.
28355 * gnulib/progname.c: Likewise.
28356 * gnulib/progname.h: Likewise.
28357
394a3120
GS
283582010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28359
28360 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28361 which is the case with --disabled-nls.
28362
28363 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28364 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28365 * util/misc.c: Likewise.
28366 * util/mkisofs/mkisofs.c: Likewise.
28367 * util/mkisofs/mkisofs.h: Likewise.
28368
969d1c78
VS
283692010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 Simplify Apple CC support.
28372
28373 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28374 Add 0 byte at the end not to have a symbol with empty target.
28375 * mmap/i386/pc/mmap_helper.S: Likewise.
28376 * genmk.rb: Ignore errors 2030 and 2050.
28377 * kern/i386/pc/startup.S: Use LOCAL when possible.
28378
8d2977bb
BC
283792010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28380
28381 Testcase and the fix for final semicolon on cmdline.
28382
28383 * tests/grub_script_final_semicolon.in: New testcase.
28384 * conf/tests.rmk: Rules for the new testcase.
28385 * script/parser.y: Grammar fix.
28386
a7bd6915
BC
283872010-03-26 BVK Chaitanya <bvk@localhost>
28388
28389 Blank lines testcase for GRUB script.
28390
28391 * tests/grub_script_blanklines.in: New testcase.
28392 * conf/tests.rmk: Rules for the new testcase.
28393
e4ff6628
VS
283942010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28395
28396 Don't use __FILE__.
28397
28398 * genmk.rb: Add -DGRUB_FILE to all C targets.
28399 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28400 * include/grub/list.h: Likewise.
28401 * include/grub/misc.h: Likewise.
28402 * include/grub/mm.h: Likewise.
28403 * include/grub/test.h: Likewise.
28404 * kern/mm.c: Likewise.
28405 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28406
6a5cf6b6
VS
284072010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 Sunpc partitions support.
28410
28411 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28412 (grub_fstest_SOURCES): Likewise.
28413 (pkglib_MODULES): Add part_sunpc.mod.
28414 (part_sunpc_mod_SOURCES): New variable.
28415 (part_sunpc_mod_CFLAGS): Likewise.
28416 (part_sunpc_mod_LDFLAGS): Likewise.
28417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28418 * partmap/sunpc.c: New file.
28419
746d9045
BC
284202010-03-26 BVK Chaitanya <bvk@localhost>
28421
28422 For loop support to GRUB script.
28423
28424 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28425 (grub_script_create_cmdfor): New function prototype.
28426 (grub_script_execute_cmdfor): New function prototype.
28427 * script/execute.c (grub_script_execute_cmdfor): New function.
28428 * script/parser.y (command): New for command.
28429 (forcmd): New grammar rule.
28430 * script/script.c (grub_script_create_cmdfor): New function.
28431 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28432 function.
28433 * tests/grub_script_for1.in: New testcase.
28434 * conf/tests.rmk: Rules for new testcase.
28435
18486b18
VS
284362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28437
28438 Nested partitions
28439
28440 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28441 'partition' is NULL, grub_partition_get_start already does that.
28442 * commands/loadenv.c (check_blocklists): Likewise.
28443 (write_blocklists): Likewise.
28444 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28445 (grub_fstest_SOURCES): Likewise.
28446 (pkglib_MODULES): Add part_bsd.mod.
28447 (part_bsd_mod_SOURCES): New variable.
28448 (part_bsd_mod_CFLAGS): Likewise.
28449 (part_bsd_mod_LDFLAGS): Likewise.
28450 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28451 (grub_emu_SOURCES): Likewise.
28452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28453 * include/grub/bsdlabel.h: New file.
28454 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28455 'get_name'.
28456 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28457 (grub_partition_map_list): New variable.
28458 (grub_partition_map_register): Inline.
28459 (grub_partition_map_unregister): Likewise.
28460 (FOR_PARTITION_MAPS): New macro.
28461 (grub_partition_map_iterate): Removed.
28462 (grub_partition_get_start): Handle nested partitions.
28463 * include/grub/msdos_partition.h: Remove bsd-related entries.
28464 (grub_pc_partition): Remove.
28465 * kern/disk.c (grub_disk_close): Free partition data.
28466 (grub_disk_adjust_range): Handle nested partitions.
28467 * kern/partition.c (grub_partition_map_probe): New function.
28468 (grub_partition_probe): Parse name to number, handle subpartitions.
28469 (get_partmap): New function.
28470 (grub_partition_iterate): Handle subpartitions.
28471 (grub_partition_get_name): Likewise.
28472 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28473 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28474 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28475 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28476 Set 'number'.
28477 (acorn_partition_map_probe): Remove.
28478 (acorn_partition_map_get_name): Likewise.
28479 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28480 Set 'number'.
28481 Set 'index' to 0 since there can be only one partition entry per sector.
28482 (amiga_partition_map_probe): Remove.
28483 (amiga_partition_map_get_name): Likewise.
28484 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28485 Set 'number'.
28486 Set 'offset' and 'index' to real positions of partitions.
28487 (apple_partition_map_probe): Remove.
28488 (apple_partition_map_get_name): Likewise.
28489 * partmap/bsdlabel.c: New file.
28490 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28491 Set 'number'.
28492 Allocate 'data' so it can be correctly freed.
28493 Set 'index' to offset inside sector.
28494 (gpt_partition_map_probe): Remove.
28495 (gpt_partition_map_get_name): Likewise.
28496 * partmap/msdos.c (grub_partition_parse): Remove.
28497 (pc_partition_map_iterate): Don't force raw access.
28498 Set 'number'.
28499 Make 'ext_offset' a local variable.
28500 (pc_partition_map_probe): Remove.
28501 (pc_partition_map_get_name): Remove.
28502 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28503 Set 'number'.
28504 (sun_partition_map_probe): Remove.
28505 (sun_partition_map_get_name): Likewise.
28506 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28507 (grub_pcpart_type): Likewise.
28508 * util/hostdisk.c (open_device): Handle new numbering scheme.
28509 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28510 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28511 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28512 * util/grub-install.in: Insert all subpartition modules.
28513 * util/ieee1275/grub-install.in: Likewise.
28514
a3940f88
AG
285152010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28516
28517 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28518 grammar.
28519
21b99926 285202010-03-24 Colin Watson <cjwatson@ubuntu.com>
28521
28522 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28523
bed1d352
CW
285242010-03-21 Colin Watson <cjwatson@ubuntu.com>
28525
28526 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28527 match where 'make install' puts them.
28528 * util/i386/efi/grub-install.in: Likewise.
28529
c9f58427
CW
285302010-03-19 Colin Watson <cjwatson@ubuntu.com>
28531
28532 * .bzrignore: Add gentrigtables, grub-script-check,
28533 grub_script_check_init.c, grub_script_check_init.h, and
28534 trigtables.c.
28535
f84afb27
VS
285362010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28537
28538 * kern/parser.c: Indented.
28539
ed0e3d30
VS
285402010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28541
28542 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28543
0ea81d98
VS
285442010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28545
28546 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28547 alpha_mask_size == 0 case.
28548
0cdc2a09
BC
285492010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28550
28551 GRUB shell lexer and parser improvements.
28552
28553 * conf/any-emu.rmk: Build rule updates.
28554 * conf/common.rmk: Likewise.
28555 * conf/i386-coreboot.rmk: Likewise.
28556 * conf/i386-efi.rmk: Likewise.
28557 * conf/i386-ieee1275.rmk: Likewise.
28558 * conf/i386-pc.rmk: Likewise.
28559 * conf/powerpc-ieee1275.rmk: Likewise.
28560 * conf/x86_64-efi.rmk: Likewise.
28561
28562 * configure.ac: Configure check for flex.
28563
28564 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28565 types.
28566 (grub_lexer_param): Struct member updates.
28567 (grub_parser_param): Likewise.
28568 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28569 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28570 (grub_script_lexer_init): Prototype update.
28571 (grub_script_lexer_record_start): Likewise.
28572 (grub_script_lexer_record_stop): Likewise.
28573 (grub_script_lexer_yywrap): New function prototype.
28574 (grub_script_lexer_fini): Likewise.
28575 (grub_script_execute_argument_to_string): Removed by...
28576 (grub_script_execute_argument_to_argv): ...better version.
28577
28578 * script/execute.c (ROUND_UPTO): New macro.
28579 (grub_script_execute_cmdline): Out of memory fixes.
28580 (grub_script_execute_menuentry): Likewise.
28581 (grub_script_execute_argument_to_string): Removed. Update all
28582 users by...
28583 (grub_script_execute_argument_to_argv): ...better version.
28584 * script/function.c (grub_script_function_create): Use
28585 grub_script_execute_argument_to_argv instead of
28586 grub_script_execute_argument_to_string.
28587
28588 * script/lexer.c (check_varstate): Removed.
28589 (check_textstate): Removed.
28590 (grub_script_lexer_record_start): Likewise.
28591 (grub_script_lexer_record_stop): Likewise.
28592 (recordchar): Replaced with...
28593 (grub_script_lexer_record): ...new function.
28594 (nextchar): Removed.
28595 (grub_script_lexer_init): Rewritten.
28596 (grub_script_yylex): Rewritten.
28597 (append_newline): New function.
28598 (grub_script_lexer_yywrap): New function.
28599 (grub_script_lexer_fini): New function.
28600 (grub_script_yyerror): Sets error flag.
28601
28602 * script/yylex.l: New file.
28603 (grub_lexer_yyfree): Wrapper for flex yyffre.
28604 (grub_lexer_yyalloc): Likewise.
28605 (grub_lexer_yyrealloc): Likewise.
28606 * script/parser.y: Refactored.
28607
28608 * script/script.c (grub_script_arg_add): Out of memory fixes.
28609 (grub_script_add_arglist): Likewise.
28610 (grub_script_create_cmdline): Likewise.
28611 (grub_script_create_cmdmenu): Likewise.
28612 (grub_script_add_cmd): Likewise.
28613 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28614 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28615 unnecessary code.
28616
28617 * tests/grub_script_echo1.in: New testcase.
28618 * tests/grub_script_vars1.in: New testcase.
28619 * tests/grub_script_echo_keywords.in: New testcase.
28620
1d63a066
VS
286212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28622
28623 Remove some redundancy in build system.
28624
28625 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28626 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28627 (TARGET_LDFLAGS): Add -nostdlib.
28628 (TARGET_IMG_LDFLAGS): Likewise.
28629 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28630 anything since mmap isn't available.
28631 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28632 Add util/time.c.
28633 (pkglib_MODULES): Remove reboot.mod.
28634 (reboot_mod_SOURCES): Removed.
28635 (reboot_mod_CFLAGS): Likewise.
28636 (reboot_mod_LDFLAGS): Likewise.
28637 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28638 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28639 (DEFSYMFILES): Add kernel_syms.lst.
28640 (kernel_img_HEADERS): Add common headers.
28641 (symlist.c): New target.
28642 (kernel_syms.lst): Likewise.
28643 (pkglib_MODULES): Add memdisk.mod.
28644 (memdisk_mod_SOURCES): New variable.
28645 (memdisk_mod_CFLAGS): Likewise.
28646 (memdisk_mod_LDFLAGS): Likewise.
28647 (pkglib_MODULES): Add reboot.mod.
28648 (reboot_mod_SOURCES): New variable.
28649 (reboot_mod_CFLAGS): Likewise.
28650 (reboot_mod_LDFLAGS): Likewise.
28651 (pkglib_MODULES): Add date.mod.
28652 (date_mod_SOURCES): New variable.
28653 (date_mod_CFLAGS): Likewise.
28654 (date_mod_LDFLAGS): Likewise.
28655 (pkglib_MODULES): Add datehook.mod.
28656 (datehook_mod_SOURCES): New variable.
28657 (datehook_mod_CFLAGS): Likewise.
28658 (datehook_mod_LDFLAGS): Likewise.
28659 (pkglib_MODULES): Add lsmmap.mod.
28660 (lsmmap_mod_SOURCES): New variable.
28661 (lsmmap_mod_CFLAGS): Likewise.
28662 (lsmmap_mod_LDFLAGS): Likewise.
28663 (pkglib_MODULES): Add boot.mod.
28664 (boot_mod_SOURCES): New variable.
28665 (boot_mod_CFLAGS): Likewise.
28666 (boot_mod_LDFLAGS): Likewise.
28667 * conf/i386-coreboot.rmk: Removed redundant parts.
28668 * conf/i386-ieee1275.rmk: Likewise.
28669 * conf/i386-pc.rmk: Likewise.
28670 * conf/mips-yeeloong.rmk: Likewise.
28671 * conf/mips.rmk: Likewise.
28672 * conf/powerpc-ieee1275.rmk: Likewise.
28673 * conf/sparc64-ieee1275.rmk: Likewise.
28674 * conf/x86_64-efi.rmk: Likewise.
28675 * conf/i386-coreboot.rmk: Moved qemu parts ..
28676 * conf/i386-qemu.rmk: ... here
28677 * conf/i386-efi.rmk: Moved common parts to...
28678 * conf/x86-efi.rmk: ... here.
28679 * conf/i386.rmk: Added modules common to all x86 variants.
28680 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28681 * disk/memdisk.c: Remove grub/machine/kernel.h.
28682 * gensymlist.sh.in: Include symbol.h.
28683 * hook/datehook.c: Correct module name.
28684 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28685 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28686 * include/grub/i386/efi/serial.h: New file.
28687 * include/grub/x86_64/efi/serial.h: Likewise.
28688 * util/time.c: Likewise.
28689 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28690
463ac55f
CK
286912010-03-14 Colin King <colin.king@ubuntu.com>
286922010-03-14 Colin Watson <cjwatson@ubuntu.com>
28693
28694 Shrink the pre-partition-table part of boot.img by eight bytes.
28695
28696 * boot/i386/pc/boot.S (ERR): New macro.
28697 (chs_mode): Use ERR.
28698 (geometry_error): Likewise.
28699 (hd_probe_error): Remove. This is only used once, so we wrwite
28700 it inline instead.
28701 (read_error): Instead of printing read_error_string, just set up
28702 %si and fall through to ...
28703 (error_message): ... this new function, also used by ERR.
28704
08e46ede
CW
287052010-03-14 Colin Watson <cjwatson@ubuntu.com>
28706
28707 Speed up consecutive hostdisk operations on the same device.
28708
28709 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28710 (grub_util_biosdisk_open): Initialise disk->data.
28711 (struct linux_partition_cache): New structure.
28712 (linux_find_partition): Cache partition start positions; these are
28713 expensive to compute on every read and write.
28714 (open_device): Cache open file descriptor in disk->data, so that we
28715 don't have to reopen it and flush the buffer cache for consecutive
28716 operations on the same device.
28717 (grub_util_biosdisk_close): New function.
28718 (grub_util_biosdisk_dev): Set `close' member.
28719
28720 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28721 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28722 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28723 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28724 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28725
4a6d2d06
VS
287262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28727
28728 Compile parts of grub-emu as modules.
28729
28730 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28731 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28732 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28733 (all-local): Add $(GRUB_EMU).
28734 (install-local): Install $(GRUB_EMU).
28735 (uninstall): Uninstall $(GRUB_EMU).
28736 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28737 * kern/dl.c: Likewise.
28738 * commands/sleep.c: Not include machine/time.h.
28739 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28740 (COMMON_CFLAGS): Likewise.
28741 (sbin_UTILITIES): Remove grub-emu.
28742 (grub_emu_SOURCES): Removed.
28743 (kernel_img_RELOCATABLE): New variable.
28744 (pkglib_PROGRAMS): Add kernel.img.
28745 (kernel_img_SOURCES): New variable
28746 (kernel_img_CFLAGS): Likewise.
28747 (kernel_img_LDFLAGS): Likewise.
28748 (TARGET_NO_STRIP): Likewise.
28749 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28750 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28751 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28752 (grub-emu): New target.
28753 (GRUB_EMU): New variable.
28754 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28755 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28756 * loader/xnu.c: Likewise.
28757 * include/grub/pci.h: Likewise.
28758 * genemuinit.sh: New file.
28759 * genemuinitheader.sh: Likewise.
28760 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28761 Support TARGET_NO_DYNAMIC_MODULES.
28762 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28763 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28764 * disk/loopback.c: Likewise.
28765 * font/font_cmd.c: Likewise.
28766 * partmap/acorn.c: Likewise.
28767 * partmap/amiga.c: Likewise.
28768 * partmap/apple.c: Likewise.
28769 * partmap/gpt.c: Likewise.
28770 * partmap/msdos.c: Likewise.
28771 * partmap/sun.c: Likewise.
28772 * parttool/msdospart.c: Likewise.
28773 * term/gfxterm.c: Likewise.
28774 * video/bitmap.c: Likewise.
28775 * video/readers/jpeg.c: Likewise.
28776 * video/readers/png.c: Likewise.
28777 * video/readers/tga.c: Likewise.
28778 * video/video.c: Likewise.
28779 * util/grub-emu.c (read_command_list): Removed.
28780 (main): Don't call util_init_nls.
28781 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28782 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28783
91fdd2ed
VS
287842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28785
28786 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28787 date.mod, datehook.mod.
28788 (datetime_mod_SOURCES): New variable.
28789 (datetime_mod_CFLAGS): Likewise.
28790 (datetime_mod_LDFLAGS): Likewise.
28791 (date_mod_SOURCES): Likewise.
28792 (date_mod_CFLAGS): Likewise.
28793 (date_mod_LDFLAGS): Likewise.
28794 (datehook_mod_SOURCES): Likewise.
28795 (datehook_mod_CFLAGS): Likewise.
28796 (datehook_mod_LDFLAGS): Likewise.
28797 * conf/sparc64-ieee1275.rmk: Likewise.
28798 * lib/ieee1275/datetime.c: New file.
28799
873ccae6
VS
288002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28803 (ieee1275_fb_mod_SOURCES): New variable.
28804 (ieee1275_fb_mod_CFLAGS): Likewise.
28805 (ieee1275_fb_mod_LDFLAGS): Likewise.
28806 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28807 New proto.
28808 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28809 (HEAP_MAX_ADDR): Likewise.
28810 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28811 type.
28812 Correct stop condition.
28813 (grub_ieee1275_devices_iterate): New function.
28814 * video/ieee1275.c: New file.
28815
601c97c0
VS
288162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28819
28820 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28821 as scratch.
28822 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28823 SCRATCH_PAD_DISKBOOT as scratch.
28824 (bootit): Pass Openfirmware pointer in %o4.
28825 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28826 of 0x200000.
28827 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28828 with util/grub-mkrawimage.c.
28829 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28830 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28831 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28832 (grub_aout_load) [GRUB_UTIL]: Likewise.
28833 * include/grub/kernel.h (grub_modules_get_end): New proto.
28834 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28835 (SCRATCH_PAD_BOOT): New definition.
28836 (SCRATCH_PAD_DISKBOOT): Likewise.
28837 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28838 * include/grub/sparc64/ieee1275/ieee1275.h
28839 (grub_ieee1275_original_stack): New variable
28840 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28841 New definition
28842 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28843 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28844 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28845 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28846 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28847 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28848 (grub_platform_image_format_t): New type.
28849 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28850 * kern/main.c (grub_modules_get_end)
28851 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28852 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28853 (codestart): Switch stacks.
28854 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28855 variable.
28856 (grub_heap_init): Use grub_modules_get_end.
28857 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28858 stack.
28859 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28860 (main): Likewise.
28861 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28862
d68b491e
TG
288632010-03-14 Thorsten Glaser <tg@mirbsd.org>
28864
28865 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28866
4e02ed50
MK
288672010-03-08 Matt Kraai <kraai@ftbfs.org>
28868
28869 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28870 bug #559005).
28871
1f15fc1e
VS
288722010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * genmoddep.awk: Output all missing symbols and not only first.
28875
fce5d8ff
VS
288762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 * NEWS: Put the date of 1.98 release.
28879
d1e8a02f
VS
288802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28883 ft2build.h.
28884
696fd607
VS
288852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28888 completition in the middle of string.
28889
33e2e6f3
VS
288902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28891
28892 * util/grub-mkrescue.in: Use mktemp with explicit template.
28893
b1f6d291
VS
288942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28897
2ac227c7
VS
288982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28899
28900 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28901 right pointer.
28902
8f9a632b
VS
289032010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 Fix FreeBSD compilation.
28906
28907 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28908 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28909
60b03859
VS
289102010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28911
28912 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28913
48a5a769
VS
289142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28915
28916 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28917
3ab4bd77
VS
289182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28919
28920 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28921
d116e0d8
RM
289222010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28923
28924 Support relative image path in theme file.
28925
28926 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28927 (image_set_property): Handle theme_dir and relative path.
28928
c7ef54aa
VS
289292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28930
28931 * configure.ac: Alias amd64 to x86_64.
28932
fcee14ed
VS
289332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28934
28935 * NEWS: mention multiboot on EFI.
28936
d0780363
VS
289372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28938
28939 * kern/main.c (grub_load_modules): Handle errors from init functions of
28940 embeded modules.
28941
41168ea4
VS
289422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28943
28944 * normal/autofs.c (autoload_fs_module): Handle errors.
28945
b54d93ac
VS
289462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28947
28948 Disable linux.mod on qemu-mips since it's not functional and leads
28949 to compilation failure.
28950
28951 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28952 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28953 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28954 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28955 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28956 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28957 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28958 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28959 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28960 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28961 Reported by: BVK Chaitanya
28962
fc8345da
JU
289632010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28964
28965 * INSTALL: Add gettext as a dependency and add qemu to a new section
28966 "Prerequisites for make-check".
28967
4760f979
CF
289682010-03-04 Christian Franke <franke@computer.org>
28969
28970 * util/grub-pe2elf.c: Add missing include "progname.h".
28971
f209b5b2
VS
289722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28973
28974 * normal/crypto.c (read_crypto_list): Fix a typo.
28975 Reported by: Seth Goldberg.
28976
b4b7be98
VS
289772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28978
28979 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28980 Reported by: Seth Goldberg.
b4b7be98 28981
c0ee0385
VS
289822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28983
28984 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28985 ascii.bitmaps.
28986
a8efbf64
VS
289872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28990 Reported by: Seth Goldberg.
a8efbf64 28991
08dcd913
VS
289922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28993
28994 * util/i386/efi/grub-install.in: Copy gettext files.
28995
c4d0b332
VS
289962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28999
c6f2fe52
VS
290002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29001
29002 Wait for user entry basing on presence of output rather than on errors.
29003
29004 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29005 (grub_install_newline_hook): Likewise.
29006 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29007 * normal/menu.c (show_menu): Check line_counter to determine presence
29008 of output.
29009 * normal/term.c (grub_normal_line_counter): New variable.
29010 (grub_normal_get_line_counter): New function.
29011 (grub_install_newline_hook): Likewise.
29012
5382b1e4
VS
290132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29014
29015 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29016
5519963b
VS
290172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * configure.ac: Update version to 1.98.
29020
72b28631
VS
290212010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 * util/grub.d/10_linux.in (linux_entry): Don't default to
29024 gfxpayload=keep if Linux doesn't support video handover.
29025
c140a180
VS
290262010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 Don't compile video modules on yeeloong since video subsystem is part
29029 of kernel.
29030
29031 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29032 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29033 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29034 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29035 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29036 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29037 * include/grub/bitmap_scale.h: Likewise.
29038 * include/grub/bufio.h: Likewise.
29039 * include/grub/font.h: Likewise.
29040 * include/grub/gfxterm.h: Likewise.
29041 * include/grub/video.h: Likewise.
29042 * include/grub/vbe.h: Don't include video_fb.h.
29043 * video/i386/pc/vbe.c: Include video_fb.h.
29044 * commands/i386/pc/vbetest.c: Include video.h.
29045
a0ca21c2
CW
290462010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29047
29048 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29049 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29050 default entry if GRUB_SAVEDEFAULT=true. This allows using
29051 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29052 saving a new default on every boot.
29053
4a8a763c
VS
290542010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29057 * normal/term.c (read_terminal_list): Likewise.
29058 * normal/main.c (grub_normal_init_page): Likewise.
29059 (grub_normal_read_line_real): Likewise.
29060
607ffde2
VS
290612010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29062
29063 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29064 memory leak.
29065 Reported by: Seth Goldberg.
29066
2b8fa975
CW
290672010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29068
29069 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29070 duplicate declaration of `start'.
29071
618307dd
VS
290722010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29073
29074 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29075 filename.
29076 Reported by: Georgy Buranov
29077
7dd05b96 290782010-02-20 Carles Pina i Estany <carles@pina.cat>
29079
29080 * util/grub-mkrawimage.c (usage): Change string formatting to
29081 improve gettext.
29082
d1484a42
MRA
290832010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29084
29085 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29086 backspace keys.
29087
42b1d186
VS
290882010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29089
29090 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29091 Reported by: Michael Suchanek.
29092
290932010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29094
29095 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29096 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29097
d9f31a41
VS
290982010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29099
29100 Remove any reference to non-free fonts.
29101
29102 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29103 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29104 uses non-free components.
29105 * font/font.c (grub_font_get_name): Remove example name.
29106 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29107 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29108 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29109 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29110
2793c71e
GB
291112010-02-16 Georgy Buranov <gburanov@gmail.com>
29112
29113 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29114
402e3779
VS
291152010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29116
29117 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29118 Double divisor.
29119 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29120 features.
29121 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29122
0dd1e0dd
VS
291232010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29124
29125 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29126
6fa7cfce
ST
291272010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29128
29129 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29130 * docs/grub.texi (Command-line and menu entry commands): Document play
29131 command.
29132
37c8483b
ST
291332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29134
29135 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29136 parse arguments as inline tempo and notes. Move code for playing notes
29137 to...
29138 (play): ... new function.
29139
14da0fb7
ST
291402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29141
29142 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29143 grub_uint16_t instead of short.
29144 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29145 disk from little endian to cpu endianness.
29146
04459e70
ST
291472010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29148
29149 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29150 GRUB_TICKS_PER_SECOND instead of 120.
29151
a0876943
VS
291522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29153
29154 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29155 escape sequence after \e.
29156
e29f95dc
VS
291572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29158
29159 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29160 non-ASCII characters.
29161
d27859b2
VS
291622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29163
29164 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29165 set root in single quotes to prevent \, from being unescaped.
29166
bc028f2f
VS
291672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29168
29169 Prevent unknown commands from stopping menuentry execution.
29170
29171 * script/execute.c (grub_script_execute_cmdline): Print error after
29172 unknown command.
29173
095f5f82
VS
291742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29175
29176 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29177 Reported by: Pavel Pisa.
29178
8c717950
VS
291792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29180
29181 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29182
904935c3
VS
291832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29184
29185 Merge grub_ieee1275_map_physical into grub_map and rename to
29186 grub_ieee1275_map
29187
29188 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29189 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29190 Remove.
29191 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29192 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29193 necessary.
29194 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29195
5b59a4e3
VS
291962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29197
29198 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29199 opening and not after.
29200
69e137e8
VS
292012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29202
29203 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29204 constants.
29205
2c0fcc36
VS
292062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29207
29208 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29209 (alloc_phys): Use ALIGN_UP instead of align_addr.
29210
8c6052ce
VS
292112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29212
29213 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29214
17cec782
VS
292152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29216
29217 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29218
e0128bbd
VS
292192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29220
29221 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29222 verbose dprintf.
29223
ca62070b
VS
292242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29225
29226 Fix over-4GiB seek on sparc64.
29227
29228 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29229 Replace pos_i and pos_lo with pos. All users updated.
29230 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29231 New constant.
29232 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29233 Likewise.
29234 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29235 and pos_lo.
29236
bdca2607
VS
292372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29238
29239 * util/grub-mkrawimage.c (main): Call set_program_name.
29240
da278c4d
VS
292412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 Properly align 64-bit targets.
29244
29245 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29246 (generate_image): Use ALIGN_ADDR.
29247
b274d734
VS
292482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29249
29250 Properly create cross-endian images.
29251
29252 * include/grub/types.h (grub_host_to_target_addr): New macro
29253 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29254
82da2062
VS
292552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29256
29257 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29258
7cae4377
VS
292592010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29262
29263 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29264 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29265 (grub_linux_boot): Divide by 64K when on VESA.
29266
65a533e7
VS
292672010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 Support GRUB_GFXPAYLOAD_LINUX.
29270
29271 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29272 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29273
dd01d397
VS
292742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29275
29276 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29277 to show messages instead of discarding them.
29278 Process errors after executing command and not before. Keep old method
29279 too as precaution.
29280
660960d6
VS
292812010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29282
29283 * configure.ac: Check for ft2build.h.
29284
62509f04
VS
292852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29286
29287 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29288
473df63d
VS
292892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29290
29291 * genkernsyms.sh.in: Use TARGET_CC.
29292
c98d2a13
CW
292932010-02-07 Colin Watson <cjwatson@ubuntu.com>
29294
29295 * NEWS: Update.
29296
6e14234c
VS
292972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29298
29299 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29300 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29301 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29302
b255e9cf
YB
293032010-02-07 Yves Blusseau <blusseau@zetam.org>
29304
6e14234c 29305 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29306
98e6959d
VS
293072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29308
29309 Fix warnings in grub-emu when compiling with maximum warning options.
29310
29311 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29312 (grub_arch_modules_addr): Return 0 and not NULL.
29313 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29314 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29315 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29316 of disk to dsk to avoid shadowing.
74e4934e
VS
29317 (find_free_slot): Fix prototype.
29318 * util/getroot.c (grub_util_is_dmraid): Make static.
29319 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29320 Add missing prototype.
29321 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29322
74e31b5c
VS
293232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29326 appropriately.
29327
6b2ad14b
VS
293282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29329
29330 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29331 code out.
29332
8f891adc
VS
293332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29334
29335 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29336 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29337 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29338 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29339 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29340 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29341
74b45184
VS
293422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29343
29344 * include/grub/err.h (grub_err_printf): Don't export.
29345
a4bced77
VS
293462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29349
007d0695
VS
293502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29351
29352 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29353 * kern/misc.c (grub_gettext_dummy): Make static.
29354
b6c0d9c2
VS
293552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29356
29357 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29358 by non-valid ones.
29359 * kern/term.c (grub_putchar): Likewise.
29360
f51a90d0
VS
293612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29364 buggy hook call and memory leak.
29365
6846cec5
VS
293662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29367
29368 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29369
468d69fe
VS
293702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29371
29372 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29373
51906b8c
VS
293742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29375
29376 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29377 modevar.
29378 Return grub_errno on allocation error.
29379
09706ce5
VS
293802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29381
29382 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29383
911df80c
YB
293842010-02-06 Yves Blusseau <blusseau@zetam.org>
29385
29386 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29387 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29388
3746a6bc
VS
293892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29390
29391 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29392 non-pxe disk.
29393 (grub_pxefs_open): Likewise.
29394
09706ce5
VS
293952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29396
29397 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29398 * util/grub.d/10_kfreebsd.in: Likewise.
29399 * util/grub.d/10_linux.in: Likewise.
29400
7cc192d9
VS
294012010-02-06 Colin D Bennett <colin@gibibit.com>
29402
29403 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29404 (gfxmenu_mod_SOURCES): New variable.
29405 (gfxmenu_mod_CFLAGS): Likewise.
29406 (gfxmenu_mod_LDFLAGS): Likewise.
29407 * include/grub/term.h (grub_term_set_current_output): Declare
29408 argument as const.
29409 * docs/gfxmenu-theme-example.txt: New file.
29410 * gfxmenu/gfxmenu.c: Likewise.
29411 * gfxmenu/gui_box.c: Likewise.
29412 * gfxmenu/gui_canvas.c: Likewise.
29413 * gfxmenu/gui_circular_progress.c: Likewise.
29414 * gfxmenu/gui_image.c: Likewise.
29415 * gfxmenu/gui_label.c: Likewise.
29416 * gfxmenu/gui_list.c: Likewise.
29417 * gfxmenu/gui_progress_bar.c: Likewise.
29418 * gfxmenu/gui_string_util.c: Likewise.
29419 * gfxmenu/gui_util.c: Likewise.
29420 * gfxmenu/icon_manager.c: Likewise.
29421 * gfxmenu/model.c: Likewise.
29422 * gfxmenu/named_colors.c: Likewise.
29423 * gfxmenu/theme_loader.c: Likewise.
29424 * gfxmenu/view.c: Likewise.
29425 * gfxmenu/widget-box.c: Likewise.
29426 * include/grub/gfxmenu_model.h: Likewise.
29427 * include/grub/gfxmenu_view.h: Likewise.
29428 * include/grub/gfxwidgets.h: Likewise.
29429 * include/grub/gui.h: Likewise.
29430 * include/grub/gui_string_util.h: Likewise.
29431 * include/grub/icon_manager.h: Likewise.
29432
294332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29434
29435 Agglomerate scrolling in gfxterm.
29436
29437 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29438 (grub_virtual_screen_setup): Initialise 'total_screen'.
29439 (write_char): Split to ...
29440 (paint_char): ... this ...
29441 (write_char): ... and this.
29442 (paint_char): Handle delayed scrolling.
29443 (draw_cursor): Likewise.
29444 (scroll_up): Split to ...
29445 (real_scroll): ... this ...
29446 (scroll_up): ... and this.
29447 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29448 characters.
29449 (grub_gfxterm_refresh): Call real_scroll.
29450
294512010-02-06 Colin D Bennett <colin@gibibit.com>
29452
29453 * include/grub/misc.h (grub_iscntrl): New inline function.
29454 (grub_isalnum): Likewise.
29455 (grub_strtol): Likewise.
29456
294572010-02-06 Colin D Bennett <colin@gibibit.com>
29458
29459 * normal/menu_text.c (get_entry_number): Move from here ...
29460 * normal/menu.c (get_entry_number): ... moved here.
29461 * include/grub/menu.h (grub_menu_get_default_entry_index):
29462 New prototype.
29463 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29464 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29465 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29466 (grub_menu_viewer_should_return): Likewise.
29467 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29468 * normal/menu_text.c (run_menu): Enable menu switching.
29469 * normal/menu_viewer.c (should_return): New variable.
29470 (menu_viewer_changed): Likewise.
29471 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29472 (grub_menu_viewer_should_return): New function.
29473 (menuviewer_write_hook): Likewise.
29474 (grub_menu_viewer_init): Likewise.
29475
294762010-02-06 Colin D Bennet <colin@gibibit.com>
294772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29478
29479 Support for gfxterm in a window.
29480
29481 * include/grub/gfxterm.h: New file.
29482 * include/grub/video.h (struct grub_video_rect): New declaration.
29483 (grub_video_rect_t): Likewise.
29484 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29485 (refcount): New variable.
29486 (render_target): Likewise.
29487 (window): Likewise.
29488 (repaint_callback): Likewise.
29489 (grub_virtual_screen_setup): Use 'render_target'.
29490 (init_window): New function.
29491 (grub_gfxterm_init_window): Likewise.
29492 (grub_gfxterm_init): Check reference counter.
29493 Use init_window.
29494 (destroy_window): New function.
29495 (grub_gfxterm_destroy_window): Likewise.
29496 (grub_gfxterm_fini): Check reference counter.
29497 Use destroy_window.
29498 (redraw_screen_rect): Restore viewport.
29499 Use 'render_target' and 'window'.
29500 Call 'repaint_callback'.
29501 (write_char): Use 'render_target'.
29502 (draw_cursor): Likewise.
29503 (scroll_up): Restore viewport.
29504 Use 'render_target' and 'window'.
29505 Call 'repaint_callback'.
29506 (grub_gfxterm_cls): Likewise.
29507 (grub_gfxterm_refresh): Use 'window'.
29508 (grub_gfxterm_set_repaint_callback): New function.
29509 (grub_gfxterm_background_image_cmd): Use 'window'.
29510 (grub_gfxterm_get_term): New function.
29511 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29512
295132010-02-06 Colin D Bennett <colin@gibibit.com>
29514
29515 Bitmap scaling support.
29516
29517 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29518 (bitmap_scale_mod_SOURCES): New variable.
29519 (bitmap_scale_mod_CFLAGS): Likewise.
29520 (bitmap_scale_mod_LDFLAGS): Likewise.
29521 * include/grub/bitmap_scale.h: New file.
29522 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29523 (background_image_cmd_options): New variable.
29524 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29525 (cmd): Rename and change type to ...
29526 (background_image_cmd_handle): ... this. All users updated.
29527 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29528 * video/bitmap_scale.c: New file.
29529
295302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29531
29532 SDL support.
29533
29534 * Makefile.in (LIBSDL): New variable.
29535 (enable_grub_emu_sdl): Likewise.
29536 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29537 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29538 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29539 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29540 * util/sdl.c: New file.
29541
295422010-02-06 Colin D Bennett <colin@gibibit.com>
295432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 Double buffering support.
29546
29547 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29548 * include/grub/video.h: Update comment.
29549 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29550 New type.
29551 (grub_video_fb_doublebuf_blit_init): New prototype.
29552 * term/gfxterm.c (scroll_up): Support double buffering.
29553 (grub_gfxterm_refresh): Likewise.
29554 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29555 (grub_video_fb_doublebuf_blit_init): Likewise.
29556 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29557 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29558 'displayed_page', 'render_page' and 'update_screen'.
29559 (grub_video_vbe_fini): Free offscreen buffer.
29560 (doublebuf_pageflipping_commit): New function.
29561 (doublebuf_pageflipping_update_screen): Likewise.
29562 (doublebuf_pageflipping_init): Likewise.
29563 (double_buffering_init): Likewise.
29564 (grub_video_vbe_setup): Enable doublebuffering.
29565 (grub_video_vbe_swap_buffers): Implement.
29566 (grub_video_vbe_set_active_render_target): Handle double buffering.
29567 (grub_video_vbe_get_active_render_target): Likewise.
29568 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29569 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29570 (grub_video_vbe_enable_double_buffering): Likewise.
29571 (grub_video_vbe_swap_buffers): Use update_screen.
29572 (grub_video_set_mode): Use double buffering.
29573
295742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29575
29576 * maintainance/gentrigtables.py: Remove.
29577 * lib/trig.c: Likewise.
29578
29579 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29580
29581 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29582 `trigtables.c'.
29583 (trigtables.c): New rule.
29584 (gentrigtables): Likewise.
29585 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29586
295872010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29588
29589 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29590 integer constants.
29591
295922010-02-06 Colin D Bennet <colin@gibibit.com>
29593
29594 Trigonometry support.
29595
29596 * include/grub/trig.h: New file.
29597 * lib/trig.c: Likewise.
29598 * maintainance/gentrigtables.py: Likewise.
29599 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29600 (trig_mod_SOURCES): New variable.
29601 (trig_mod_CFLAGS): Likewise.
29602 (trig_mod_LDFLAGS): Likewise.
29603
5562834e
VS
296042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29605
29606 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29607 disk devices.
29608
4f8528fc
VS
296092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29610
29611 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29612 error.
29613
2b4068e9
VS
296142010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29615
29616 * util/hostdisk.c (open_device): Don't use partition device when reading
29617 before the partition.
29618 (grub_util_biosdisk_read): Don't read from partition and before the
29619 partition in single operation.
29620 (grub_util_biosdisk_write): Don't write to partition and before the
29621 partition in single operation.
29622
399f6e4d
TL
296232010-02-03 Torsten Landschoff <torsten@debian.org>
29624
29625 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29626 last sectors.
29627
996649b0
VS
296282010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29629
29630 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29631 CDROM reads.
29632 (grub_biosdisk_write): Refuse to write to CDROM.
29633
3b205d4d
VS
296342010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29637
61e89d9d
VS
296382010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29639
29640 * font/font.c (find_glyph): Check that bmp_idx is available before
29641 using it.
29642 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29643 with (font == NULL).
29644
bf7fcba2
CS
296452010-01-28 Christian Schmitt <chris@ilovelinux.de>
29646
29647 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29648
f45d2663
BC
296492010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29650
29651 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29652 * util/grub-script-check.c (getline): Fix empty lines case.
29653
ec1444e6
RM
296542010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29655
29656 * Makefile.in (check): Exit with fail status when one of the tests
29657 fails.
29658 * tests/example_functional_test.c (example_test): Fix reversed assert.
29659 * tests/example_unit_test.c (example_test): Likewise.
29660
2e1cb9bb
CW
296612010-01-28 Colin Watson <cjwatson@ubuntu.com>
29662
29663 * util/grub.d/10_linux.in: This script does not use any of the
29664 contents of gettext.sh, only the external command `gettext', so stop
29665 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29666 the same prefix as GRUB.)
29667 * util/grub.d/10_kfreebsd.in: Likewise.
29668
63533ab0
VS
296692010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29670
29671 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29672 of the line.
29673
989e1f93
VS
296742010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29677 last sectors.
29678
e709ebe2
VS
296792010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29680
29681 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29682 having a 4KiB and not 32KiB buffer size.
29683
27dea7ed
RM
296842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29685
29686 * util/hostfs.c: Include `<errno.h>'.
29687 (grub_hostfs_read): Handle errors from fseeko() and fread().
29688
67667b9c
RM
296892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29690
29691 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29692 loop when using read hooks on files whose size isn't sector-aligned.
29693
c294d9d8
RM
296942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29695
29696 Remove unused parameter.
29697
29698 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29699 (grub_iso9660_open): Remove initialization of `data->length'.
29700
af75a9f1
RM
297012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29702
29703 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29704 memleak conditions.
29705
254e2ce5 297062010-01-27 Carles Pina i Estany <carles@pina.cat>
29707
29708 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29709 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29710
b510928c 297112010-01-26 Carles Pina i Estany <carles@pina.cat>
29712
29713 * util/bin2h.c (usage): Fix warning (space after backslash).
29714
aa2f9dd2 297152010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29716
29717 * font/font.c: Include `grub/fontformat.h.
29718 Remove font file format constants.
29719 (grub_font_load): Use the new macros.
29720 * include/grub/fontformat.h: New file.
29721 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29722 (write_font_pf2): Use the new macros.
29723
94e7e712
RM
297242010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29725
29726 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29727 does.
29728
3973a59a
RM
297292010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29730
29731 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29732
29733 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29734 (_start): Macroify `0x7F'.
29735
29736 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29737 (make_install_device): Use "(pxe)" as fallback prefix when booting
29738 via PXE.
29739
42e0cba3
GS
297402010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29741
29742 * configure.ac: Reset LIBS after check for libgcc symbols.
29743
847effd8
CW
297442010-01-25 Colin Watson <cjwatson@ubuntu.com>
29745
29746 * util/hostdisk.c (open_device): Add trailing newline to debug
29747 message.
29748
ea4a7e35
GS
297492010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29750
29751 * configure.ac: Check for `limits.h'.
29752 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29753
67951a53
RM
297542010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29755
29756 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29757 capitalize error strings.
29758
c273d4ce
ST
297592010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29760
29761 * util/grub.d/10_hurd.in: Add a recovery mode.
29762
69be5b74
VS
297632010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29764
29765 * configure.ac: Check for libgcc symbols with -nostdlib.
29766
fc9e5810
BC
297672010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29768
29769 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29770
4b358c0a
VS
297712010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29772
29773 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29774 stack since heap may be unavailable at that point.
29775 (grub_ofconsole_gotoxy): Likewise.
29776
454fcd1c
VS
297772010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 * configure.ac: Check for _restgpr_14_x.
29780 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29781 and _savegpr_* prototypes.
29782
566863ca
RM
297832010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29784
29785 Use generic grub_reboot() for i386-efi.
29786
29787 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29788 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29789 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29790
bf86e59a
VS
297912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29792
29793 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29794 presence of "prefix" variable as it breaks when normal.mod is
29795 embedded.
29796
d645e0f8
VS
297972010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29798
29799 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29800 stack since heap is unavailable at that point.
29801
f9ab2e25
VS
298022010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29803
29804 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29805 (grub_freebsd_bootinfo): Rewritten.
29806 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29807
01fc7054
VS
298082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29809
29810 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29811
caab4fd6
RM
298122010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29813
29814 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29815 domain now.
29816
67eb1427
FZ
298172010-01-20 Felix Zielcke <fzielcke@z-51.de>
29818
29819 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29820 around for handling "/" to the correct fix. Fix a memory leak. Use
29821 xstrdup instead of strdup.
29822
a9ed4ff3
VS
298232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29824
29825 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29826
298272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29828
29829 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29830
29831 * font/font.c (struct grub_font): New member 'bmp_idx'.
29832 (font_init): Initialise 'bmp_idx'.
29833 (load_font_index): Fill 'bmp_idx'.
29834 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29835
48209f4f
VS
298362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29837
29838 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29839 unnecessary calls.
29840
9f0a4bb7
VS
298412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29842
29843 Move context handling out of the kernel.
29844
29845 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29846 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29847 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29848 * conf/i386-efi.rmk: Likewise.
29849 * conf/i386-ieee1275.rmk: Likewise.
29850 * conf/i386-pc.rmk: Likewise.
29851 * conf/powerpc-ieee1275.rmk: Likewise.
29852 * conf/sparc64-ieee1275.rmk: Likewise.
29853 * conf/x86_64-efi.rmk: Likewise.
29854 * include/grub/env.h: Include grub/menu.h.
29855 (grub_env_var_type): Removed.
29856 (grub_env_var): Replaced field 'type' with 'global'.
29857 (grub_env_find): New prototype.
29858 (grub_env_context_open): Remove EXPORT_FUNC.
29859 (grub_env_context_close): Likewise.
29860 (grub_env_export): Likewise.
29861 (grub_env_set_data_slot): Removed.
29862 (grub_env_get_data_slot): Likewise.
29863 (grub_env_unset_data_slot): Likewise.
29864 (grub_env_unset_menu): New prototype.
29865 (grub_env_set_menu): Likewise.
29866 (grub_env_get_menu): Likewise.
29867 * include/grub/env_private.h: New file.
29868 * include/grub/normal.h (grub_context_init): New prototype.
29869 (grub_context_fini): Likewise.
29870 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29871 * normal/context.c (grub_cmd_export): ... to here.
29872 * kern/env.c: Include env_private.h.
29873 (HASHSZ): Moved to include/grub/env_private.h.
29874 (grub_env_context): Likewise.
29875 (grub_env_sorted_var): Likewise.
29876 (current_context): Renamed from this ...
29877 (grub_current_context): ...to this. 'static' removed. All users updated.
29878 (grub_env_find): Removed 'static'.
29879 (grub_env_context_open): Moved to normal/context.c.
29880 (grub_env_context_close): Likewise.
29881 (grub_env_export): Likewise.
29882 (mangle_data_slot_name): Removed.
29883 (grub_env_set_data_slot): Likewise.
29884 (grub_env_get_data_slot): Likewise.
29885 (grub_env_unset_data_slot): Likewise.
29886 * kern/main.c (grub_set_root_dev): Don't export root.
29887 It will be done later.
29888 (grub_main): Don't export prefix.
29889 It will be done later.
29890 * normal/context.c: New file.
29891 * normal/main.c (free_menu): Use grub_env_unset_menu.
29892 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29893 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29894 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29895 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29896
8dd35b8c
VS
298972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 setpci support.
29900
29901 * commands/setpci.c: New file.
29902 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29903 (setpci_mod_SOURCES): New variable.
29904 (setpci_mod_CFLAGS): Likewise.
29905 (setpci_mod_LDFLAGS): Likewise.
29906
449193d5
VS
299072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29908
29909 Byte-addressable PCI configuration space.
29910
29911 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29912 dword address.
29913 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29914 GRUB_PCI_REG_CACHELINE.
29915 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29916 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29917 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29918 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29919 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29920 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29921 grub_pci_make_address.
29922 (lock_rom_area): Likewise.
29923 * commands/lspci.c (grub_lspci_iter): Use macroses
29924 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29925 of grub_pci_make_address.
29926 * disk/ata.c (grub_ata_pciinit): Likewise.
29927 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29928 (GRUB_PCI_REG_VENDOR): Likewise.
29929 (GRUB_PCI_REG_DEVICE): Likewise.
29930 (GRUB_PCI_REG_COMMAND): Likewise.
29931 (GRUB_PCI_REG_STATUS): Likewise.
29932 (GRUB_PCI_REG_REVISION): Likewise.
29933 (GRUB_PCI_REG_CLASS): Likewise.
29934 (GRUB_PCI_REG_CACHELINE): Likewise.
29935 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29936 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29937 (GRUB_PCI_REG_BIST): Likewise.
29938 (GRUB_PCI_REG_ADDRESSES): Likewise.
29939 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29940 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29941 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29942 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29943 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29944 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29945 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29946 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29947 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29948 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29949 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29950 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29951 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29952 (GRUB_PCI_REG_MIN_GNT): Likewise.
29953 (GRUB_PCI_REG_MAX_LAT): Likewise.
29954 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29955 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29956 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29957 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29958 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29959 space.
29960
96d73208
RM
299612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29964 can be reliably determined to be supported.
29965
d4484482
RM
299662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29967
29968 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29969 that VESA is supported.
29970 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29971 supported.
29972
00308ecf
VS
299732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29976
f66924a4
RM
299772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29978
29979 * util/misc.c (make_system_path_relative_to_its_root): Work around
29980 special-casing of "/", as previous incarnation of this routine did.
29981
cbca0ada
VS
299822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29983
29984 Fix any-emu compilation.
29985
29986 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29987 * grub_bin2h_SOURCES: New variable.
29988
34a66d99
RM
299892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29990
29991 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29992
94fabf58
RM
299932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * util/grub.d/00_header.in: Fix handling of locale_dir.
29996
02cf98ca
VS
299972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30000 as possible unifont location (Gentoo).
30001 Reported by: Alexander Brüning
30002
327dbcd7
VS
300032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 Don't try to generate lists for kernel.img.
30006
30007 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30008 (pkglib_MODULES): Remove kernel.img.
30009 (kernel_img_EXPORTS): Removed.
30010 (kernel_img_RELOCATABLE): New variable.
30011 * conf/x86_64-efi.rmk: Likewise.
30012 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30013
ca467290
VS
300142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30015
30016 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30017 grub_xasprintf or grub_snprintf.
30018 (grub_vsprintf): Likewise.
30019 (grub_snprintf): New proto.
30020 (grub_vsnprintf): Likewise.
30021 (grub_xasprintf): Likewise.
30022 (grub_xvasprintf): Likewise.
30023 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30024 (grub_sprintf): Removed.
30025 (grub_vsnprintf): New function.
30026 (grub_snprintf): Likewise.
30027 (grub_xvasprintf): Likewise.
30028 (grub_xasprintf): Likewise.
30029 (grub_vsprintf): Renamed to ...
30030 (grub_vsnprintf_real): ...this. New argument max_len.
30031
aca655fd
BC
300322010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30033
30034 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30035 fix grub-script-check warning.
30036
7ee92c32
VS
300372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 * include/grub/font.h (grub_font_load): Fix prototype.
30040
f80927ca
VS
300412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30042
30043 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30044
119c50ea
VS
300452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 * include/grub/x86_64/at_keyboard.h: New file.
30048
47d5f3c1
VS
300492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30050
30051 * loader/mips/linux.c: Include missing grub/i18n.h.
30052
55ff5266
RM
300532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30054
30055 * normal/menu.c (notify_execution_failure): Clarify error message.
30056
c893cc87
RM
300572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30058
30059 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30060 return value (and revert all return statements). Update users.
30061
917dd370
CW
300622010-01-20 Dan Merillat <debian@dan.merillat.org>
30063
30064 * kern/device.c (grub_device_iterate): Allocate new part_ent
30065 structure based on sizeof (*p) rather than sizeof (p->next), to
30066 account for structure padding.
30067
30068 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30069 disk is NULL, which might happen for LVM physical volumes with no
30070 LVM signature.
30071
d4a4ee57
RM
300722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30073
30074 * loader/mips/linux.c (grub_cmd_initrd)
30075 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30076
300772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30078
30079 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30080 (grub_video_video_init, grub_video_bitmap_init)
30081 (grub_font_manager_init, grub_term_gfxterm_init)
30082 (grub_at_keyboard_init): New extern declarations.
30083 (grub_machine_init): Initialize gfxterm and at_keyboard.
30084
30085 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30086
30087 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30088 `gfxterm.mod' into core image.
30089
30090 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30091 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30092 (kernel_img_FORMAT): Copy to ...
30093
30094 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30095 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30096 (kernel_img_FORMAT): ... here, and ...
30097
30098 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30099 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30100 (kernel_img_FORMAT): ... here.
30101
30102 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30103 and input (at_keyboard) terminals in kernel.
30104 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30105
30106 (pkglib_MODULES): Remove `pci.mod'.
30107 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30108 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30109 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30110 (at_keyboard_mod_LDFLAGS): Remove variables.
30111
301122010-01-11 Felix Zielcke <fzielcke@z-51.de>
30113
30114 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30115
301162009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30117
30118 * include/grub/mips/libgcc.h: Only export symbols for functions
30119 that libgcc provides.
30120
301212009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30122
30123 MIPS support.
30124
30125 * bus/bonito.c: New file.
30126 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30127 GRUB_PCI_NUM_DEVICES.
30128 * term/i386/pc/serial.c: Move to ...
30129 * term/serial.c: ... here. All users updated.
30130 * util/i386/pc/grub-mkimage.c: Move to ...
30131 * util/grub-mkrawimage.c: ... here. All users updated.
30132 * term/i386/pc/at_keyboard.c: Move to ...
30133 * term/at_keyboard.c: ... here. All users updated.
30134 * conf/mips-qemu-mips.rmk: New file.
30135 * conf/mips-yeeloong.rmk: Likewise.
30136 * conf/mips.rmk: Likewise.
30137 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30138 mipsel-qemu-mips.
30139 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30140 to port addresses.
30141 (grub_ata_pciinit): Support CS5536.
30142 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30143 * font/font_cmd.c (loadfont_command): Open file before passing it to
30144 grub_font_load.
30145 (pseudo_file_read): New function.
30146 (pseudo_file_close): Likewise.
30147 (pseudo_fs): New structure.
30148 (load_font_module): New function.
30149 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30150 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30151 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30152 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30153 * include/grub/i386/at_keyboard.h: Split into ...
30154 * include/grub/at_keyboard.h: ... this ...
30155 * include/grub/i386/at_keyboard.h: ... and this.
30156 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30157 New prototype.
30158 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30159 updated.
30160 (grub_elf64_size): Likewise.
30161 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30162 filename.
30163 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30164 * include/grub/i386/coreboot/serial.h: Rewritten.
30165 * include/grub/i386/ieee1275/serial.h: Include
30166 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30167 * include/grub/i386/pc/serial.h: Moved from here ...
30168 * include/grub/serial.h: ... to here. All users updated.
30169 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30170 (GRUB_PCI_NUM_BUS): Likewise.
30171 (GRUB_PCI_NUM_DEVICES): Likewise.
30172 (grub_pci_device_map_range): Add missing volatile keyword.
30173 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30174 * include/grub/mips/at_keyboard.h: New file.
30175 * include/grub/mips/cache.h: Likewise.
30176 * include/grub/mips/io.h: Likewise.
30177 * include/grub/mips/kernel.h: Likewise.
30178 * include/grub/mips/libgcc.h: Likewise.
30179 * include/grub/mips/pci.h: Likewise.
30180 * include/grub/mips/qemu-mips/boot.h: Likewise.
30181 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30182 * include/grub/mips/qemu-mips/loader.h: Likewise.
30183 * include/grub/mips/qemu-mips/memory.h: Likewise.
30184 * include/grub/mips/qemu-mips/serial.h: Likewise.
30185 * include/grub/mips/qemu-mips/time.h: Likewise.
30186 * include/grub/mips/relocator.h: Likewise.
30187 * include/grub/mips/time.h: Likewise.
30188 * include/grub/mips/types.h: Likewise.
30189 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30190 * include/grub/mips/yeeloong/boot.h: Likewise.
30191 * include/grub/mips/yeeloong/kernel.h: Likewise.
30192 * include/grub/mips/yeeloong/loader.h: Likewise.
30193 * include/grub/mips/yeeloong/memory.h: Likewise.
30194 * include/grub/mips/yeeloong/pci.h: Likewise.
30195 * include/grub/mips/yeeloong/serial.h: Likewise.
30196 * include/grub/mips/yeeloong/time.h: Likewise.
30197 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30198 * kern/elf.c (grub_elf32_size): New parameter. All users
30199 updated.
30200 (grub_elf64_size): Likewise.
30201 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30202 Load modules before saying "Welcome to GRUB!".
30203 Call grub_refresh after saying "Welcome to GRUB!".
30204 * kern/mips/cache.S: New file.
30205 * kern/mips/cache_flush.S: Likewise.
30206 * kern/mips/dl.c: Likewise.
30207 * kern/mips/init.c: Likewise.
30208 * kern/mips/qemu-mips/init.c: Likewise.
30209 * kern/mips/startup.S: Likewise.
30210 * kern/mips/yeeloong/init.c: Likewise.
30211 * kern/term.c (grub_putcode): Handle NULL terminal.
30212 (grub_getcharwidth): Likewise.
30213 (grub_getkey): Likewise.
30214 (grub_checkkey): Likewise.
30215 (grub_getkeystatus): Likewise.
30216 (grub_getxy): Likewise.
30217 (grub_getwh): Likewise.
30218 (grub_gotoxy): Likewise.
30219 (grub_cls): Likewise.
30220 (grub_setcolorstate): Likewise.
30221 (grub_setcolor): Likewise.
30222 (grub_getcolor): Likewise.
30223 (grub_refresh): Likewise.
30224 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30225 (write_jump): Add hatch nop.
30226 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30227 * lib/mips/setjmp.S: New file.
30228 * loader/mips/linux.c: Likewise.
30229 * term/i386/pc/at_keyboard.c: Move from here ...
30230 * term/at_keyboard.c: ... to here.
30231 * term/i386/pc/serial.c: Moved from here ...
30232 * term/serial.c: ... to here. All users updated.
30233 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30234 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30235 (serial_translate_key_sequence): Avoid deadlock.
30236 (grub_serial_getkey): Handle backspace.
30237 (grub_serial_putchar): Fix newline handling.
30238 * util/i386/pc/grub-mkimage.c: Move from here ...
30239 * util/grub-mkrawimage.c: ... to here. All users updated.
30240 (generate_image): New parameters 'font_path' and 'format'.
30241 Support embedding font.
30242 Use grub_host_to_target* instead of grub_cpu_to_le*.
30243 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30244 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30245 (options): New option "--font".
30246 (usage): Likewise.
30247 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30248 (main): Handle "--font".
30249 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30250 (grub_virtual_screen_setup): Set bg_color_display.
30251 (redraw_screen_rect): Use bg_color_display instead of incorrect
30252 bg_color.
30253 (grub_gfxterm_cls): Likewise.
30254 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30255 Support embedding config file.
30256 (add_segments): Likewise.
30257 (options): New option "--config".
30258 (main): Handle "--config".
30259 * video/sm712.c: New file.
30260
25c2b5b3
RM
302612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30262
30263 Fix parallel builds.
30264
30265 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30266 font.c depend on ascii.h).
30267
302682010-01-12 Carles Pina i Estany <carles@pina.cat>
30269
30270 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30271
302722010-01-11 Carles Pina i Estany <carles@pina.cat>
30273
30274 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30275 By default: disabled.
30276 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30277 parameter.
30278
302792010-01-10 Carles Pina i Estany <carles@pina.cat>
30280
30281 * font/font.c: Update copyright years.
30282 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30283
302842010-01-10 Carles Pina i Estany <carles@pina.cat>
30285
30286 * font/font.c: Include `ascii.h'.
30287 (ASCII_BITMAP_SIZE): New macro.
30288 (ascii_font_glyph): Define.
30289 (ascii_glyph_lookup): New function.
30290 (grub_font_get_string_width): Change comment. If glyph not found, use
30291 ascii_glyph_lookup.
30292 (grub_font_get_glyph_with_fallback): If glyph not available returns
30293 ascii_glyph_lookup.
30294 * util/grub-mkfont.c (file_formats): New enum.
30295 (options): Add `ascii-bitmaps' new option.
30296 (usage): Add `asii-bitmaps' new option.
30297 (write_font_ascii_bitmap): New function.
30298 (write_font): Rename to ...
30299 (write_font_p2): ... this. Remove print_glyphs call.
30300 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30301 used. Call print_glyphs.
30302 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30303
303042010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30305
30306 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30307 (grub_bin2h_SOURCES): New variable.
30308 * util/bin2h.c: New file.
30309
915fc1b8
VS
303102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 * include/multiboot.h: Resynced with spec.
30313 * include/multiboot2.h: Likewise.
30314 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30315 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30316
9444b678
RM
303172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30318
30319 * include/grub/term.h (grub_term_register_input,
30320 grub_term_register_output): Check return of terminal init()
30321 routines, and abort if errors are raised.
30322
30323 * commands/terminal.c: Update copyright year.
30324
cba98e8d
RM
303252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30326
30327 * commands/terminal.c (grub_cmd_terminal_input)
30328 (grub_cmd_terminal_output): Check return of terminal init()
30329 routines, and abort if errors are raised.
30330
6f7db5d6
VS
303312010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30332
30333 * include/grub/i386/bsd.h: Fix include pathes.
30334
262bff8d
VS
303352010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30336
30337 Add missing *BSD copyright headers.
30338
30339 * include/grub/aout.h: Add BSD licence.
30340 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30341 * include/grub/i386/freebsd_linker.h: ... here,
30342 * include/grub/i386/freebsd_reboot.h: ... here,
30343 * include/grub/i386/netbsd_bootinfo.h: ... here,
30344 * include/grub/i386/netbsd_reboot.h: ... here,
30345 * include/grub/i386/openbsd_bootarg.h: ... here,
30346 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30347 licence to each file.
30348
b2cab848
RM
303492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30350
30351 * acinclude.m4: Remove `nop' assembly instruction; it's not
30352 implemented by all architectures.
30353
2cb6be4b
RM
303542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30355
30356 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30357 ELILO. This is no longer necessary.
30358
a2eaee15
BC
303592010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30360
30361 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30362
30363 * util/grub-script-check.c: grub-script-check tool.
30364 * conf/common.rmk: Make rules for grub-script-check.
30365
88d17012
RM
303662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30367
30368 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30369 spotting it back in 2008. Shame on me for forgetting he did.
30370
30371 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30372
8040619d
RM
303732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30374
30375 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30376 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30377 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30378 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30379 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30380 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30381
a0c2a0f6
RM
303822010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30383
30384 * include/grub/test.h: Add license header.
30385 * tests/example_functional_test.c: Likewise.
30386 * tests/example_unit_test.c: Likewise.
30387 * tests/lib/functional_test.c: Likewise.
30388 * tests/lib/test.c: Likewise.
30389 * tests/lib/unit_test.c: Likewise.
30390
b0b13907
VS
303912010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30392
30393 Use flag-based instead of hook-based video mode selection and "auto"
30394 keyword.
30395
30396 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30397 (grub_video_set_mode): Changed prototype. All users updated.
30398 (grub_video_check_mode_flag): New inline function.
30399 * video/video.c (parse_modespec): New function.
30400 (grub_video_set_mode): Parse flags and keywords.
30401
ea379330 304022010-01-17 Carles Pina i Estany <carles@pina.cat>
30403
30404 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30405 fprintf call.
30406
e15c215e
FZ
304072010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30408
30409 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30410
409ae1c9 304112010-01-16 Carles Pina i Estany <carles@pina.cat>
30412
30413 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30414 string.
30415 * util/grub-emu.c (usage): Likewise.
30416 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30417 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30418 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30419 * util/i386/pc/grub-setup.c (usage): Likewise.
30420
70a14d3d 304212010-01-16 Carles Pina i Estany <carles@pina.cat>
30422
30423 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30424 the message.
30425 (grub_util_info): Likewise.
30426 (grub_util_error): Likewise.
30427 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30428 and/or new lines in `grub_util_warna', `grub_util_info',
30429 `grub_util_error' calls.
30430 * util/getroot.c: Likewise.
30431 * util/grub-editenv.c: Likewise.
30432 * util/grub-emu.c: Likewise.
30433 * util/grub-fstest.c: Likewise.
30434 * util/grub-mkdevicemap.c: Likewise.
30435 * util/grub-mkfont.c: Likewise.
30436 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30437 * util/grub-mkrelpath.c: Likewise.
30438 * util/grub-pe2elf.c: Likewise.
30439 * util/grub-probe.c: Likewise.
30440 * util/hostdisk.c: Likewise.
30441 * util/i386/efi/grub-mkimage.c: Likewise.
30442 * util/i386/pc/grub-mkimage.c: Likewise.
30443 * util/i386/pc/grub-setup.c: Likewise.
30444 * util/ieee1275/ofpath.c: Likewise.
30445 * util/mkisofs/eltorito.c: Likewise.
30446 * util/mkisofs/rock.c: Likewise.
30447 * util/mkisofs/write.c: Likewise.
30448 * util/raid.c: Likewise.
30449 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30450 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30451
a0b766fc
VS
304522010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30453
30454 Enable multiboot on non-pc.
30455
30456 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30457 multiboot.mod and multiboot2.mod to ...
30458 * conf/i386.rmk (pkglib_MODULES): ... here.
30459 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30460 Moved to ...
30461 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30462 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30463 Moved to ...
30464 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30465 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30466 Moved to ...
30467 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30468 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30469 Moved to ...
30470 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30471 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30472 relocator.mod.
30473 (ata_mod_SOURCES): Removed.
30474 (ata_mod_CFLAGS): Likewise.
30475 (ata_mod_LDFLAGS): Likewise.
30476 (relocator_mod_SOURCES): Removed.
30477 (relocator_mod_CFLAGS): Likewise.
30478 (relocator_mod_ASFLAGS): Likewise.
30479 (relocator_mod_LDFLAGS): Likewise.
30480 Include i386.mk.
30481 * include/grub/x86_64/multiboot.h: New file.
30482 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30483 Terminate EFI.
30484
884ade56
VS
304852010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30486
30487 Video multiboot support.
30488
30489 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30490 New prototype.
30491 * include/multiboot.h: Resynced with multiboot specification.
30492 * include/multiboot2.h: Likewise.
30493 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30494 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30495 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30496 (HAS_VGA_TEXT): Likewise.
30497 (accepts_video): New variable.
30498 (grub_multiboot_set_accepts_video): New function.
30499 (grub_multiboot_get_mbi_size): Account for video structures.
30500 (set_video_mode): New function.
30501 (retrieve_video_parameters): Likewise.
30502 (grub_multiboot_make_mbi): Fill video fields.
30503
0d90e8a6
VS
305042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30505
30506 Video driver ids.
30507
30508 * include/grub/video.h (grub_video_driver_id): New type.
30509 (grub_video_adapter): New member 'id'. All users updated.
30510 (grub_video_get_driver_id): New proto.
30511 * video/video.c (grub_video_get_driver_id): New function.
30512
5c71db1b 305132010-01-14 Carles Pina i Estany <carles@pina.cat>
30514
30515 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30516 `var=val'.
30517
cca15b52 305182010-01-14 Carles Pina i Estany <carles@pina.cat>
30519
30520 * normal/cmdline.c (print_completion): Gettextizze.
30521
c586fbb2 305222001-01-14 Carles Pina i Estany <carles@pina.cat>
30523
30524 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30525
ba2f6848 305262010-01-14 Carles Pina i Estany <carles@pina.cat>
30527
30528 * gettext/gettext.c (grub_gettext_translate): Push and pop
30529 grub_errno.
30530 (grub_gettext_delete_list): Change comment style.
30531 * kern/err.c (grub_error): Gettextizze.
30532 (grub_fatal): Gettextizze.
30533
0a46429a
RM
305342010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30535
30536 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30537 (grub_linux16_real_boot): ... this.
30538 * kern/i386/loader.S: Likewise.
30539 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30540 (grub_linux16_boot): New function. Switches to text mode and calls
30541 grub_linux16_real_boot().
30542
30543 * loader/i386/bsd.c: Include `<grub/video.h>'.
30544 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30545 text mode before calling grub_unix_real_boot().
30546
30547 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30548 (grub_multiboot_boot): Switch to text mode before calling
30549 grub_relocator32_boot().
30550
30551 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30552 (grub_chainloader_boot): Switch to text mode before calling
30553 grub_chainloader_real_boot().
30554
d6f93a66
RM
305552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
305562010-01-05 Colin Watson <cjwatson@ubuntu.com>
30557
30558 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30559 non-empty value.
30560
305612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
305622010-01-05 Colin Watson <cjwatson@ubuntu.com>
30563
30564 * util/grub.d/00_header.in: Define a "savedefault" function for use
30565 in menu entries.
30566 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30567
305682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
305692010-01-05 Colin Watson <cjwatson@ubuntu.com>
30570
30571 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30572 saved_entry if boot_once is unset.
30573 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30574 previous saved entry (i.e. grub-reboot).
30575
305762009-12-08 Colin Watson <cjwatson@ubuntu.com>
30577
30578 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30579
305802009-12-08 Colin Watson <cjwatson@ubuntu.com>
30581
30582 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30583 `var=val'.
30584 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30585
305862009-12-08 Colin Watson <cjwatson@ubuntu.com>
30587
30588 * util/grub-reboot.in: Fix --version output.
30589 * util/grub-set-default.in: Likewise.
30590
305912009-12-08 Colin Watson <cjwatson@ubuntu.com>
30592
30593 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30594 blocks.
30595
305962009-12-08 Colin Watson <cjwatson@ubuntu.com>
30597
30598 * util/grub.d/00_header.in: Quote the value assigned to `default',
30599 in case it contains spaces.
30600
306012009-12-08 Colin Watson <cjwatson@ubuntu.com>
30602
30603 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30604 `save_default_entry' call from the macosx case to the linux case.
30605
306062009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
306072009-10-25 Colin Watson <cjwatson@ubuntu.com>
30608
30609 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30610 in `chosen' environment variable.
30611 * normal/menu_text.c (get_entry_number): Check if the variable
30612 matches the title of a menu entry.
30613 (run_menu): Pass menu to get_entry_number.
30614
30615 * util/grub-reboot.in: New file.
30616 * util/grub-set-default.in: New file.
30617 * conf/common.rmk (grub-reboot): New utility.
30618 (grub-set-default): New utility.
30619
30620 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30621 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30622 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30623 move it to `saved_entry' for the next boot. Load environment on
30624 initialisation.
30625 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30626 * util/grub.d/10_hurd.in: Likewise.
30627 * util/grub.d/10_linux.in (linux_entry): Likewise.
30628 * util/grub.d/10_windows.in: Likewise.
30629 * util/grub.d/30_os-prober.in: Likewise.
30630
30631 * util/grub-install.in: Create environment block.
30632 * util/i386/efi/grub-install.in: Likewise.
30633 * util/ieee1275/grub-install.in: Likewise.
30634 * util/sparc64/ieee1275/grub-install.in: Likewise.
30635
0934d184
BC
306362010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30637
30638 Unit testing framework for GRUB.
30639
30640 * Makefile.in: Test framework build rules for 'make check'.
30641 * conf/tests.rmk: Build rules for individual tests and framework.
30642
30643 * include/grub/test.h: Header file for whitebox tests.
30644 * tests/lib/functional_test.c: Framework support for whitebox
30645 functional tests.
30646 * tests/lib/test.c: Common whitebox testing code for unit and
30647 functional tests.
30648 * tests/lib/unit_test.c: Framework support for whitebox unit
30649 tests.
30650
30651 * tests/util/grub-shell-tester.in: Support utility for grub-script
30652 tests.
30653 * tests/util/grub-shell.in: Utility to execute grub-script
30654 commands in a Qemu instance.
30655
30656 * tests/example_functional_test.c: Example whitebox functional
30657 test.
30658 * tests/example_grub_script_test.in: Example grub-script test.
30659 * tests/example_scripted_test.in: Example scripted test.
30660 * tests/example_unit_test.c: Example whitebox unit test.
30661
9c4ffeeb
VS
306622010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30663
30664 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30665 Add loader/i386/multiboot_mbi.c.
30666 (multiboot2_mod_SOURCES): Likewise.
30667 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30668 (multiboot2_mod_SOURCES): Likewise.
30669 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30670 (grub_multiboot_make_mbi): Likewise.
30671 (grub_multiboot_free_mbi): Likewise.
30672 (grub_multiboot_init_mbi): Likewise.
30673 (grub_multiboot_add_module): Likewise.
30674 (grub_multiboot_set_bootdev): Likewise.
30675 * loader/i386/multiboot.c (mbi): Removed.
30676 (mbi_dest): Likewise.
30677 (alloc_mbi): New variable.
30678 (grub_multiboot_payload_size): Removed. All users updated.
30679 (grub_multiboot_pure_size): New variable.
30680 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30681 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30682 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30683 (grub_fill_multiboot_mmap): Likewise.
30684 (grub_multiboot_get_bootdev): Likewise.
30685 (grub_multiboot): Use multiboot_mbi functions.
30686 * loader/i386/multiboot_mbi.c: New file.
30687
17383dfe
VS
306882010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30689
30690 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30691 it would result in module crash.
30692
c1f28820
VS
306932010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30694
30695 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30696 (grub_ofconsole_getwh): Split to ...
30697 (grub_ofconsole_getwh): ... this.
30698 (grub_ofconsole_dimensions): ...and this.
30699 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30700
58655a16
RM
307012010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30702
30703 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30704
10891398
VS
307052010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30706
30707 * loader/i386/pc/multiboot2.c: Removed stalled file.
30708
0b8a223c
VS
307092010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30710
30711 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30712 Reported by: Grégoire Sutre
30713
92ab12b0
RM
307142010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30715
30716 * util/misc.c (canonicalize_file_name): New function.
30717 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30718 instead of realpath().
30719
a788afb6
CW
307202010-01-11 Colin Watson <cjwatson@ubuntu.com>
30721
30722 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30723 and make it clearer that it's optional. Based on confusion
30724 witnessed on IRC.
30725
ffa8e3d2
VS
307262010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30727
30728 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30729 in premature implicit newline.
30730
e9060a9d
VS
307312010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30732
30733 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30734 which resulted in garbled command line at the end of screen.
30735
f0d0c0b7
RM
307362010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30737
30738 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30739 initialization with similar approach as with other Linux loaders.
30740
0e60bae7
RM
307412010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30742
30743 Fix i386-ieee1275 build.
30744
30745 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30746 and grub_term_height() for video_{width,height} initialization.
30747
307482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30749
30750 Fix grub-emu build.
30751
30752 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30753
cdb3f378
RM
307542010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
307552010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30756
30757 Support for multiple terminals.
30758
30759 * Makefile.in (pkglib_DATA): terminal.lst.
30760 (terminal.lst): New target.
30761 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30762 (GRUB_MOD_INIT(handler)): Likewise.
30763 (GRUB_MOD_FINI(handler)): Likewise.
30764 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30765 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30766 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30767 (grub_cmd_sleep): Use grub_term_save_pos.
30768 * commands/terminal.c: New file.
30769 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30770 commands/terminal.c and lib/charset.c.
30771 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30772 (pkglib_MODULES): Add terminal.mod.
30773 (terminal_mod_SOURCES): New variable.
30774 (terminal_mod_CFLAGS): Likewise.
30775 (terminal_mod_LDFLAGS): Likewise.
30776 * genhandlerlist.sh: Don't handle terminals.
30777 * genmk.rb: Generate terminal-*.lst.
30778 * genterminallist.sh: New file.
30779 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30780 (grub_is_valid_utf8): Likewise.
30781 (grub_utf8_to_ucs4_alloc): Likewise.
30782 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30783 (grub_menu_register_viewer): Changed argument.
30784 (grub_menu_try_text): New proto.
30785 (grub_gfxmenu_try_hook): New declaration.
30786 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30787 (grub_menu_init_page): Additional argument term.
30788 (grub_normal_init_page): Likewise.
30789 (grub_cmdline_get): Arguments simplified.
30790 (grub_utf8_to_ucs4_alloc): Removed.
30791 (grub_print_ucs4): Additional argument term.
30792 (grub_getstringwidth): Likewise.
30793 (grub_print_message_indented): Likewise.
30794 (grub_menu_text_register_instances): New proto.
30795 (grub_show_menu): Likewise.
30796 (read_terminal_list): Likewise.
30797 (grub_set_more): Likewise.
30798 * include/grub/parser.h: Include handler.h.
30799 * include/grub/reader.h: Rewritten.
30800 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30801 (GRUB_TERM_WIDTH): Changed to function.
30802 (GRUB_TERM_HEIGHT): Likewise.
30803 (GRUB_TERM_BORDER_WIDTH): Likewise.
30804 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30805 (GRUB_TERM_NUM_ENTRIES): Likewise.
30806 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30807 (GRUB_TERM_CURSOR_X): Likewise.
30808 (grub_term_input_class): Likewise.
30809 (grub_term_output_class): Likewise.
30810 (grub_term_outputs_disabled): New declaration.
30811 (grub_term_inputs_disabled): Likewise.
30812 (grub_term_outputs): Likewise.
30813 (grub_term_inputs): Likewise.
30814 (grub_term_register_input): Rewritten.
30815 (grub_term_register_output): Likewise.
30816 (grub_term_unregister_input): Likewise.
30817 (grub_term_unregister_output): Likewise.
30818 (FOR_ACTIVE_TERM_INPUTS): New macro.
30819 (FOR_DISABLED_TERM_INPUTS): Likewise.
30820 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30821 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30822 * include/grub/terminfo.h: Add oterm argument to all protypes.
30823 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30824 Use grub_rescue_run.
30825 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30826 All users updated.
30827 * kern/reader.c: Removed. All users updated.
30828 * kern/rescue_reader.c (grub_rescue_init): Removed.
30829 (grub_rescue_reader): Likewise.
30830 (grub_register_rescue_reader): Likewise.
30831 (grub_rescue_run): New function based on kern/reader.c.
30832 * kern/term.c: Adapted for multiterm.
30833 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30834 (grub_is_valid_utf8): Likewise.
30835 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30836 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30837 right terminal.
30838 * loader/i386/linux.c (grub_linux_boot): Likewise.
30839 * normal/auth.c (grub_username_get): New function.
30840 (grub_auth_check_authentication): Use grub_username_get.
30841 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30842 * normal/color.c: Adapt for multiterm.
30843 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30844 (grub_normal_init_page): Additional argument term.
30845 (read_lists): Call read_terminal_lists.
30846 (grub_enter_normal_mode): Call grub_cmdline_run.
30847 Handle grub_normal_exit_level.
30848 (grub_cmd_normal): Make reentrant.
30849 (grub_cmd_normal_exit): New function.
30850 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30851 * normal/menu.c: Adapt for multiterm.
30852 * normal/menu_entry.c: Likewise.
30853 * normal/menu_text.c: Likewise.
30854 * normal/menu_viewer.c: Removed. All users updated.
30855 * normal/term.c: New file.
30856 * util/console.c: Change order of includes to workaround a bug in
30857 ncurses headers.
30858 * term/terminfo.c: New argument oterm on all exported functions.
30859 All users updated.
30860 * util/grub-editenv.c (grub_term_input_class): Removed.
30861 (grub_term_output_class): Likewise.
30862
1a064917
RM
308632010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30864
30865 Make loader output a bit more user-friendly.
30866
30867 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30868 is being loaded. Likewise for the Hurd.
30869
30870 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30871 that kernel of FreeBSD ${version} is being loaded.
30872
30873 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30874 grub_dprintf().
30875 (grub_cmd_initrd): Likewise.
30876 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30877 that Linux ${version} is being loaded. Likewise for initrd.
30878
5ce0a83a 308792010-01-09 Carles Pina i Estany <carles@pina.cat>
30880
30881 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30882
809bbfeb 308832010-01-08 Carles Pina i Estany <carles@pina.cat>
30884
30885 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30886 (GRUB_MOD_INIT): Gettextizze.
30887 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30888 (GRUB_MOD_INIT): Gettextizze.
30889 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30890 (grub_cmd_linux): Capitalise Linux.
30891 (GRUB_MOD_INIT): Gettextizze.
30892 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30893 (grub_cmd_linux): Capitalise Linux.
30894 (GRUB_MOD_INIT): Gettextizze.
30895 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30896 (grub_cmd_linux): Capitalise Linux.
30897 (GRUB_MOD_INIT): Gettextizze.
30898 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30899 (GRUB_MOD_INIT): Gettextizze.
30900 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30901 (grub_cmd_linux): Capitalise Linux.
30902 (GRUB_MOD_INIT): Gettextizze.
30903 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30904 (grub_cpu_xnu_init): Gettextizze.
30905 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30906 (GRUB_MOD_INIT): Gettextizze.
30907 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30908 (GRUB_MOD_INIT): Gettextizze.
30909 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30910 (grub_linux_load64): Capitalise Linux.
30911 (GRUB_MOD_INIT): Gettextizze.
30912 * loader/xnu.c: Include `<grub/i18n.h>'.
30913 (GRUB_MOD_INIT): Gettextizze.
30914 * po/POTFILES: Add `loader/efi/appleloader.c',
30915 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30916 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30917 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30918 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30919 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30920 and `loader/xnu.c'.
30921
b394b2ca
RM
309222010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30923
30924 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30925
309262010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30927
30928 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30929 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30930 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30931
bc8b32b3
RM
309322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30933
30934 Reset Multiboot 2 support. New loader implements the draft in
30935 /branches/multiboot2 and shares as much code as possible with the
30936 production Multiboot 1 implementation.
30937
30938 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30939 * loader/multiboot2.c: Likewise.
30940 * loader/i386/multiboot_helper.S: Likewise.
30941 * include/multiboot2.h: Replace with latest version from the draft
30942 in /branches/multiboot2.
30943
30944 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30945 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30946 and `loader/multiboot2.c'.
30947 (pkglib_MODULES): Add `multiboot2.mod'.
30948 (multiboot2_mod_SOURCES): New variable.
30949 (multiboot2_mod_LDFLAGS): Likewise.
30950 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30951
30952 * conf/i386-pc.rmk: Likewise.
30953
30954 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30955 (multiboot_mod_SOURCES): Remove variable.
30956 (multiboot_mod_LDFLAGS): Likewise.
30957 (multiboot_mod_CFLAGS): Likewise.
30958
30959 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30960 `<multiboot2.h>' instead of `<multiboot.h>'.
30961 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30962 (MULTIBOOT_HEADER_MAGIC): New macros.
30963
30964 * loader/multiboot_loader.c (module_version_status): Remove variable.
30965 (find_multi_boot2_header): Remove function.
30966 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30967 logic. Always check for the Multiboot version we're compiling for.
30968 (grub_cmd_module_loader): Likewise.
30969 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30970 command instead of `multiboot'.
30971
5d2c52b8
RM
309722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30973
30974 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30975 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30976 all users.
30977
53108d92
RM
309782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
309792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30980
30981 Fix breakage introduced with previous commit.
30982
30983 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30984 commands.
30985 * normal/handler.c (read_handler_list): Revert part of previous commit
30986 affecting this file.
30987 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30988 (grub_normal_execute): ... here.
30989
e2e936b2
RM
309902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30991
30992 Merge prefix-redefinition-fix branch.
30993
30994 * normal/autofs.c (read_fs_list): Make function capable of being
30995 run multiple times, gracefuly replacing the previous data
30996 structures.
30997 * normal/dyncmd.c (read_command_list): Likewise.
30998 * normal/handler.c (read_handler_list): Likewise.
30999 * normal/main.c (read_lists): New function. Calls all the
31000 list reading functions.
31001 (grub_normal_execute): Use read_lists() instead of calling all
31002 list reading functions explicitly. Register read_lists() as a
31003 variable hook attached to ${prefix}.
31004
607a3701
VS
310052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 Merge crypto branch.
31008
31009 * Makefile.in (pkglib_DATA): Add crypto.lst.
31010 (crypto.lst): New target.
31011 * commands/hashsum.c: New file.
31012 * commands/password.c (check_password): Use grub_crypto_memcmp.
31013 * commands/password_pbkdf2.c: New file.
31014 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31015 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31016 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31017 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31018 -I$(srcdir)/lib/libgcrypt_wrap.
31019 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31020 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31021 password_pbkdf2.mod.
31022 (crypto_mod_SOURCES): New variable.
31023 (crypto_mod_CFLAGS): Likewise.
31024 (crypto_mod_LDFLAGS): Likewise.
31025 (hashsum_mod_SOURCES): New variable.
31026 (hashsum_mod_CFLAGS): Likewise.
31027 (hashsum_mod_LDFLAGS): Likewise.
31028 (pbkdf2_mod_SOURCES): New variable.
31029 (pbkdf2_mod_CFLAGS): Likewise.
31030 (pbkdf2_mod_LDFLAGS): Likewise.
31031 (password_pbkdf2_mod_SOURCES): New variable.
31032 (password_pbkdf2_mod_CFLAGS): Likewise.
31033 (password_pbkdf2_mod_LDFLAGS): Likewise.
31034 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31035 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31036 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31037 Include conf/gcry.rmk.
31038 * include/grub/auth.h: Rewritten.
31039 * include/grub/crypto.h: New file.
31040 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31041 * include/grub/normal.h (read_crypto_list): New prototype.
31042 * lib/crypto.c: New file.
31043 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31044 * lib/pbkdf2.c: Likewise.
31045 * normal/auth.c (grub_auth_strcmp): Removed.
31046 (grub_iswordseparator): Likewise.
31047 (grub_auth_strword): Likewise.
31048 (is_authenticated): Use grub_strword.
31049 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31050 and grub_strword. Pass entered password to authentication callback.
31051 * normal/crypto.c: New file.
31052 * normal/main.c: Call read_crypto_list.
31053 * util/grub-mkpasswd-pbkdf2.c: New file.
31054 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31055
42841caa
VS
310562010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31057
31058 Fix descent and ascent calculation.
31059
31060 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31061 (options): New option "asce".
31062 (usage): Likewise.
31063 (add_char): Ignore invalid glyphs for descent calculation.
31064 Calculate ascent from actual content.
31065 (print_glyphs): Use 'asce'.
31066 (write_font): Likewise. Allow ascent override.
31067 (main): Handle "asce" option.
31068
e7730de7 310692010-01-06 Carles Pina i Estany <carles@pina.cat>
31070
31071 * kern/err.c: Include `<grub/i18n.h>'.
31072 (grub_print_error): Add full stop. Gettextizze.
31073 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31074 (grub_bsd_load_elf): Capitalise ELF.
31075 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31076 (grub_cmd_freebsd_module): Likewise.
31077 (grub_cmd_freebsd_module_elf): Likewise.
31078 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31079
40e3a41f 310802010-01-06 Carles Pina i Estany <carles@pina.cat>
31081
31082 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31083 * commands/search_file.c (HELP_MESSAGE): New macro.
31084 * commands/search_label.c (HELP_MESSAGE): Likewise.
31085 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31086 * po/POTFILES: Add `commands/search_file.c',
31087 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31088 `commands/search.c'.
31089
83507e68
RM
310902010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31091
31092 * config.rpath: Update from Gnulib.
31093
465c787b
YB
310942010-01-05 Yves Blusseau <blusseau@zetam.org>
31095
31096 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31097
6581dd3a
YB
310982010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31099
31100 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31101
3bff18c5
CW
311022010-01-05 Colin Watson <cjwatson@ubuntu.com>
31103
31104 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31105 arguments to fread so that we get a return value in bytes, rather
31106 than something that will normally be rounded down to 0.
31107 Adjust error handling to avoid producing garbage when size_t is not
31108 the same size as long long.
31109
a1368118
CW
311102010-01-05 Colin Watson <cjwatson@ubuntu.com>
31111
31112 * util/mkisofs/write.c (padblock_write): Check return value of
31113 fread.
31114
7c302978
RM
311152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31116
31117 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31118 floppy images now.
31119
31120 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31121
e33ace06
RM
311222010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31123
31124 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31125 instead of manual alignment.
31126 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31127 verbose). Avoid attempts to read past end of the device
31128 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31129 but GRUB_DISK_CACHE_SIZE may exceed that).
31130
4b856776
RM
311312010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31132
31133 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31134 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31135 it to upper layer.
31136
52c2d97f
VS
311372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31138
31139 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31140 New constant.
31141 (grub_efi_piwg_device_path): New structure
31142 (grub_efi_piwg_device_path_t): New type.
31143 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31144 (devpath_1): Transform to a structure. All users updated.
31145 (devpath_2): Likewise.
31146 (devpath_3): Likewise.
31147 (devpath_4): Likewise.
31148 (devpath_5): Likewise.
31149
98ff6a54
VS
311502010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31151
31152 * loader/efi/appleloader.c: Restored. Update all users.
31153
3a73dcb6
RM
311542010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31155
31156 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31157
31158 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31159 (struct boot_blocklist): Move from here ...
31160 * include/grub/i386/pc/boot.h [ASM_FILE]
31161 (struct grub_boot_blocklist): ... to here. Update all users.
31162 (setup): Only initialize `start' member of `first_block'
31163 structure. Add assert() calls to verify the other members.
31164
31165 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31166 (generate_image): Fix broken blocklist length initialization.
31167 Add assert() call to verify blocklist `segment' field.
31168
ab0eeb0c
RM
311692010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31170
31171 * loader/efi/appleloader.c: Remove. Update all users.
31172
58bc8bd5
RM
311732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31174
31175 * boot/i386/pc/boot.S: Update copyright year.
31176 * boot/i386/pc/cdboot.S: Likewise.
31177 * boot/i386/pc/diskboot.S: Likewise.
31178 * boot/i386/pc/lnxboot.S: Likewise.
31179 * boot/i386/pc/pxeboot.S: Likewise.
31180 * bus/pci.c: Likewise.
31181 * commands/cmp.c: Likewise.
31182 * commands/help.c: Likewise.
31183 * commands/hexdump.c: Likewise.
31184 * commands/i386/pc/halt.c: Likewise.
31185 * commands/i386/pc/play.c: Likewise.
31186 * commands/i386/pc/vbeinfo.c: Likewise.
31187 * commands/ls.c: Likewise.
31188 * commands/test.c: Likewise.
31189 * disk/dmraid_nvidia.c: Likewise.
31190 * disk/i386/pc/biosdisk.c: Likewise.
31191 * disk/ieee1275/nand.c: Likewise.
31192 * disk/ieee1275/ofdisk.c: Likewise.
31193 * disk/lvm.c: Likewise.
31194 * disk/raid.c: Likewise.
31195 * disk/raid6_recover.c: Likewise.
31196 * disk/scsi.c: Likewise.
31197 * fs/affs.c: Likewise.
31198 * fs/cpio.c: Likewise.
31199 * fs/ext2.c: Likewise.
31200 * fs/hfs.c: Likewise.
31201 * fs/iso9660.c: Likewise.
31202 * fs/ntfs.c: Likewise.
31203 * fs/sfs.c: Likewise.
31204 * fs/udf.c: Likewise.
31205 * fs/ufs.c: Likewise.
31206 * fs/xfs.c: Likewise.
31207 * gencmdlist.sh: Likewise.
31208 * genmk.rb: Likewise.
31209 * include/grub/disk.h: Likewise.
31210 * include/grub/efi/api.h: Likewise.
31211 * include/grub/efi/efi.h: Likewise.
31212 * include/grub/efi/pe32.h: Likewise.
31213 * include/grub/elf.h: Likewise.
31214 * include/grub/fs.h: Likewise.
31215 * include/grub/i386/at_keyboard.h: Likewise.
31216 * include/grub/i386/pc/memory.h: Likewise.
31217 * include/grub/i386/pc/vbe.h: Likewise.
31218 * include/grub/i386/pci.h: Likewise.
31219 * include/grub/i386/tsc.h: Likewise.
31220 * include/grub/ieee1275/ieee1275.h: Likewise.
31221 * include/grub/ntfs.h: Likewise.
31222 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31223 * include/grub/sparc64/libgcc.h: Likewise.
31224 * include/grub/symbol.h: Likewise.
31225 * include/grub/types.h: Likewise.
31226 * include/multiboot2.h: Likewise.
31227 * io/gzio.c: Likewise.
31228 * kern/device.c: Likewise.
31229 * kern/disk.c: Likewise.
31230 * kern/efi/efi.c: Likewise.
31231 * kern/efi/mm.c: Likewise.
31232 * kern/elf.c: Likewise.
31233 * kern/file.c: Likewise.
31234 * kern/i386/dl.c: Likewise.
31235 * kern/i386/pc/init.c: Likewise.
31236 * kern/i386/pc/startup.S: Likewise.
31237 * kern/ieee1275/ieee1275.c: Likewise.
31238 * kern/ieee1275/init.c: Likewise.
31239 * kern/main.c: Likewise.
31240 * kern/mm.c: Likewise.
31241 * kern/powerpc/dl.c: Likewise.
31242 * kern/sparc64/dl.c: Likewise.
31243 * kern/x86_64/dl.c: Likewise.
31244 * lib/hexdump.c: Likewise.
31245 * loader/efi/appleloader.c: Likewise.
31246 * loader/i386/ieee1275/linux.c: Likewise.
31247 * loader/i386/pc/chainloader.c: Likewise.
31248 * loader/i386/pc/linux.c: Likewise.
31249 * loader/i386/pc/multiboot2.c: Likewise.
31250 * loader/ieee1275/multiboot2.c: Likewise.
31251 * loader/multiboot2.c: Likewise.
31252 * loader/multiboot_loader.c: Likewise.
31253 * loader/powerpc/ieee1275/linux.c: Likewise.
31254 * normal/completion.c: Likewise.
31255 * normal/menu_entry.c: Likewise.
31256 * partmap/apple.c: Likewise.
31257 * util/grub.d/10_hurd.in: Likewise.
31258 * util/hostfs.c: Likewise.
31259 * video/readers/png.c: Likewise.
31260
e2d70b5c
CW
312612010-01-03 Colin Watson <cjwatson@ubuntu.com>
31262
31263 * include/grub/misc.h (GNUC_PREREQ): New macro.
31264 (ATTRIBUTE_ERROR): New macro.
31265 * include/grub/list.h (grub_bad_type_cast_real): Use
31266 ATTRIBUTE_ERROR.
31267
a173283f 312682010-01-03 Carles Pina i Estany <carles@pina.cat>
31269
31270 * normal/menu_text.c (print_message): Change messages.
31271
7fa7ff74 312722010-01-03 Carles Pina i Estany <carles@pina.cat>
31273
31274 * normal/menu_entry.c (store_completion): Gettextizze.
31275
136d24f6 312762010-01-03 Carles Pina i Estany <carles@pina.cat>
31277
31278 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31279
f936862e 312802010-01-03 Carles Pina i Estany <carles@pina.cat>
31281
31282 * po/POTFILES: Sort correctly.
31283
29c44ad1 312842010-01-03 Carles Pina i Estany <carles@pina.cat>
31285
31286 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31287 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31288 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31289 full stop.
31290 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31291 summary. Gettextizze the strings.
31292 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31293 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31294 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31295 full stop.
31296 (GRUB_MOD_INIT): Remove command name from summary.
31297 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31298 summary.
31299 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31300 * term/i386/pc/serial.c (options): Add full stops.
31301 (GRUB_MOD_INIT): Remove command name from the summary.
31302
77a79592 313032010-01-03 Carles Pina i Estany <carles@pina.cat>
31304
31305 * commands/acpi.c: Gettextizze help strings and/or options. Include
31306 `grub/i18n.h' if needed.
31307 * commands/blocklist.c: Likewise.
31308 * commands/boot.c: Likewise.
31309 * commands/cat.c: Likewise.
31310 * commands/cmp.c: Likewise.
31311 * commands/configfile.c: Likewise.
31312 * commands/crc.c: Likewise.
31313 * commands/date.c: Likewise.
31314 * commands/echo.c: Likewise.
31315 * commands/efi/fixvideo.c: Likewise.
31316 * commands/efi/loadbios.c: Likewise.
31317 * commands/gptsync.c: Likewise.
31318 * commands/halt.c: Likewise.
31319 * commands/handler.c: Likewise.
31320 * commands/hdparm.c: Likewise.
31321 * commands/hexdump.c: Likewise.
31322 * commands/i386/cpuid.c: Likewise.
31323 * commands/i386/pc/drivemap.c: Likewise.
31324 * commands/i386/pc/halt.c: Likewise.
31325 * commands/i386/pc/pxecmd.c: Likewise.
31326 * commands/i386/pc/vbeinfo.c: Likewise.
31327 * commands/i386/pc/vbetest.c: Likewise.
31328 * commands/ieee1275/suspend.c: Likewise.
31329 * commands/keystatus.c: Likewise.
31330 * commands/loadenv.c: Likewise.
31331 * commands/ls.c: Likewise.
31332 * commands/lsmmap.c: Likewise.
31333 * commands/lspci.c: Likewise.
31334 * commands/memrw.c: Likewise.
31335 * commands/minicmd.c: Likewise.
31336 * commands/parttool.c: Likewise.
31337 * commands/password.c: Likewise.
31338 * commands/probe.c: Likewise.
31339 * commands/read.c: Likewise.
31340 * commands/reboot.c: Likewise.
31341 * commands/search.c: Likewise.
31342 * commands/sleep.c: Likewise.
31343 * commands/test.c: Likewise.
31344 * commands/true.c: Likewise.
31345 * commands/usbtest.c: Likewise.
31346 * commands/videotest.c: Likewise.
31347 * commands/xnu_uuid.c: Likewise.
31348 * disk/loopback.c: Likewise.
31349 * hello/hello.c: Likewise.
31350 * loader/i386/bsd.c: Likewise.
31351 * term/i386/pc/serial.c: Likewise.
31352 * po/POTFILES: Add new files.
31353
da8d5c53
CW
313542010-01-02 Colin Watson <cjwatson@ubuntu.com>
31355
31356 * term/i386/pc/at_keyboard.c
31357 (keyboard_controller_wait_untill_ready): Rename to ...
31358 (keyboard_controller_wait_until_ready): ... this. Update all users.
31359
33937904 313602010-01-01 Carles Pina i Estany <carles@pina.cat>
31361
31362 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31363 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31364 string using string width.
31365 * normal/menu_text.c (grub_print_message_indented): Use
31366 grub_print_spaces and not print_spaces.
31367 (print_timeout): Likewise.
31368 (print_spaces): Move to...
31369 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31370
3fd3b8d8
RM
313712010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31372
31373 Import from Gnulib.
31374
31375 * gnulib/getdelim.c: New file.
31376 * gnulib/getline.c: Likewise.
31377
33433555
VS
313782009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31379
31380 * include/grub/list.h (grub_assert_fail): Removed.
31381 (grub_bad_type_cast_real): New function.
31382 (grub_bad_type_cast): New macro.
31383 (GRUB_AS_LIST): Use grub_bad_type_cast.
31384 (GRUB_AS_LIST_P): Likewise.
e44721e8 31385 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31386 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31387 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31388 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31389 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31390
f5a51306
VS
313912009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31392
31393 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31394 Fix syntax error.
31395
90d1e879
RM
313962009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31397
31398 * configure.ac: Check for TARGET_CFLAGS initialization before we
31399 initialize it ourselves (sigh).
31400 Move a few modifications to TARGET_CFLAGS to be unconditional
31401 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31402 eh_frame)
31403
31404 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31405 * term/i386/pc/at_keyboard.c
31406 (keyboard_controller_wait_untill_ready): Likewise.
31407 (keyboard_controller_led): Rename `led_status' paramter to avoid
31408 name conflict.
31409
465b5a81 314102009-12-28 Carles Pina i Estany <carles@pina.cat>
31411
31412 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31413 quotes.
31414
c181849b
VS
314152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31416
31417 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31418
9c8739a4
VS
314192009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31420
31421 * normal/menu_text.c (grub_print_message_indented): Prevent
31422 past-the-end-of-array dereference.
31423
3e74249c
VS
314242009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31425
31426 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31427 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31428
64fd18ed 314292009-12-27 Carles Pina i Estany <carles@pina.cat>
31430
31431 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31432 * normal/main.c (grub_normal_read_line): Remove a space from the
31433 default prompt.
31434
714af9b9 314352009-12-27 Carles Pina i Estany <carles@pina.cat>
31436
31437 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31438 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31439 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31440 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31441 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31442 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31443 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31444
82f3e412 314452009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31446
31447 * video/readers/jpeg.c (cmd): Declare.
31448 (grub_cmd_jpegtest): Use `grub_command_t' type.
31449 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31450 Assign to `cmd'.
31451 (GRUB_MOD_FINI): Use `cmd' to unregister.
31452 * video/readers/png.c (cmd): Declare.
31453 (grub_cmd_pngtest): Use `grub_command_t' type.
31454 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31455 Assign to `cmd'.
31456 (GRUB_MOD_FINI): Use `cmd' to unregister.
31457 * video/readers/tga.c (cmd): Declare.
31458 (grub_cmd_tgatest): Use `grub_command_t' type.
31459 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31460 Assign to `cmd'.
31461 (GRUB_MOD_FINI): Use `cmd' to unregister.
31462
82f3e412 314632009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31464
31465 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31466 stops.
31467 * kern/corecmd.c (grub_register_core_commands): Likewise.
31468 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31469 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31470 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31471 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31472 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31473 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31474 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31475 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31476 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31477 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31478 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31479 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31480 * normal/handler.c (insert_handler): Likewise.
31481 * normal/main.c (GRUB_MOD_INIT): Likewise.
31482 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31483
fdcdbb66 314842009-12-26 Carles Pina i Estany <carles@pina.cat>
31485
31486 * commands/help.c (grub_cmd_help): Print the command name before the
31487 summary.
31488 (GRUB_MOD_INIT): Remove command name from the summary.
31489 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31490 string as summary.
fdcdbb66 31491 * lib/arg.c (find_long): Print the command name before the summary.
31492 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31493 summary.
31494 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31495 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31496 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31497 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31498 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31499 * commands/date.c (GRUB_MOD_INIT): Likewise.
31500 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31501 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31502 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31503 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31504 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31505 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31506 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31507 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31508 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31509 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31510 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31511 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31512 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31513 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31514 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31515 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31516 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31517 * commands/password.c (GRUB_MOD_INIT): Likewise.
31518 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31519 * commands/read.c (GRUB_MOD_INIT): Likewise.
31520 * commands/search.c (GRUB_MOD_INIT): Likewise.
31521 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31522 * commands/test.c (GRUB_MOD_INIT): Likewise.
31523 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31524 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31525 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31526 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31527 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31528 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31529 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31530 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31531 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31532 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31533 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31534 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31535 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31536 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31537
9c288be2
VS
315382009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31539
31540 Use search command for preliminar UUID search.
31541
31542 * commands/search.c: Split into ...
31543 * commands/search_wrap.c: ...this
31544 * commands/search.c: ...and this.
31545 * commands/search_file.c: New file.
31546 * commands/search_label.c: New file.
31547 * commands/search_uuid.c: New file.
31548 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31549 Add commands/search_wrap.c, commands/search_file.c,
31550 commands/search_label.c and commands/search_uuid.c.
31551 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31552 (search_mod_SOURCES): Set to commands/search_wrap.c.
31553 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31554 search_label.mod.
31555 (search_fs_file_mod_SOURCES): New variable.
31556 (search_fs_file_mod_CFLAGS): Likewise.
31557 (search_fs_file_mod_LDFLAGS): Likewise.
31558 (search_label_mod_SOURCES): Likewise.
31559 (search_label_mod_CFLAGS): Likewise.
31560 (search_label_mod_LDFLAGS): Likewise.
31561 (search_fs_uuid_mod_SOURCES): New variable.
31562 (search_fs_uuid_mod_CFLAGS): Likewise.
31563 (search_fs_uuid_mod_LDFLAGS): Likewise.
31564 (fs_file_mod_SOURCES): Removed.
31565 (fs_file_mod_CFLAGS): Likewise.
31566 (fs_file_mod_LDFLAGS): Likewise.
31567 (fs_uuid_mod_SOURCES): Removed.
31568 (fs_uuid_mod_CFLAGS): Likewise.
31569 (fs_uuid_mod_LDFLAGS): Likewise.
31570 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31571 Set to util/grub-install.in.
31572 * disk/fs_file.c: Removed.
31573 * disk/fs_uuid.c: Likewise.
31574 * include/grub/search.h: New file.
31575 * util/grub-install.in: Handle sparc64.
31576 Create and use load.cfg.
31577 * util/sparc64/ieee1275/grub-install.in: Removed.
31578
db943399
VS
315792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31580
31581 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31582 Ignore return status if CF is cleared.
31583 (grub_biosdisk_get_diskinfo_standard): Likewise.
31584
3fdae612
RM
315852009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31586
31587 * term/i386/pc/at_keyboard.c
31588 (keyboard_controller_wait_untill_ready): New function.
31589 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31590 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31591 for keyboard polling, rather than duplicate the same loop. This
31592 saves a few bytes in code size.
31593
7ebaa2b4
VS
315942009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31595
31596 Support for (pxe[:server[:gateway]]) syntax and
31597 use environment variable for PXE.
31598
31599 * commands/i386/pc/pxecmd.c (options): Removed.
31600 (print_ip): Removed.
31601 (grub_cmd_pxe): Removed
31602 (grub_cmd_pxe_unload): New function.
31603 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31604 (grub_pxe_your_ip): Made static.
31605 (grub_pxe_default_server_ip): Likewise.
31606 (grub_pxe_default_gateway_ip): Likewise.
31607 (grub_pxe_blksize): Likewise.
31608 (parse_ip): New function.
31609 (grub_pxe_open): Support server and gateway specification.
31610 (grub_pxe_close): Free disk->data.
31611 (grub_pxefs_open): Use disk->data.
31612 (grub_pxefs_read): Likewise.
31613 (grub_env_write_readonly): New function.
31614 (set_mac_env): Likewise.
31615 (set_env_limn_ro): Likewise.
31616 (parse_dhcp_vendor): Likewise.
31617 (grub_pxe_detect): Set the environment variables.
31618 (set_ip_env): New function.
31619 (write_ip_env): Likewise.
31620 (grub_env_write_pxe_default_server): Likewise.
31621 (grub_env_write_pxe_default_gateway): Likewise.
31622 (grub_env_write_pxe_blocksize): Likewise.
31623 (GRUB_MOD_INIT(pxe)): Set environment variables.
31624 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31625 (grub_pxe_mac_addr_t): ... this. All users updated.
31626 (grub_pxe_your_ip): Removed.
31627 (grub_pxe_server_ip): Likewise.
31628 (grub_pxe_gateway_ip): Likewise.
31629 (grub_pxe_blksize): Likewise.
31630
ec5f98ab 316312009-12-25 Carles Pina i Estany <carles@pina.cat>
31632
31633 * commands/help.c: Include `<grub/i18n.h>'.
31634 (grub_cmd_help): Gettextizze.
31635 (GRUB_MOD_INIT): Likewise.
31636 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31637 (GRUB_MOD_INIT): Gettextizze.
31638 * commands/search.c: Include `<grub/i18n.h>'.
31639 (options): Gettextizze.
31640 (GRUB_MOD_INIT): Gettextizze.
31641 * lib/arg.c: Include `<grub/i18n.h>'.
31642 (help_options): Gettextizze.
31643 (find_long): Likewise.
31644 (grub_arg_show_help): Likewise.
31645 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31646 (read_command_list): Gettextizze.
31647 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31648 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31649
22815526
RM
316502009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31651
31652 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31653 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31654 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31655 (led_status): New variable.
31656 (keyboard_controller_led): New function.
31657 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31658 update led status for caps lock, num lock and scroll lock.
31659
0ad46fd7
FZ
316602009-12-25 Felix Zielcke <fzielcke@z-51.de>
31661
31662 * util/hostdisk.c (open_device): Fix a comment.
31663
d0e158c2
RM
316642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31665
31666 * util/grub-install.in (host_os): New variable.
31667 * util/i386/efi/grub-install.in (host_os): Likewise.
31668
401c0ad6
RM
316692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31670
31671 * util/mkisofs/write.c (padblock_write): Abort when given an
31672 excedingly large embed image, instead of silently truncating it.
31673
d14d3370
RM
316742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31675
31676 * include/multiboot.h: Indentation fixes.
31677
eeed10b4
RM
316782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31679
31680 * include/multiboot.h (struct multiboot_aout_symbol_table)
31681 (struct multiboot_elf_section_header_table): New structure
31682 declarations (stolen from GRUB Legacy).
31683 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31684 table information.
31685
31686 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31687 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31688 type aliases.
31689
681c70ab
RM
316902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31691
31692 * include/multiboot.h: Make comments src2texi-friendly.
31693
e4d47d8d
RM
316942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31695
31696 For consistency with [multiboot]/docs/boot.S.
31697
31698 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31699 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31700 (MULTIBOOT_MAGIC2): Rename from this ...
31701 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31702
a0b70bda
RM
317032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31704
31705 * include/multiboot.h: Remove `<grub/types.h>'.
31706 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31707 types. Update all users.
31708
61ba42be 317092009-12-25 Carles Pina i Estany <carles@pina.cat>
31710
31711 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31712 `couldn't' and `can not' by `cannot'.
31713 * commands/i386/pc/drivemap.c: Likewise.
31714 * disk/ata.c: Likewise.
31715 * disk/ieee1275/nand.c: Likewise.
31716 * fs/affs.c: Likewise.
31717 * fs/fat.c: Likewise.
31718 * fs/hfs.c: Likewise.
31719 * fs/hfsplus.c: Likewise.
31720 * fs/iso9660.c: Likewise.
31721 * fs/jfs.c: Likewise.
31722 * fs/minix.c: Likewise.
31723 * fs/reiserfs.c: Likewise.
31724 * fs/sfs.c: Likewise.
31725 * fs/udf.c: Likewise.
31726 * fs/ufs.c: Likewise.
31727 * fs/xfs.c: Likewise.
31728 * loader/powerpc/ieee1275/linux.c: Likewise.
31729 * loader/sparc64/ieee1275/linux.c: Likewise.
31730 * util/grub-probe.c: Likewise.
31731 * util/misc.c: Likewise.
31732
7fd0baee 317332009-12-24 Carles Pina i Estany <carles@pina.cat>
31734
31735 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31736 grub_errno calls.
31737 * commands/acpi.c: Likewise.
31738 * commands/blocklist.c: Likewise.
31739 * commands/efi/loadbios.c: Likewise.
31740 * commands/i386/pc/drivemap.c: Likewise.
31741 * commands/loadenv.c: Likewise.
31742 * commands/memrw.c: Likewise.
31743 * commands/password.c: Likewise.
31744 * commands/videotest.c: Likewise.
31745 * disk/ata.c: Likewise.
31746 * disk/ata_pthru.c: Likewise.
31747 * disk/dmraid_nvidia.c: Likewise.
31748 * disk/ieee1275/nand.c: Likewise.
31749 * disk/ieee1275/ofdisk.c: Likewise.
31750 * disk/loopback.c: Likewise.
31751 * disk/lvm.c: Likewise.
31752 * disk/mdraid_linux.c: Likewise.
31753 * disk/raid.c: Likewise.
31754 * disk/raid6_recover.c: Likewise.
31755 * disk/scsi.c: Likewise.
31756 * efiemu/main.c: Likewise.
31757 * efiemu/mm.c: Likewise.
31758 * efiemu/pnvram.c: Likewise.
31759 * efiemu/symbols.c: Likewise.
31760 * font/font.c: Likewise.
31761 * fs/cpio.c: Likewise.
31762 * fs/hfsplus.c: Likewise.
31763 * fs/iso9660.c: Likewise.
31764 * fs/jfs.c: Likewise.
31765 * fs/minix.c: Likewise.
31766 * fs/ntfs.c: Likewise.
31767 * fs/ntfscomp.c: Likewise.
31768 * fs/reiserfs.c: Likewise.
31769 * fs/ufs.c: Likewise.
31770 * fs/xfs.c: Likewise.
31771 * gettext/gettext.c: Likewise.
31772 * include/grub/auth.h: Likewise.
31773 * kern/elf.c: Likewise.
31774 * kern/file.c: Likewise.
31775 * kern/ieee1275/init.c: Likewise.
31776 * kern/ieee1275/mmap.c: Likewise.
31777 * kern/ieee1275/openfw.c: Likewise.
31778 * kern/powerpc/dl.c: Likewise.
31779 * kern/sparc64/dl.c: Likewise.
31780 * lib/arg.c: Likewise.
31781 * loader/i386/bsd.c: Likewise.
31782 * loader/i386/bsdXX.c: Likewise.
31783 * loader/i386/efi/linux.c: Likewise.
31784 * loader/i386/efi/xnu.c: Likewise.
31785 * loader/i386/ieee1275/linux.c: Likewise.
31786 * loader/i386/linux.c: Likewise.
31787 * loader/i386/multiboot.c: Likewise.
31788 * loader/i386/pc/linux.c: Likewise.
31789 * loader/i386/pc/multiboot2.c: Likewise.
31790 * loader/i386/xnu.c: Likewise.
31791 * loader/ieee1275/multiboot2.c: Likewise.
31792 * loader/macho.c: Likewise.
31793 * loader/machoXX.c: Likewise.
31794 * loader/multiboot2.c: Likewise.
31795 * loader/multiboot_loader.c: Likewise.
31796 * loader/powerpc/ieee1275/linux.c: Likewise.
31797 * loader/sparc64/ieee1275/linux.c: Likewise.
31798 * loader/xnu.c: Likewise.
31799 * loader/xnu_resume.c: Likewise.
31800 * mmap/i386/pc/mmap.c: Likewise.
31801 * normal/menu_viewer.c: Likewise.
31802 * partmap/acorn.c: Likewise.
31803 * partmap/amiga.c: Likewise.
31804 * partmap/apple.c: Likewise.
31805 * script/lexer.c: Likewise.
31806 * term/gfxterm.c: Likewise.
31807 * term/i386/pc/serial.c: Likewise.
31808 * term/i386/pc/vga.c: Likewise.
31809 * term/ieee1275/ofconsole.c: Likewise.
31810 * term/terminfo.c: Likewise.
31811 * video/bitmap.c: Likewise.
31812 * video/efi_gop.c: Likewise.
31813 * video/efi_uga.c: Likewise.
31814 * video/fb/video_fb.c: Likewise.
31815 * video/i386/pc/vbe.c: Likewise.
31816 * video/readers/tga.c: Likewise.
31817 * video/video.c: Likewise.
31818
0ad46fd7 318192009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31820
31821 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31822 * commands/lspci.c: Likewise.
31823 * commands/probe.c: Likewise.
31824 * commands/xnu_uuid.c: Likewise.
31825 * conf/i386-coreboot.rmk: Likewise.
31826 * conf/i386-efi.rmk: Likewise.
31827 * conf/i386-ieee1275.rmk: Likewise.
31828 * conf/i386-pc.rmk: Likewise.
31829 * conf/powerpc-ieee1275.rmk: Likewise.
31830 * conf/sparc64-ieee1275.rmk: Likewise.
31831 * conf/x86_64-efi.rmk: Likewise.
31832 * fs/i386/pc/pxe.c: Likewise.
31833 * gettext/gettext.c: Likewise.
31834 * include/grub/efi/graphics_output.h: Likewise.
31835 * include/grub/i386/pc/memory.h: Likewise.
31836 * kern/env.c: Likewise.
31837 * kern/i386/qemu/startup.S: Likewise.
31838 * lib/i386/pc/biosnum.c: Likewise.
31839 * lib/i386/relocator.c: Likewise.
31840 * lib/i386/relocator_asm.S: Likewise.
31841 * lib/relocator.c: Likewise.
31842 * loader/i386/bsd.c: Likewise.
31843 * loader/i386/multiboot.c: Likewise.
31844 * loader/i386/pc/chainloader.c: Likewise.
31845 * loader/i386/xnu.c: Likewise.
31846 * loader/xnu.c: Likewise.
31847 * normal/main.c: Likewise.
31848 * normal/menu_text.c: Likewise.
31849 * util/getroot.c: Likewise.
31850 * util/grub-mkconfig_lib.in: Likewise.
31851 * util/grub.d/00_header.in: Likewise.
31852 * util/i386/pc/grub-mkimage.c: Likewise.
31853 * util/mkisofs/eltorito.c: Likewise.
31854 * util/mkisofs/exclude.h: Likewise.
31855 * util/mkisofs/hash.c: Likewise.
31856 * util/mkisofs/iso9660.h: Likewise.
31857 * util/mkisofs/joliet.c: Likewise.
31858 * util/mkisofs/mkisofs.c: Likewise.
31859 * util/mkisofs/mkisofs.h: Likewise.
31860 * util/mkisofs/multi.c: Likewise.
31861 * util/mkisofs/name.c: Likewise.
31862 * util/mkisofs/rock.c: Likewise.
31863 * util/mkisofs/tree.c: Likewise.
31864 * util/mkisofs/write.c: Likewise.
31865 * video/efi_gop.c: Likewise.
31866
009ec743
VS
318672009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31868
31869 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31870 size counting.
31871
0ad46fd7 318722009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31873
31874 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31875 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31876
d3d30ea0
VS
318772009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31878
31879 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31880 (GRUB_MOD_INIT(memrw)): Update help line.
31881
a34f5c70
VS
318822009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31883
31884 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31885 Use grub_extcmd_t. All users updated.
31886 (options): New variable.
31887 (grub_cmd_read): Restructure for readability. Support "-v" option.
31888 (grub_cmd_write): Restructure for readability.
31889
0ad46fd7 318902009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31891
31892 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31893
0ad46fd7 318942009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31895
31896 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31897 with the actual contents of the correspondending make variable.
31898 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31899 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31900 specifying `*.lst' and `efiemu??.o'
31901
0ad46fd7 319022009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31903
31904 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31905 after function name.
31906 Noticed by Rene Engelhard <rene@debian.org>.
31907
dc77a799
VS
319082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31909
31910 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31911 (options): New variable.
31912 (iospace): Likewise.
31913 (grub_lspci_iter): List IO spaces if "-i" was given.
31914 (grub_cmd_lspci): Parse options.
31915 (GRUB_MOD_INIT(lspci)): Use extcmd.
31916 (GRUB_MOD_FINI(lspci)): Likewise.
31917
0ad46fd7 319182009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31919
31920 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31921 `function' keyword.
31922 Patch by Tony Mancill <tmancill@debian.org>.
31923
b5d5993b
VS
319242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31925
31926 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31927 (grub_uhci_portstatus): Likewise.
31928 (grub_uhci_portstatus): Add necessary delay.
11d18281 31929 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31930
941903f2 319312009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31932
941903f2 31933 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31934 (GRUB_MOD_INIT): Likewise.
31935 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31936 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31937 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31938 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31939 (enable_rom_area): Likewise.
31940 (GRUB_MOD_INIT): Likewise.
31941 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31942 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31943 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31944 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31945 * commands/hexdump.c (options): Likewise.
31946 * commands/i386/cpuid.c (options): Likewise.
31947 (GRUB_MOD_INIT): Likewise.
31948 * commands/i386/pc/drivemap.c (options): Likewise.
31949 (GRUB_MOD_INIT): Likewise.
31950 * commands/i386/pc/halt (options): Likewise.
31951 (GRUB_MOD_INIT): Likewise.
31952 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31953 * commands/i386/pc/pxecmd.c (options): Likewise.
31954 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31955 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31956 * commands/keystatus.c (options): Likewise.
31957 (GRUB_MOD_INIT): Likewise.
31958 * commands/loadenv.c (options): Likewise.
31959 * commands/ls.c (options): Likewise.
31960 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31961 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31962 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31963 * commands/parttool.c (helpmsg): Likewise.
31964 * commands/probe.c (options): Likewise.
31965 * commands/read.c (GRUB_MOD_INIT): Likewise.
31966 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31967 * commands/search.c (options): Likewise.
31968 * commands/sleep.c (options): Likewise.
31969 * commands/test.c (GRUB_MOD_INIT): Likewise.
31970 * commands/true.c (GRUB_MOD_INIT): Likewise.
31971 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31972 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31973 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31974 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31975 `$(XGETTEXT)'.
98a50553 31976 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31977
0ad46fd7 319782009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31979
ef3c2c3a 31980 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31981 instead of specifying them explicit.
31982
7922f68b
RM
319832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31984
31985 * NEWS: Add grub-probe support for GNU/Hurd.
31986
537ce47f
RM
319872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31988
31989 * NEWS: gettext was added after 1.97.
31990
9b214e3a
RM
319912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31992
31993 * util/mkisofs/msdos_partition.h: New file (based on
31994 include/grub/msdos_partition.h).
31995 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31996 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31997 (ld_options, main): Recognize --protective-msdos-label.
31998 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31999 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32000 (padblock_write): If `use_protective_msdos_label' is set, patch a
32001 protective DOS-style label in the output image.
32002
32003 * util/grub-mkrescue.in: Use --protective-msdos-label.
32004
e9309813
RM
320052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32006
32007 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32008 boot.
32009
0ae56929
RM
320102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32011
32012 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32013 variables.
32014 (ld_options, main): Recognize `--embedded-boot'.
32015 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32016 declarations.
32017 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32018 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32019 (padblock_write): Likewise. Rewrite to support embedded boot image.
32020
32021 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32022 for BIOS-based disk boot instead of only ElTorito.
32023
b15937b1
RM
320242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32025
32026 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32027 build (not needed for bootstrap).
32028
52cc3ce0
RM
320292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32032 from i386-pc build (not needed for bootstrap).
32033 Rewrite a pair of strings.
32034
36f5ff04
RM
320352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32036
32037 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32038
973c6c85 320392009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32040
32041 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32042
05d21547
AB
320432009-12-21 Andreas Born <futur.andy@googlemail.com>
32044
32045 * kern/env.c (grub_env_context_open): Mark exported variable for
32046 reexport.
32047
0175d51f
AB
320482009-12-21 Andreas Born <futur.andy@googlemail.com>
32049
32050 * kern/env.c (grub_env_export): Create nonexistent variables before
32051 exporting.
32052
7f39d92f 320532009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32054
7f39d92f 32055 * include/grub/auth.h: Include `<grub/i18n.h>'.
32056 (GRUB_GET_PASSWORD): Gettextizze string.
32057 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32058 menu_text.c.
32059 (grub_utf8_to_ucs4_alloc): Fix indentation.
32060 (grub_print_ucs4): Likewise.
32061 (grub_getstringwidth): Likewise.
32062 (print_message_indented): New declaration.
32063 * normal/auth.c: Include `<grub/i18n.h>'.
32064 (grub_auth_check_authentication): Gettexttize string.
32065 * normal/cmdline.c: Include `<grub/i18n.h>'.
32066 (grub_cmdline_get): Gettextizze.
32067 * normal/color.c: Include `<grub/i18n.h>'.
32068 (grub_parse_color_name_pair): Gettexttize strings.
32069 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32070 string (use `print_message_indented').
32071 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32072 `include/grub/normal.h'.
32073 (print_message_indented): Renamed to ...
32074 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32075 used in normal/main.c).
32076 (print_message): Use `grub_print_message_indented' instead of
32077 `print_message_indented'.
32078 (print_timeout): Likewise.
32079 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32080 (grub_normal_print_device_info): Gettexttize strings.
32081 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32082
3041d898
VS
320832009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32084
32085 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32086 of arguments. Return number of tokens and not arguments. All users
32087 updated.
32088
de15bf8e
VS
320892009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32090
32091 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32092 non-MSDOS paritions.
32093
e0a6ca52
VS
320942009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32095
32096 * include/grub/types.h (UNUSED): Removed since it conflicts with
32097 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32098 Reported by Grégoire Sutre.
32099
b99518d1 321002009-12-19 Carles Pina i Estany <carles@pina.cat>
32101
32102 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32103 (grub_print_ucs4_alloc): Likewise.
32104 (grub_getstringwidth): Likewise.
32105 * normal/main.c (grub_normal_init_page): Gettextize version string.
32106 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32107 (getstringwidth): Renamed to ...
32108 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32109 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32110 (grub_print_ucs4): Remove `static' qualifer (now used in
32111 normal/main.c).
32112 * po/POTFILES: Add normal/main.c.
32113
bfd5e52b 321142009-12-19 Carles Pina i Estany <carles@pina.cat>
32115
32116 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32117 (print_message_indented): Add `margin_left' and `margin_right'
32118 parameters.
32119 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32120 strings.
32121 (print_timeout): Use `print_message_indented' to print the message.
32122 Deletes `second_stage' parameter.
32123 (run_menu): Update `print_timeout' calls.
32124
5a1ad2b9
VS
321252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32126
32127 Fix console palette on OpenFirmware.
32128
32129 * term/ieee1275/ofconsole.c (MAX): Removed.
32130 (colors): Redone based on VGA palette.
32131 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32132 colors are supported.
32133 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32134
b045f00a
VS
321352009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32136
32137 Fix potential EfiEmu double prepare.
32138
32139 * efiemu/main.c (prepared): New variable
32140 (grub_efiemu_unload): Set prepare to '0'.
32141 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32142
32143 set_virtual_address_map support.
32144
32145 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32146 prototype.
32147 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32148 prototype.
32149 (grub_efiemu_crc32): Likewise.
32150 (grub_efiemu_crc64): Likewise.
32151 (grub_efiemu_set_virtual_address_map): Likewise.
32152 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32153 New definition.
32154 (grub_autoefi_set_virtual_address_map): Likewise.
32155 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32156 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32157 Restructure flow to accomodate it.
32158 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32159 (grub_efiemu_crc): Recompute CRC32.
32160 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32161 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32162 * efiemu/symbols.c (relocated_handle): New variable.
32163 (grub_efiemu_free_syms): Free relocated_handle.
32164 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32165 (grub_efiemu_write_sym_markers): New function.
32166 (grub_efiemu_set_virtual_address_map): Likewise.
32167
32168 Newer XNU parameters.
32169
32170 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32171 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32172 (grub_xnu_fill_devicetree): New prototype.
32173 (grub_xnu_heap_real_start): New variable.
32174 * loader/xnu.c (get_name_ptr): New function.
32175 (grub_xnu_load_driver): Fill namelen and name.
32176
32177 64-bit xnu support.
32178
32179 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32180 and 'loader/macho64.c'.
32181 * conf/i386-pc.rmk: Likewise.
32182 * conf/x86_64-efi.rmk: Likewise.
32183 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32184 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32185 * include/grub/macho.h (grub_macho_segment64): New structure.
32186 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32187 (grub_macho_size32): ... to this.
32188 (grub_macho32_get_entry_point): Renamed from ...
32189 (grub_macho_get_entry_point32): ... to this.
32190 (grub_macho_contains_macho64): New prototype.
32191 (grub_macho_size64): Likewise.
32192 (grub_macho_get_entry_point64): Likewise.
32193 (grub_macho32_load): Renamed from ...
32194 (grub_macho_load32): ... to this.
32195 (grub_macho32_filesize): Renamed from ...
32196 (grub_macho_filesize32): ... to this.
32197 (grub_macho32_readfile): Renamed from ...
32198 (grub_macho_readfile32): ... to this.
32199 (grub_macho_filesize64): New prototype.
32200 (grub_macho_readfile64): Likewise.
32201 (grub_macho_parse32): Likewise.
32202 (grub_macho_parse64): Likewise.
32203 * loader/macho.c: Split into ...
32204 * loader/machoXX.c: ... and this. Replace 32 with XX.
32205 * loader/macho32.c: New file.
32206 * loader/macho64.c: Likewise.
32207 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32208 (grub_cmd_xnu_kernel): Make 32-bit only.
32209 (grub_cmd_xnu_kernel64): New function.
32210 (grub_xnu_load_driver): Support Mach-O 64.
32211 (grub_cmd_xnu_mkext): Likewise.
32212 * util/grub.d/30_os-prober.in (osx_entry): New function.
32213 Generate entries for 64-bit boot too.
32214
32215 Eliminate ad-hoc tree format in XNU and EfiEmu.
32216
32217 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32218 * efiemu/pnvram.c: Rewritten to use environment variables.
32219 All users updated.
32220
32221 Inline utf16_to_utf8.
32222
32223 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32224 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32225 All users updated.
32226 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32227
32228 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32229 * commands/usbtest.c (grub_usb_get_string): ... move here.
32230 (usb_print_str): Fix error handling.
32231 * include/grub/usb.h (grub_usb_get_string): Remove.
32232
32233 UTF-8 to UTF-16 transformation.
32234
32235 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32236 (charset_mod_SOURCES): New variable.
32237 (charset_mod_CFLAGS): Likewise.
32238 (charset_mod_LDFLAGS): Likewise.
32239 * include/grub/utf.h: New file.
32240 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32241
32242 Support for device properties.
32243
32244 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32245 (grub_xnu_devprop_device_header): Likewise.
32246 (grub_xnu_devprop_device_descriptor): Likewise.
32247 (grub_xnu_devprop_add_device): New prototype.
32248 (grub_xnu_devprop_remove_device): Likewise.
32249 (grub_xnu_devprop_remove_property): Likewise.
32250 (grub_xnu_devprop_add_property_utf8): Likewise.
32251 (grub_xnu_devprop_add_property_utf16): Likewise.
32252 (grub_cpu_xnu_init): Likewise.
32253 (grub_cpu_xnu_fini): Likewise.
32254 (grub_cpu_xnu_unload): Likewise.
32255 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32256 (property_descriptor): Likewise.
32257 (devices): New variable.
32258 (grub_xnu_devprop_remove_property): New function.
32259 (grub_xnu_devprop_add_device): Likewise.
32260 (grub_xnu_devprop_remove_device): Likewise.
32261 (grub_xnu_devprop_add_property): Likewise.
32262 (grub_xnu_devprop_add_property_utf8): Likewise.
32263 (grub_xnu_devprop_add_property_utf16): Likewise.
32264 (hextoval): Likewise.
32265 (grub_cpu_xnu_fill_devprop): Likewise.
32266 (grub_cmd_devprop_load): Likewise.
32267 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32268 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32269 (cmd_devprop_load): New variable.
32270 (grub_cpu_xnu_init): New function.
32271 (grub_cpu_xnu_fini): Likewise.
32272 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32273 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32274 (grub_cmd_xnu_devtree): Likewise.
32275 (hextoval): New function.
32276 (unescape): Likewise.
32277 (grub_xnu_fill_devicetree): Likewise.
32278
32279 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32280 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32281
0945f181
VS
322822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32283
32284 Workaround for broken ATI VBE.
32285
32286 * video/i386/pc/vbe.c (last_set_mode): New variable.
32287 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32288 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32289 (grub_video_vbe_setup): Don't check for reserved flag.
32290
0ad46fd7 322912009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32292
32293 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32294 the `find' command.
32295
c179ebe4
VS
322962009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32297
32298 UUID support for HFS.
32299
32300 * fs/hfs.c (grub_hfs_uuid): New function.
32301 (grub_hfs_fs): New value .uuid.
32302 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32303
0ad46fd7 323042009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32305
32306 Fix a segfault with parsing unknown long options.
32307
32308 * util/grub-mkrelpath.c (options): Zero terminate it.
32309
c4a3e41a
CPE
323102009-12-13 Carles Pina i Estany <carles@pina.cat>
32311
32312 * include/grub/misc.h (grub_puts): New declaration.
32313 (grub_puts_): Likewise.
a22008a6 32314 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32315 (grub_puts_): Likewise.
32316
2e8a7602
RM
323172009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32318
32319 * util/grub-probe.c (probe): Improve error message.
32320
b50b77b9
RM
323212009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32322
32323 * loader/i386/multiboot_elfxx.c
32324 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32325 initialization.
32326
323272009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32328
32329 Relocator framework
32330
32331 * loader/i386/xnu_helper.S: Removed. All users updated.
32332 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32333 (relocator_mod_SOURCES): New variable.
32334 (relocator_mod_CFLAGS): Likewise.
32335 (relocator_mod_LDFLAGS): Likewise.
32336 (relocator_mod_ASFLAGS): Likewise.
32337 * conf/x86_64.rmk: Likewise.
32338 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32339 (grub_multiboot_payload_entry_offset): Likewise.
32340 (grub_multiboot_forward_relocator): Likewise.
32341 (grub_multiboot_forward_relocator_end): Likewise.
32342 (grub_multiboot_backward_relocator): Likewise.
32343 (grub_multiboot_backward_relocator_end): Likewise.
32344 (grub_multiboot_payload_eip): New variable.
32345 (grub_multiboot_payload_orig): Likewise.
32346 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32347 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32348 * include/grub/i386/memory.h
32349 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32350 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32351 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32352 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32353 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32354 * include/grub/i386/relocator.h: New file.
32355 * include/grub/x86_64/relocator.h: Likewise.
32356 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32357 (XNU_RELOCATOR): New macro.
32358 (grub_xnu_launcher_start): Remove.
32359 (grub_xnu_launcher_end): Likewise.
32360 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32361 (grub_xnu_heap_real_start): Remove.
32362 (grub_xnu_heap_start): Change to void *. All users updated.
32363 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32364 * lib/i386/relocator.c: New file.
32365 * lib/i386/relocator_asm.S: Likewise.
32366 * lib/i386/relocator_backward.S: Likewise.
32367 * lib/mips/relocator.c: Likewise.
32368 * lib/mips/relocator_asm.S: Likewise.
32369 * lib/relocator.c: Likewise.
32370 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32371 (entry): Removed.
32372 (playground): Likewise.
32373 (grub_multiboot_payload_orig): New variable.
32374 (grub_multiboot_payload_dest): Likewise.
32375 (grub_multiboot_payload_size): Likewise.
32376 (grub_multiboot_payload_eip): Likewise.
32377 (grub_multiboot_payload_esp): Likewise.
32378 (grub_multiboot_boot): Use grub_relocator32_boot.
32379 (grub_multiboot_unload): Free relocators.
32380 (grub_multiboot): Setup stack. Use relocators.
32381 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32382 (grub_multiboot_load_elfXX): Use relocators.
32383 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32384 (grub_multiboot_payload_size): Likewise.
32385 (grub_multiboot_payload_dest): Likewise.
32386 (grub_multiboot_payload_entry_offset): Likewise.
32387 (grub_multiboot_forward_relocator): Likewise.
32388 (grub_multiboot_backward_relocator): Likewise.
32389 (grub_multiboot_real_boot): Likewise.
32390 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32391 (grub_xnu_entry_point): Likewise.
32392 (grub_xnu_arg1): Likewise.
32393 (grub_xnu_stack): Likewise.
32394 (grub_xnu_launch): Removed.
32395 (grub_xnu_boot_resume): New function.
32396 (grub_xnu_boot): Use relocators.
32397 * loader/i386/xnu_helper.S: Removed.
32398 * loader/xnu.c (grub_xnu_heap_start): New variable.
32399 (grub_xnu_heap_size): Likewise.
32400 (grub_xnu_heap_malloc): Use relocators.
32401 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32402
29eb90c6
VS
324032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32404
32405 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32406 anything.
32407
31027430
CPE
324082009-12-13 Carles Pina i Estany <carles@pina.cat>
32409
32410 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32411 GRUB_ERR_NONE before calling grub_env_set.
32412
dc0c71d9
RM
324132009-12-12 Robert Millan <rmh@aybabtu.com>
32414
32415 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32416 * genmk.rb (video): New variable.
32417 (CLEANFILES, VIDEOFILES): Add #{video}.
32418 (#{video}): New target rule.
32419 * genvideolist.sh: New file.
32420 * Makefile.in (pkglib_DATA): Add video.lst.
32421 (video.lst): New target rule.
32422 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32423 `video.lst'.
32424 * util/grub.d/30_os-prober.in: Replace `vbe' with
32425 ${GRUB_VIDEO_BACKEND}.
32426
2a4bfcf0
RM
324272009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32428
32429 * THANKS: Add David Miller.
32430
2a3aa4d5
RM
324312009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32432
32433 libpciaccess support.
32434
32435 * Makefile.in (LIBPCIACCESS): New variable.
32436 (enable_grub_emu_pci): Likewise.
32437 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32438 util/pci.c and commands/lspci.c.
32439 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32440 * configure.ac (grub-emu-pci): New option.
32441 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32442 (grub_pci_device_unmap_range): Likewise.
32443 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32444 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32445 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32446 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32447 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32448 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32449 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32450 * include/grub/pciutils.h: New file.
32451 * util/pci.c: Likewise.
32452
0ad46fd7 324532009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32454
32455 * util/misc.c: Don't include <errno.h> twice.
32456
0ad46fd7 324572009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32458
32459 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32460 name in an error message.
32461 (grub_biosdisk_rw): Likewise.
32462
2e59983c
VS
324632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32464
32465 Eliminate NTFS 4Gib barrier.
32466
32467 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32468 (read_run_data): Likewise.
32469 (grub_ntfs_read_run_list): Likewise.
32470 (grub_ntfs_read_block): Likewise.
32471 (grub_ntfs_iterate_dir): Likewise.
32472 (read_mft): Likewise.
32473 (read_data): Likewise.
32474 Use COM_LOG_LEN.
32475 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32476 to avoid 64-bit division
32477 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32478 (grub_ntfs_rlst): Use grub_disk_addr_t.
32479
71ee178a
VS
324802009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32481
32482 Eliminate grub-fstest 4Gib barrier.
32483
32484 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32485 (read_file): Fix error reporting.
32486
2520d4b8
VS
324872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32488
32489 Eliminate hexdump 4Gib barrier.
32490
32491 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32492 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32493
e1f27065
VS
324942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32495
32496 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32497 Fixes amarsh bug.
32498
1a0f7f45
RM
324992009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32500
32501 Remove miscellaneous files in distclean target.
32502
32503 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32504
c631d9fb
CW
325052009-12-09 Colin Watson <cjwatson@ubuntu.com>
32506
32507 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32508 if they're already set. This resolves the conflict between my
32509 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32510 fixing the --grub-probe option again.
32511 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32512 change on 2009-10-06, so that we now once again source
32513 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32514
7c7b6106
RM
325152009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32516
32517 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32518 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32519 `util/devicemap.c'.
32520
e3069ec1
CPE
325212009-12-08 Carles Pina i Estany <carles@pina.cat>
32522
32523 * include/grub/misc.h (grub_printf_): New declaration.
32524 * kern/misc.c (grub_printf_): New definition.
32525 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32526 instead of `grub_printf' and `_'.
32527 * normal/menu_entry.c (store_completion): Likewise.
32528 (run): Likewise.
32529 (grub_menu_entry_run): Likewise.
32530 * normal/menu_text.c (grub_wait_after_message): Likewise.
32531 (notify_booting): Likewise.
32532 (notify_fallback): Likewise.
32533 (notify_execution_failure): Likewise.
32534
d6ceebf1
CW
325352009-12-07 Colin Watson <cjwatson@ubuntu.com>
32536
32537 * configure.ac: Check for vasprintf.
32538 * util/misc.c (asprintf): Move allocation from here ...
32539 (vasprintf): ... to here. New function.
32540 (xasprintf): New function.
32541 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32542 prototypes.
32543 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32544 * util/grub-mkfont.c (write_font): Likewise.
32545 * util/grub-probe.c (probe): Likewise.
32546 * util/hostdisk.c (make_device_name): Likewise.
32547
de6daa8b
DM
325482009-12-06 David S. Miller <davem@sunset.davemloft.net>
32549
32550 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32551 anything even prefixed with 'cdrom' as a cdrom.
32552
0ad46fd7 325532009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32554
32555 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32556 mount points.
32557
98d3dc02
CPE
325582009-12-05 Carles Pina i Estany <carles@pina.cat>
32559
32560 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32561 grub_gettext_msg_list.
32562 (grub_gettext_gettranslation_from_position): Return const char *
32563 and not char *.
a2c1332b 32564 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32565 returns from the list if existing there.
32566 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32567 (grub_gettext_delete_list): Delete the list.
32568 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32569 lang environment variable is changed.
32570 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32571
b283f108
VS
325722009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32573
32574 Rename kernel.mod to kernel.img.
32575
32576 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32577 (kernel_mod_EXPORTS): Rename to ...
32578 (kernel_img_EXPORTS): ... this.
32579 (kernel_mod_SOURCES): Rename to ...
32580 (kernel_img_SOURCES): ... this.
32581 (kernel_mod_HEADERS): Rename to ...
32582 (kernel_img_HEADERS): ... this. All users updated.
32583 (kernel_mod_CFLAGS): Rename to ...
32584 (kernel_img_CFLAGS): ... this.
32585 (kernel_mod_ASFLAGS): Rename to ...
32586 (kernel_img_ASFLAGS): ... this.
32587 (kernel_mod_LDFLAGS): Rename to ...
32588 (kernel_img_LDFLAGS): ... this.
32589 * conf/x86_64-efi.rmk: Likewise.
32590 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32591 (read_kernel_image): ... this. All users updated.
32592 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32593
69055f8a
CPE
325942009-12-05 Carles Pina i Estany <carles@pina.cat>
32595
32596 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32597 (print_spaces): New function.
32598 (grub_print_ucs4): New function.
32599 (getstringwidth): New function.
32600 (print_message_indented): New function.
32601 (print_message): Gettexttize strings using print_message_indented.
32602 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32603 width.
32604 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32605 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32606 Gettextize.
32607 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32608 string.
32609 (run): Likewise.
32610 (grub_menu_entry_run): Likewise.
32611 * PO/POTFILES: Add normal/menu_entry.c.
32612
f616f51c
VS
326132009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32614
32615 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32616
57bbe3be
CPE
326172009-12-05 Carles Pina i Estany <carles@pina.cat>
32618
32619 * util/grub-install.in: Install gettext .mo files.
32620 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32621
013d67a1
CPE
326222009-12-05 Carles Pina i Estany <carles@pina.cat>
32623
32624 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32625 grub_dprintf.
32626
fb954db0
RM
326272009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32628
32629 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32630 non-firmware-dependant one in realmode.S takes precedence.
32631
6b8474f8
RM
326322009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32633
32634 * commands/halt.c: Replace misc arch-specific headers with
32635 `<grub/misc.h>'.
32636 * commands/reboot.c: Likewise.
32637 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32638 `<grub/misc.h>'.
32639 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32640 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32641 (kernel_img_SOURCES): ... to here.
32642
32643 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32644 * include/grub/i386/pc/init.h: Likewise.
32645 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32646 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32647
32648 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32649
32650 * include/grub/i386/halt.h: Remove.
32651 * include/grub/i386/reboot.h: Likewise.
32652
32653 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32654
4b2e6ca2
DM
326552009-12-03 David S. Miller <davem@sunset.davemloft.net>
32656
32657 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32658 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32659 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32660 "progname.h"
32661 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32662 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32663 (usage): Add missing comma in printf.
32664
5239348f
RM
326652009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32666
32667 Use the same reboot approach on i386 coreboot and qemu as we do on
32668 BIOS.
32669
32670 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32671 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32672 * kern/i386/reboot.c: Remove.
32673 * include/grub/i386/reboot.h (grub_reboot): Export function.
32674 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32675 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32676 0xf000:0xfff0 instead of 0xffff:0x0000.
32677 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32678 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32679
ef34cbd4
RM
326802009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32681
32682 Fix $srcdir != $objdir build.
32683
32684 * Makefile.in (po/%.po): Rewrite as ...
32685 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32686
dc9837ea
ST
326872009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32688
32689 Fix GNU/Hurd grub-install crash.
32690 * util/grub-probe.c (probe): Try to access `path' only when it is not
32691 NULL.
32692
2f857f98
VS
326932009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32694
32695 Correct module naming.
32696
32697 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32698 (GRUB_MOD_INIT(efi_uga)): ... to this
32699 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32700 (GRUB_MOD_FINI(efi_uga)): ... to this
32701 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32702 (GRUB_MOD_INIT(efi_gop)): ... to this
32703 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32704 (GRUB_MOD_FINI(efi_gop)): ... to this
32705
c5448046
RM
327062009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32707
32708 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32709 translatable.
32710 (usage): Translate `arg' strings using gettext().
32711 Thanks to Jordi Mallach for the suggestion.
32712
c85184ad
VS
327132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32714
32715 GOP support. Based on patch from Bean
32716 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32717
32718 * video/efi_gop.c: New file.
32719 * include/grub/efi/graphics_output.h: Likewise.
32720 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32721 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32722 variables.
32723 * conf/x86_64-efi.rmk: Likewise.
32724
8a4c48d8
VS
327252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32726
32727 Rename efi_fb to efi_uga.
32728
32729 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32730 'efi_uga.mod'.
32731 (efi_fb_mod_SOURCES): Rename this ...
32732 (efi_uga_mod_SOURCES): ... to this.
32733 (efi_fb_mod_CFLAGS): Rename this ...
32734 (efi_uga_mod_CFLAGS): ... to this.
32735 (efi_fb_mod_LDFLAGS): Rename this ...
32736 (efi_uga_mod_LDFLAGS): ... to this.
32737 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32738 'efi_uga.mod'.
32739 (efi_fb_mod_SOURCES): Rename this ...
32740 (efi_uga_mod_SOURCES): ... to this.
32741 (efi_fb_mod_CFLAGS): Rename this ...
32742 (efi_uga_mod_CFLAGS): ... to this.
32743 (efi_fb_mod_LDFLAGS): Rename this ...
32744 (efi_uga_mod_LDFLAGS): ... to this.
32745 * video/efi_fb.c: Move this ...
32746 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32747
fb6c1a7b
RM
327482009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32749
32750 * po/README: New file. Explain our PO file workflow.
32751
3bc7896c
RM
327522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32753
32754 * po/ChangeLog: Remove. Move relevant entries back to ...
32755 * ChangeLog: ... here.
32756 * po/ca.po: Remove (now handled by TLP).
32757 * po/id.po: Likewise.
32758 * po/zh_CN.po: Likewise.
32759 * Makefile.in (LINGUAS): Initialize in a way that supports
32760 empty set.
32761
9ed4841d
RM
327622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32763
32764 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32765 reliing on po/LINGUAS.
32766 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32767 (po/%.po): ... this.
32768
0ad46fd7 327692009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32770
32771 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32772 (main): Use `program_name' instead of nonexistent `progname'.
32773
e30dd392
FZ
327742009-11-26 Felix Zielcke <fzielcke@z-51.de>
32775
32776 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32777 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32778
7656de4f
RM
327792009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32780
32781 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32782 commit.
32783 * conf/i386-efi.rmk: Likewise.
32784 * conf/i386-ieee1275.rmk: Likewise.
32785 * conf/powerpc-ieee1275.rmk: Likewise.
32786 * conf/sparc64-ieee1275.rmk: Likewise.
32787 * conf/x86_64-efi.rmk: Likewise.
32788
db77c4d4
FZ
327892009-11-26 Felix Zielcke <fzielcke@z-51.de>
32790
32791 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32792
a755bb04
FZ
327932009-11-26 Felix Zielcke <fzielcke@z-51.de>
32794
32795 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32796
8a4c07fd
RM
327972009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32800 (grub_mkdevicemap_SOURCES): New variable.
32801 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32802 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32803 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32804 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32805 (grub_mkdevicemap_SOURCES): Remove.
32806 * conf/i386-efi.rmk: Likewise.
32807 * conf/i386-ieee1275.rmk: Likewise.
32808 * conf/i386-pc.rmk: Likewise.
32809 * conf/powerpc-ieee1275.rmk: Likewise.
32810 * conf/sparc64-ieee1275.rmk: Likewise.
32811 * conf/x86_64-efi.rmk: Likewise.
32812 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32813 (usage): Fix strings to use `program_name'.
32814 (main): Initialize gettext.
32815 * util/grub-editenv.c: Likewise.
32816 * util/grub-emu.c: Likewise.
32817 * util/grub-fstest.c: Likewise.
32818 * util/grub-mkdevicemap.c: Likewise.
32819 * util/grub-mkfont.c: Likewise.
32820 * util/grub-mkrelpath.c: Likewise.
32821 * util/grub-pe2elf.c: Likewise.
32822 * util/grub-probe.c: Likewise.
32823 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32824 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32825 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32826
32827 * util/misc.c: Include `"progname.h"'.
32828 (progname): Remove variable.
32829 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32830
6f61ed55
FZ
328312009-11-25 Felix Zielcke <fzielcke@z-51.de>
32832
32833 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32834 printf and print a newline after the menuentry header line.
32835 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32836
f022876b
FZ
328372009-11-25 Felix Zielcke <fzielcke@z-51.de>
32838
32839 autoconf >= 2.60 support $(localedir).
32840
32841 * INSTALL: Note that autoconf 2.60 is required.
32842 * configure.ac (AC_PREREQ): Bump to 2.60.
32843 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32844 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32845
6717926e
YB
328462009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32847
32848 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32849 aclocal is run.
32850
08806a54
RM
328512009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * normal/main.c (grub_normal_read_line): Fix off-by-one
32854 buffer overflow.
32855
13b33fba
RM
328562009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32857
32858 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32859 "parser.grub" in grub_command_execute() call.
32860
4a8572e9
CPE
328612009-11-24 Carles Pina i Estany <carles@pina.cat>
32862
32863 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32864 * conf/i386-efi.rmk: Likewise.
32865 * conf/i386-ieee1275.rmk: Likewise.
32866 * conf/i386-pc.rmk: Likewise.
32867 * conf/powerpc-ieee1275.rmk: Likewise.
32868 * conf/sparc64-ieee1275.rmk: Likewise.
32869 * conf/x86_64-efi.rmk: Likewise.
32870 * gettext/gettex.c: Include <grub/i18n.h>.
32871 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32872 here ...
32873 * include/grub/i18n.h: ... to here
32874 * include/grub/i18n.h: ... to here.
32875 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32876 (grub_gettext_dummy): Move above user.
4a8572e9 32877
bee48093
FZ
328782009-11-24 Felix Zielcke <fzielcke@z-51.de>
32879
32880 * util/Makefile.in (install-local): Convert a `for' into a normal
32881 shell expansion.
32882
a031e91c
RM
328832009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32884
32885 * autogen.sh: Add automake call.
32886 * config.guess: Remove.
32887 * config.sub: Likewise.
32888 * install-sh: Likewise.
32889
26bec39d
FZ
328902009-11-24 Felix Zielcke <fzielcke@z-51.de>
32891
32892 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32893
8e2532fd
FZ
328942009-11-24 Felix Zielcke <fzielcke@z-51.de>
32895
32896 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32897 function to a normal shell `for'.
32898
fefa1b7d
FZ
328992009-11-24 Felix Zielcke <fzielcke@z-51.de>
32900
32901 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32902
4501250b
FZ
329032009-11-24 Felix Zielcke <fzielcke@z-51.de>
32904
32905 * util/grub-mkrelpath.c: New file.
32906 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32907 (grub_mkrelpath_SOURCES): New variable.
32908 * include/grub/util/misc.h: New function prototype.
32909 * util/misc.c (make_system_path_relative_to_its_root): New function.
32910
32911 * util/grub-mkconfig_lib.in (bindir): New variable.
32912 (grub_mkrelpath): Likewise.
32913 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32914
32915 * util/probe.c (probe): Make the file path relative to its root.
32916 Change a info message to use the GRUB path. Enable again the
32917 check if we can read the file with GRUB facilities.
32918
32919 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32920 to its root.
32921
11d9778b
FZ
329222009-11-24 Felix Zielcke <fzielcke@z-51.de>
32923
32924 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32925 platform.
32926
4465287d
FZ
329272009-11-24 Felix Zielcke <fzielcke@z-51.de>
32928
32929 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32930 strncmp().
32931
62b47f22
FZ
329322009-11-24 Felix Zielcke <fzielcke@z-51.de>
32933
32934 * util/getroot.c (grub_util_is_dmraid): New function.
32935 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32936 devices as normal ones, not as LVM.
32937
1eafb9b9 329382009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32939
32940 * conf/common.rmk: Add grub-gettext_lib target and updates
32941 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32942 LDFLAGS.
32943 * gettext/gettext.c: New file. (Reads mo files).
32944 * include/grub/file.h (grub_file_pread): New prototype.
32945 * include/grub/i18n.h (_): New prototype.
32946 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32947 prototypes.
32948 * kern/misc.c (grub_gettext_dummy): New function.
32949 * normal/menu_text.c: Include <grub/i18n.h>.
32950 * normal/menu_text.c (print_timeout): Gettexttize string.
32951 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32952 * po/POTFILES: Add `normal/menu_text.c'.
32953 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32954 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32955 gettext module and defines locale_dir and lang in grub.cfg.
32956 * NEWS: Add gettext support.
32957
0fdb2568
RM
329582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32959
32960 * util/hostdisk.c: Include `<grub/i18n.h>'.
32961 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32962 (make_device_name): Rewrite using asprintf.
32963 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32964 (find_system_device): If a device is not found, generate one just
32965 by reusing the OS path name.
32966 (read_device_map): Make it permissible for device.map not to exist.
32967
f515aa62
RM
329682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * script/sh/execute.c: Move from here ...
32971 * script/execute.c: ... to here. Update all users.
32972 * script/sh/function.c: Move from here ...
32973 * script/function.c: ... to here. Update all users.
32974 * script/sh/lexer.c: Move from here ...
32975 * script/lexer.c: ... to here. Update all users.
32976 * script/sh/main.c: Move from here ...
32977 * script/main.c: ... to here. Update all users.
32978 * script/sh/parser.y: Move from here ...
32979 * script/parser.y: ... to here. Update all users.
32980 * script/sh/script.c: Move from here ...
32981 * script/script.c: ... to here. Update all users.
32982
f84b481b
RM
329832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32984
32985 * configure.ac: Detect all `emu' platforms. Define
32986 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32987 --enable-grub-emu logic. Disable include/grub/machine
32988 symlink on `emu' platforms.
32989
32990 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32991 * gensymlist.sh.in: Likewise.
32992
32993 * include/grub/i386/coreboot/machine.h: Remove file.
32994 * include/grub/i386/efi/machine.h: Likewise.
32995 * include/grub/i386/ieee1275/machine.h: Likewise.
32996 * include/grub/i386/pc/machine.h: Likewise.
32997 * include/grub/i386/qemu/machine.h: Likewise.
32998 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32999 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33000 * include/grub/x86_64/efi/machine.h: Likewise.
33001
33002 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33003 * commands/halt.c: Likewise.
33004 * commands/reboot.c: Likewise.
33005 * include/grub/autoefi.h: Likewise.
33006 * include/grub/i386/at_keyboard.h: Likewise.
33007 * include/grub/i386/kernel.h: Likewise.
33008 * include/grub/i386/loader.h: Likewise.
33009 * include/grub/i386/pc/memory.h: Likewise.
33010 * kern/dl.c: Likewise.
33011 * kern/i386/coreboot/init.c: Likewise.
33012 * loader/i386/bsd.c: Likewise.
33013 * loader/i386/linux.c: Likewise.
33014 * loader/multiboot_loader.c: Likewise.
33015 * term/i386/pc/serial.c: Likewise.
33016 * term/usb_keyboard.c: Likewise.
33017
33018 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33019 `<grub/machine/machine.h>'
33020 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33021 * util/misc.c: Remove `<grub/machine/machine.h>' and
33022 `<grub/machine/time.h>'.
33023
33024 * Makefile.in (enable_grub_emu): Remove variable.
33025 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33026
33027 * conf/any-emu.rmk: New file.
33028 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33029 (grub_emu_init.c): Move from here ...
33030 * conf/any-emu.rmk: ... to here.
33031
33032 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33033 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33034 * conf/any-emu.rmk: ... to here.
33035
4efeab03
RM
330362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33037
33038 * include/grub/parser.h (grub_parser_register): Document need
33039 of `name' parameter.
33040 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33041 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33042 "sh" to "grub".
33043
ea1dd8bf
RM
330442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33047 `$(XGETTEXT)'.
33048 * include/grub/i18n.h (N_): New macro.
33049 * util/mkisofs/mkisofs.h: Likewise.
33050 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33051 around N_().
33052 (usage): Use gettext() to translate help strings when printing them.
33053
0c140626
RM
330542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33055
33056 Based on patch from Bean
33057 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33058
33059 * video/efi_fb.c: New file.
33060 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33061 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33062 variables.
33063 * conf/x86_64-efi.rmk: Likewise.
33064
87d58298
RM
330652009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33066
33067 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33068 * util/i386/pc/grub-setup.c: Likewise.
33069
994cc3a3
ST
330702009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33071
33072 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33073 <hurd/fs.h>
33074 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33075 file_get_storage_info to implement grub_guess_root_device.
33076
26a61d6a
FZ
330772009-11-21 Felix Zielcke <fzielcke@z-51.de>
33078
33079 * Makefile.in (target): Use make's builtin $(shell) function
33080 instead of calling directly $(SHELL) to create the locale directories,
33081 inside the $(foreach) function.
33082
74ff1dd5
FZ
330832009-11-21 Felix Zielcke <fzielcke@z-51.de>
33084
33085 * util/grub-mkrescue.in: Print an error and usage if output option
33086 has not been given.
33087
0b787d0e
FZ
330882009-11-21 Felix Zielcke <fzielcke@z-51.de>
33089
33090 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33091 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33092 root and /boot are on different devices.
33093
1164b270
RM
330942009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33095
33096 Fix build for srcdir != objdir.
33097
33098 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33099 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33100 $(srcdir).
33101 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33102 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33103 reference for input.
33104
13774a2f
RM
331052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33106
33107 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33108 or hardlinking it). Remove -J option, Joliet is not compatible with
33109 multiple source directories.
33110
efda854e
RM
331112009-11-21 Carles Pina i Estany <carles@pina.cat>
331122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33113
33114 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33115 (process_input_dir): New function. Process an arbitrary input
33116 directory.
33117 Misc adjustments to support both "override mode" and system-wide mode.
33118
6c09890c
FZ
331192009-11-20 Felix Zielcke <fzielcke@z-51.de>
33120
33121 * configure.ac (UNIFONT_BDF): Rename to ...
33122 (FONT_SOURCE): ... this. Update all users.
33123
a797824f
FZ
331242009-11-20 Felix Zielcke <fzielcke@z-51.de>
33125
33126 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33127 to the list of unifont files to look for.
33128
cd4f42b0
RM
331292009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 Patch from Joe Auricchio <jauricchio@gmail.com>
33132 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33133 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33134 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33135
393c783d
FZ
331362009-11-19 Felix Zielcke <fzielcke@z-51.de>
33137
33138 * Makefile.in (install-local): Add a missing backslash.
33139
b2f1e327
FZ
331402009-11-19 Felix Zielcke <fzielcke@z-51.de>
33141
33142 * include/grub/x86_64/io.h: New file.
33143
f577f7a0
RM
331442009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33145
33146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33147 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33148 Include `"progname.h"'.
33149 (main): Initialize gettext.
33150 * util/i386/pc/grub-setup.c: Gettexttize.
33151 * util/i386/pc/grub-mkimage.c: Likewise.
33152
33153 * Makefile.in (po/*.po): Redefine as ...
33154 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33155
3bc7896c
RM
33156 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33157
c37943b6
RM
331582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33159
33160 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33161 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33162 (program_name): Remove.
33163 (main): Initialize gettext support.
6323f705
RM
33164 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33165 Include `<libintl.h>'.
33166 (_): New macro.
c37943b6
RM
33167
33168 * util/mkisofs/eltorito.c: Gettexttize.
33169 * util/mkisofs/joliet.c: Likewise.
33170 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33171 * util/mkisofs/multi.c: Likewise.
33172 * util/mkisofs/rock.c: Likewise.
33173 * util/mkisofs/tree.c: Likewise.
33174 * util/mkisofs/write.c: Likewise.
33175
3bc7896c
RM
33176 * po/POTFILES: Update with new files.
33177
5ce77c6e
RM
331782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33179
33180 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33181 * util/mkisofs/iso9660.h: Likewise.
33182 * util/mkisofs/joliet.c: Likewise.
33183 * util/mkisofs/mkisofs.c: Likewise.
33184 * util/mkisofs/mkisofs.h: Likewise.
33185 * util/mkisofs/rock.c: Likewise.
33186 * util/mkisofs/tree.c: Likewise.
33187 * util/mkisofs/write.c: Likewise.
33188
33189 * util/mkisofs/eltorito.c (rcsid): Remove.
33190 * util/mkisofs/hash.c: Likewise.
33191 * util/mkisofs/joliet.c: Likewise.
33192 * util/mkisofs/name.c: Likewise.
33193 * util/mkisofs/rock.c: Likewise.
33194 * util/mkisofs/tree.c: Likewise.
33195 * util/mkisofs/write.c: Likewise.
33196
1dabbc77
RM
331972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33198
33199 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33200 instead of static allocation.
33201 * util/mkisofs/match.h: Likewise.
33202
633877cb
RM
332032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33204
3bc7896c
RM
33205 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33206 and `util/grub.d/10_linux.in'.
633877cb
RM
33207 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33208 translatable Shell files.
33209
af1c0c85
RM
332102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33211
33212 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33213
769ae37b
RM
332142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33215
33216 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33217 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33218 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33219 Add gettext initialization.
33220 (kfreebsd_entry): Make menuentry output translatable.
33221
332222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33223
33224 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33225 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33226 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33227 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33228 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33229 * po/LINGUAS: New file.
769ae37b
RM
33230
332312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33232
33233 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33234 other things).
33235 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33236 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33237 bindtextdomain() calls for gettext initialization.
33238
332392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33240
33241 * gnulib/progname.c: New file (imported from Gnulib).
33242 * gnulib/progname.h: Likewise.
33243 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33244 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33245 (usage): Replace `progname' with `program_name'.
33246 (main): Use set_program_name() for program name initialization.
33247
332482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33249
33250 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33251 from here ...
33252 * Makefile.in (CPPFLAGS): ... to here.
33253
332542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33255
33256 * aclocal.m4: Move from here ...
33257 * acinclude.m4: ... to here.
33258 * autogen.sh: Add call to `aclocal'.
33259 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33260
332612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33262
33263 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33264 (LINGUAS): New variable.
33265 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33266 (install-local): Install MO files.
33267 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33268 * include/grub/i18n.h: New file.
3bc7896c
RM
33269 * po/POTFILES: New file.
33270 * po/ca.po: New file.
769ae37b
RM
33271 * util/grub.d/10_linux.in (bindir): New variable.
33272 Add gettext initialization.
33273 (linux_entry): Make menuentry output translatable.
33274 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33275 (usage): Make --help output translatable.
33276 (main): Initialize gettext.
33277
02c0a6ad
RM
332782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33279
33280 * import_gcry.py: New file (written by Vladimir with minor
33281 adjustments).
33282 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33283 ciphers.
33284 * INSTALL: Document that Python is required for bootstrap.
33285
332862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33287
33288 Import ciphers from libgcrypt 1.4.4.
33289
33290 * lib/libgcrypt/cipher/ChangeLog
33291 * lib/libgcrypt/cipher/ac.c
33292 * lib/libgcrypt/cipher/arcfour.c
33293 * lib/libgcrypt/cipher/bithelp.h
33294 * lib/libgcrypt/cipher/blowfish.c
33295 * lib/libgcrypt/cipher/camellia-glue.c
33296 * lib/libgcrypt/cipher/camellia.c
33297 * lib/libgcrypt/cipher/camellia.h
33298 * lib/libgcrypt/cipher/cast5.c
33299 * lib/libgcrypt/cipher/cipher.c
33300 * lib/libgcrypt/cipher/crc.c
33301 * lib/libgcrypt/cipher/des.c
33302 * lib/libgcrypt/cipher/dsa.c
33303 * lib/libgcrypt/cipher/ecc.c
33304 * lib/libgcrypt/cipher/elgamal.c
33305 * lib/libgcrypt/cipher/hash-common.c
33306 * lib/libgcrypt/cipher/hash-common.h
33307 * lib/libgcrypt/cipher/hmac-tests.c
33308 * lib/libgcrypt/cipher/md.c
33309 * lib/libgcrypt/cipher/md4.c
33310 * lib/libgcrypt/cipher/md5.c
33311 * lib/libgcrypt/cipher/primegen.c
33312 * lib/libgcrypt/cipher/pubkey.c
33313 * lib/libgcrypt/cipher/rfc2268.c
33314 * lib/libgcrypt/cipher/rijndael-tables.h
33315 * lib/libgcrypt/cipher/rijndael.c
33316 * lib/libgcrypt/cipher/rmd.h
33317 * lib/libgcrypt/cipher/rmd160.c
33318 * lib/libgcrypt/cipher/rsa.c
33319 * lib/libgcrypt/cipher/seed.c
33320 * lib/libgcrypt/cipher/serpent.c
33321 * lib/libgcrypt/cipher/sha1.c
33322 * lib/libgcrypt/cipher/sha256.c
33323 * lib/libgcrypt/cipher/sha512.c
33324 * lib/libgcrypt/cipher/tiger.c
33325 * lib/libgcrypt/cipher/twofish.c
33326 * lib/libgcrypt/cipher/whirlpool.c
33327
af2f93ac
RM
333282009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33329
33330 Fix build for systems without error().
33331
33332 * gnulib/error.c: New file (imported from Gnulib).
33333 * gnulib/error.h: Likewise.
33334 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33335 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33336 (this variable is now used by error()).
33337
73fb3dd5
FZ
333382009-11-16 Felix Zielcke <fzielcke@z-51.de>
33339
814f5e96
FZ
33340 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33341 instead of relying that char is signed.
73fb3dd5 33342
a691ca33
VS
333432009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33344
33345 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33346 blocksize different from specified.
33347 (grub_pxefs_read): Likewise.
33348
2af8f0f4
FZ
333492009-11-16 Felix Zielcke <fzielcke@z-51.de>
33350
33351 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33352
33353 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33354 (grub_ata_readwrite): Likewise. Update 2 format strings.
33355 (grub_atapi_read): Likewise.
33356
33357 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33358 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33359 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33360 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33361 (ata_mod_LDFLAGS): Move from here ...
33362 * conf/i386.rmk: ... to here ...
33363 * conf/x86_64-efi.rmk: ... and here.
33364 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33365 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33366
83bdecaf
RM
333672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 Relicense multiboot.h, with RMS' blessing.
33370
33371 * include/multiboot.h: Change to X11 license.
33372
fd6fd3d7
RM
333732009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33374
33375 Support --version in grub-mkisofs.
33376
33377 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33378 (OPTION_VERSION): New macro.
33379 (ld_options): Recognize --version.
33380 (usage): Move `program_name' from here ...
33381 (program_name): ... to here. Add `static' qualifier.
33382 (main): Recognize `OPTION_VERSION'.
33383
16a88c49
FZ
333842009-11-15 Felix Zielcke <fzielcke@z-51.de>
33385
33386 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33387 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33388
a4158476
RM
333892009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33390
33391 Fix help2man generation for mkisofs.
33392
33393 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33394 (usage): Send output to stdout (rather than stderr).
33395
fc2208b0
RM
333962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33397
33398 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33399 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33400 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33401 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33402 (bin_SCRIPTS): Add `grub-mkfloppy'.
33403 (grub_mkfloppy_SOURCES): New variable.
33404
33405 * util/grub-mkrescue.in: New file.
33406 * util/i386/pc/grub-mkfloppy.in: New file.
33407
33408 * util/i386/coreboot/grub-mkrescue.in: Remove.
33409 * util/i386/pc/grub-mkrescue.in: Remove.
33410
8d0edf4a
RM
334112009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33412
33413 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33414 from here ...
33415 * include/multiboot.h (struct multiboot_header): ... to here. Update
33416 all users.
33417 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33418 from here ...
33419 * include/multiboot.h (struct multiboot_info): ... to here. Update
33420 all users.
33421 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33422 from here ...
33423 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33424 Update all users.
33425 * include/grub/multiboot.h (struct grub_mod_list): Move
33426 from here ...
33427 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33428 Update all users.
33429
a73f5969
RM
334302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * include/multiboot2.h (multiboot_word): Rename from this ...
33433 (multiboot2_word): ... to this. Update all users.
33434 (multiboot_header): Rename from this ...
33435 (multiboot2_header): ... to this. Update all users.
33436 (multiboot_tag_header): Rename from this ...
33437 (multiboot2_tag_header): ... to this. Update all users.
33438 (multiboot_tag_start): Rename from this ...
33439 (multiboot2_tag_start): ... to this. Update all users.
33440 (multiboot_tag_name): Rename from this ...
33441 (multiboot2_tag_name): ... to this. Update all users.
33442 (multiboot_tag_module): Rename from this ...
33443 (multiboot2_tag_module): ... to this. Update all users.
33444 (multiboot_tag_memory): Rename from this ...
33445 (multiboot2_tag_memory): ... to this. Update all users.
33446 (multiboot_tag_unused): Rename from this ...
33447 (multiboot2_tag_unused): ... to this. Update all users.
33448 (multiboot_tag_end): Rename from this ...
33449 (multiboot2_tag_end): ... to this. Update all users.
33450
1c8927f0
RM
334512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33452
33453 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33454 this platform we should support Multiboot1 first.
33455
33456 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33457 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33458 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33459
6e1e0d89
RM
334602009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33463 of write calls (converting them to fwrite() if they aren't already).
33464 (get_torito_desc): Likewise.
33465 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33466
7f2b34d8
RM
334672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33468
33469 * util/i386/pc/grub-install.in: Move from here ...
33470 * util/grub-install.in: ... to here. Update all users.
33471
c0ef3311
CW
334722009-11-11 Colin Watson <cjwatson@ubuntu.com>
33473
33474 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33475
e1f240ff
RM
334762009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33477
33478 Support for El Torito without floppy emulation.
33479
33480 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33481 (init_boot_catalog): Improve error handling.
33482 (get_torito_desc): Don't use floppy emulation unless requested by
33483 user. Patch boot information table when requested via
33484 `-boot-info-table'.
33485 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33486 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33487 (use_boot_info_table): New variables.
33488 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33489 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33490 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33491 `--eltorito-emul-floppy'.
33492 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33493 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33494 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33495 (use_boot_info_table, get_731): New prototypes.
33496 * util/mkisofs/write.c (get_731): New function.
33497
af7d4de5
FZ
334982009-11-11 Felix Zielcke <fzielcke@z-51.de>
33499
33500 Fix the generation of the man page.
33501
33502 * util/pc/i386/grub-install.in: Source
33503 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33504
2c55dbc0
RM
335052009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33506
33507 Large file support for grub-mkisofs.
33508
33509 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33510 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33511 (session_start): Upgrade type to `uint64_t'. Update all users.
33512 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33513 (struct directory_entry): Upgrade type of `starting_block' and
33514 `size' to `uint64_t'. Update all users.
33515 (struct deferred): Remove unused structure.
33516 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33517 Update all users.
33518 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33519 file is larger than `UINT32_MAX'.
33520 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33521 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33522 return value.
33523 (struct deferred_write): Upgrade type of `extent' and `size' to
33524 `uint64_t'. Update all users.
33525 (last_extent_written): Upgrade type to `uint64_t'. Update all
33526 users.
33527 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33528 Update all users. Upgrade type of `remain' to `int64_t' and
33529 `use' to `size_t'. Use error() to handle fread() errors.
33530 (write_files): Rely on write_one_file() rather than calling
33531 xfwrite() directly.
33532
6a9cead5
FZ
335332009-11-09 Felix Zielcke <fzielcke@z-51.de>
33534
33535 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33536
4825d790
RM
335372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33538
33539 * util/mkisofs/fnmatch.c: Remove.
33540 * util/mkisofs/getopt1.c: Likewise.
33541 * util/mkisofs/getopt.c: Likewise.
33542 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33543 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33544 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33545 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33546 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33547
33548 * configure.ac: Detect `mingw32msvc' host_os.
33549 Check for lstat(), getuid() and getgid().
33550
33551 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33552 instances of `u_char' with `uint8_t'.
33553
33554 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33555 [!HAVE_GETUID] (getuid): New function (stub).
33556 [!HAVE_GETGID] (getgid): Likewise.
33557 [!HAVE_LSTAT] (lstat): Likewise.
33558 [!S_IROTH] (S_IROTH): New macro (dummy).
33559 [!S_IRGRP] (S_IRGRP): Likewise.
33560
84b860d8
RM
335612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33562
33563 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33564 conditional expression).
33565
66e9b712
RM
335662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33567
33568 Import from Gnulib.
33569
33570 * gnulib/fnmatch.c: New file.
33571 * gnulib/fnmatch.h: Likewise.
33572 * gnulib/fnmatch_loop.c: Likewise.
33573 * gnulib/getopt.c: Likewise.
33574 * gnulib/getopt.h: Likewise.
33575 * gnulib/getopt1.c: Likewise.
33576 * gnulib/getopt_int.h: Likewise.
33577 * gnulib/gettext.h: Likewise.
33578
34f4a5b0
RM
335792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33582 * normal/handler.c (read_handler_list): Likewise.
33583
ac451143
RM
335842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33585
33586 Misc cleanup.
33587
33588 * kern/command.c (grub_register_command_prio): Use
33589 grub_zalloc() instead of explicitly zeroing data.
33590 * kern/list.c: Include `<grub/mm.h>'.
33591 (grub_named_list_find): Replace `0' with `NULL'.
33592 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33593 (fs_module_list): Change type to `grub_named_list_t'. Update all
33594 users.
33595 * normal/dyncmd.c (read_command_list): Add space between function
33596 call and parenthesis.
33597 * normal/handler.c (read_handler_list): Likewise.
33598
4089b167
RM
335992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33600
33601 * normal/auth.c (punishment_delay): Moved from here ...
33602 (grub_auth_strcmp): ... to here (inside function).
33603
325f5037
RM
336042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33605
33606 * include/grub/list.h (struct grub_named_list): Remove `const'
33607 qualifier from `name'.
33608 (struct grub_prio_list): Likewise.
33609
7aea29a3
RM
336102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33611
33612 * normal/auth.c: Include `<grub/time.h>'.
33613 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33614
3fd6f044
RM
336152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33616
33617 * normal/auth.c (punishment_delay): New variable.
33618 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33619 (grub_auth_check_authentication): Punish failed login attempts with
33620 an incremental (2^N) delay.
33621
a4cd68e4
RM
336222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33623
33624 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33625 path with $(srcdir).
33626
7ad12f43
VS
336272009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33628
33629 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33630
c1129f03
RM
336312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33632
33633 * util/i386/coreboot/grub-mkrescue.in: New file.
33634 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33635 variables.
33636
33637 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33638 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33639 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33640 requirements.
33641 * util/mkisofs/defaults.h: New file.
33642 * util/mkisofs/eltorito.c: Likewise.
33643 * util/mkisofs/exclude.h: Likewise.
33644 * util/mkisofs/fnmatch.c: Likewise.
33645 * util/mkisofs/getopt.c: Likewise.
33646 * util/mkisofs/getopt1.c: Likewise.
33647 * util/mkisofs/hash.c: Likewise.
33648 * util/mkisofs/include/fctldefs.h: Likewise.
33649 * util/mkisofs/include/mconfig.h: Likewise.
33650 * util/mkisofs/include/prototyp.h: Likewise.
33651 * util/mkisofs/include/statdefs.h: Likewise.
33652 * util/mkisofs/iso9660.h: Likewise.
33653 * util/mkisofs/joliet.c: Likewise.
33654 * util/mkisofs/match.c: Likewise.
33655 * util/mkisofs/match.h: Likewise.
33656 * util/mkisofs/mkisofs.c: Likewise.
33657 * util/mkisofs/mkisofs.h: Likewise.
33658 * util/mkisofs/multi.c: Likewise.
33659 * util/mkisofs/name.c: Likewise.
33660 * util/mkisofs/rock.c: Likewise.
33661 * util/mkisofs/tree.c: Likewise.
33662 * util/mkisofs/write.c: Likewise.
33663
ec8bb77d
VS
336642009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33665
33666 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33667 being insecure.
33668
3716b12c
RM
336692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33670
33671 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33672 `grub-mkimage' (and use $0 when possible).
33673
b97b7b91
RM
336742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33675
33676 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33677 error message for excessively large memory map.
33678
04114812
RM
336792009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33680
33681 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33682 executable bit.
33683
e4eb2373
RM
336842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33685
33686 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33687 message for coreboot users.
33688
c926e1d5 336892009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33690
33691 Fix build with GNU gold.
33692
33693 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33694 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33695 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33696 link addresses.
33697 * aclocal.m4: Likewise.
33698
86e5b1db 336992009-11-04 Felix Zielcke <fzielcke@z-51.de>
33700
33701 * configure.ac (AC_PREREQ): Bump to 2.59d.
33702 * INSTALL: Make it more clear when Autoconf and Ruby are
33703 needed and when to run `./autogen.sh'.
33704
246cd78f 337052009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33706
33707 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33708 OSes.
33709
4f9dfb37 337102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33711
33712 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33713
b82bd5e1 337142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33715
33716 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33717 giving it to GNU Mach.
33718
ff1a9bca 337192009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33720
33721 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33722 GNU partition number to get internal GRUB partition number.
33723
61697d9c 337242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33725
33726 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33727 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33728
a50569e1 337292009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33730
33731 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33732 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33733 case.
33734
5b153867 337352009-11-01 Felix Zielcke <fzielcke@z-51.de>
33736
33737 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33738
d9e2cd70 337392009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33740
33741 Fix build problem.
33742
33743 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33744 `-isystem=$(srcdir)/include'.
33745
805111a4 337462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33747
33748 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33749 checked (grub-install doesn't currently rely on it).
33750
fa6e945f 337512009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33752
33753 Revert SVN r2660.
33754
33755 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33756 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33757 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33758 * conf/i386-ieee1275.rmk: Likewise.
33759 * conf/i386-pc.rmk: Likewise.
33760 * conf/powerpc-ieee1275.rmk: Likewise.
33761 * conf/sparc64-ieee1275.rmk: Likewise.
33762 * conf/x86_64-efi.rmk: Likewise.
33763
cee15086 337642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33765
33766 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33767
95b9239e 337682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33769
33770 * include/grub/misc.h: Stop checking for APPLE_CC.
33771
2ed19dfd 337722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33773
33774 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33775 doesn't cause an infinite call loop.
33776
fdcdde19 337772009-10-28 Felix Zielcke <fzielcke@z-51.de>
33778
33779 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33780 strings.
33781
cefabfe1 337822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33783
33784 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33785 variable.
33786 * Makefile.in: Likewise.
33787
ed96ab6d 337882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33789
33790 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33791
0579b753 337922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33793
33794 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33795
478df409 337962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33797
33798 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33799
083d1679 338002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33801
33802 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33803 from here ...
33804 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33805
5947ae32 338062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33807
33808 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33809 in $(MAKEINFO) invocation. This makes it clear in output that
33810 errors are being ignored.
33811
94180ff6 338122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33813
33814 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33815 from here ...
33816 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33817 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33818 * conf/i386-ieee1275.rmk: Likewise.
33819 * conf/i386-pc.rmk: Likewise.
33820 * conf/powerpc-ieee1275.rmk: Likewise.
33821 * conf/sparc64-ieee1275.rmk: Likewise.
33822 * conf/x86_64-efi.rmk: Likewise.
33823
9031b03a 338242009-10-26 Colin Watson <cjwatson@ubuntu.com>
33825
33826 * util/grub-editenv.c (main): If only a command is given, use
33827 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33828 (usage): FILENAME is now optional and has a default.
33829
e4f6809b 338302009-10-26 Colin Watson <cjwatson@ubuntu.com>
33831
33832 Improve grub-mkconfig performance when there are several menu
33833 entries on a single filesystem.
33834
33835 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33836 prepare_grub_to_access_device.
33837 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33838 * util/grub.d/30_os-prober.in: Likewise.
33839
67937d4d 338402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33841
33842 * util/grub.d/10_freebsd.in: Remove.
33843 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33844 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33845
ee3756cc 338462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33847
5c35048e 33848 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33849
4dea1c6f 338502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33851
33852 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33853 grub_util_error() call.
33854
042484d7 338552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33856
33857 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33858 `reserved_first_sector' member.
33859 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33860 `reserved_first_sector' to 1.
33861 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33862 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33863 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33864 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33865 filesystems which begin at first sector.
33866 (options): New option --skip-fs-probe.
33867 (main): Handle --skip-fs-probe and pass it to setup().
33868
d64448a7 338692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33870
33871 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33872 (memset): Fix function prototype.
33873
508d42ec 338742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
338752009-10-25 Vasily Averin <vvs@parallels.com>
33876
33877 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33878 `dirent.direntlen == 0'.
33879
b240e30c 338802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33881
33882 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33883 `cpio'.
33884 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33885
346e7fbe 338862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33887
33888 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33889 `__trampoline_setup' and `__ucmpdi2'.
33890 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33891 that libgcc provides.
33892
cdb308b0 338932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33894
33895 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33896 * include/grub/sparc64/libgcc.h (memset): Likewise.
33897 * include/grub/misc.h (memset, memcmp): New function prototypes.
33898
fb26abc2 338992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33900
33901 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33902 `cpio'.
33903 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33904
f6693890 339052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33906
33907 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33908 * docs/grub.cfg: Compensate for recent change in multiboot
33909 loader (since 2009-08-14 it won't pass filename to payload).
33910 * util/grub.d/10_hurd.in: Likewise.
33911
0933cdc0 339122009-10-21 Felix Zielcke <fzielcke@z-51.de>
33913
33914 * config.guess: Update to latest version from config git
33915 repository.
33916 * config.sub: Likewise.
33917
3b2fe8c2 339182009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33919
33920 Fix build on sparc64.
33921
33922 * configure.ac: Perform checks for libgcc symbols before
33923 adding `-nostdlib' to LDFLAGS.
33924
46695a62 339252009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33926
33927 Let user specify OpenBSD root device.
33928
33929 * loader/i386/bsd.c (openbsd_root): New variable.
33930 (openbsd_opts): New option 'root'.
33931 (OPENBSD_ROOT_ARG): New macro.
33932 (grub_openbsd_boot): Use 'openbsd_root'.
33933 (grub_cmd_openbsd): Fill 'openbsd_root'.
33934
d2b6b7fc 339352009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33936
33937 * NEWS: Misc adjustments.
33938
421bd7ac 339392009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33940
33941 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33942
f1d29d87 339432009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33944
33945 * configure.ac: Bump version to 1.97.
33946
6f3cd880 339472009-10-16 Colin Watson <cjwatson@ubuntu.com>
33948
33949 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33950 -mno-3dnow on x86 architectures. Some toolchains enable these
33951 features by default, but they rely on registers that aren't enabled
33952 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33953
035f7122 339542009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33955
33956 Make entry text a bit more readable.
33957
33958 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33959
44998e58 339602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33961
33962 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33963
cd2851b3 339642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33965
33966 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33967 operations.
33968
c6f3b249 339692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33970
33971 * configure.ac: Add missing dollar.
33972
6b5886ba 339732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33974
33975 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33976
33977 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33978 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33979 exports.
33980 * include/grub/sparc64/libgcc.h: Likewise. Use
33981 preprocessor conditionals.
33982
e9d66f6d 339832009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33984
33985 * conf/common.rmk (grub-dumpbios): Remove rule.
33986 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33987 * util/grub-dumpbios.in: Remove file.
33988
9155bc17 339892009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33990
33991 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33992 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33993
33994 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33995 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33996 users.
33997
33998 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33999 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34000 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34001 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34002 users.
34003
bf7f7a18 340042009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34005
34006 * term/tparm.c: Switch to GPLv3.
34007
86564c26 340082009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34009
34010 * include/grub/i386/cpuid.h: Add header protection.
34011
5c936493 340122009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34013
34014 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34015
34016 * include/grub/i386/cpuid.h: New file.
34017 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34018 (has_longmode): Rename to ...
34019 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34020 `static' attribute.
34021 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34022 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34023 on a CPU that doesn't implement AMD64 instruction set.
34024
186e7cf2 340252009-10-06 Colin Watson <cjwatson@ubuntu.com>
34026
34027 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34028 that version.texi is rebuilt on version number changes.
34029
83b65c4a 340302009-10-06 Colin Watson <cjwatson@ubuntu.com>
34031
34032 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34033 Fixes bug #27602.
34034
d244281c 340352009-10-06 Colin Watson <cjwatson@ubuntu.com>
34036
34037 * util/i386/pc/grub-install.in: Source
34038 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34039 that the --grub-probe option will work.
34040 * util/sparc64/ieee1275/grub-install.in: Likewise.
34041
da25306d 340422009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34043
34044 * configure.ac: Bump version to 1.97~beta4.
34045
e8ee83c0 340462009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34047
34048 Resync grub-mkdevicemap in x86_64-efi.
34049
34050 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34051 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34052 `util/devicemap.c'.
34053
50dcabcf 340542009-10-01 Colin Watson <cjwatson@ubuntu.com>
34055
34056 * util/grub-editenv.c (create_envblk_file): Write new block with a
34057 .new suffix and then rename it into place, to ensure atomic
34058 creation.
34059
0e51c3a7 340602009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34061
34062 Do not automatically install headers.
34063
34064 * Makefile.in (include_DATA): Remove. Update all users.
34065
31299a95 340662009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34067
34068 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34069 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34070
34071 * util/osdetect.lua: Remove.
34072 * script/lua/lauxlib.c: Likewise.
34073 * script/lua/ldebug.c: Likewise.
34074 * script/lua/grub_main.c: Likewise.
34075 * script/lua/lauxlib.h: Likewise.
34076 * script/lua/ldebug.h: Likewise.
34077 * script/lua/ltablib.c: Likewise.
34078 * script/lua/liolib.c: Likewise.
34079 * script/lua/lstrlib.c: Likewise.
34080 * script/lua/lualib.h: Likewise.
34081 * script/lua/ldo.c: Likewise.
34082 * script/lua/ldump.c: Likewise.
34083 * script/lua/ldo.h: Likewise.
34084 * script/lua/loslib.c: Likewise.
34085 * script/lua/lundump.c: Likewise.
34086 * script/lua/grub_lib.c: Likewise.
34087 * script/lua/ldblib.c: Likewise.
34088 * script/lua/lundump.h: Likewise.
34089 * script/lua/lmem.c: Likewise.
34090 * script/lua/grub_lib.h: Likewise.
34091 * script/lua/lmathlib.c: Likewise.
34092 * script/lua/lstate.c: Likewise.
34093 * script/lua/ltm.c: Likewise.
34094 * script/lua/lvm.c: Likewise.
34095 * script/lua/lmem.h: Likewise.
34096 * script/lua/lstate.h: Likewise.
34097 * script/lua/ltm.h: Likewise.
34098 * script/lua/ltable.c: Likewise.
34099 * script/lua/lvm.h: Likewise.
34100 * script/lua/llex.c: Likewise.
34101 * script/lua/lgc.c: Likewise.
34102 * script/lua/grub_lua.h: Likewise.
34103 * script/lua/loadlib.c: Likewise.
34104 * script/lua/lfunc.c: Likewise.
34105 * script/lua/lopcodes.c: Likewise.
34106 * script/lua/lparser.c: Likewise.
34107 * script/lua/ltable.h: Likewise.
34108 * script/lua/llex.h: Likewise.
34109 * script/lua/lgc.h: Likewise.
34110 * script/lua/lfunc.h: Likewise.
34111 * script/lua/lbaselib.c: Likewise.
34112 * script/lua/lopcodes.h: Likewise.
34113 * script/lua/lparser.h: Likewise.
34114 * script/lua/lzio.c: Likewise.
34115 * script/lua/linit.c: Likewise.
34116 * script/lua/lobject.c: Likewise.
34117 * script/lua/llimits.h: Likewise.
34118 * script/lua/lstring.c: Likewise.
34119 * script/lua/lzio.h: Likewise.
34120 * script/lua/lapi.c: Likewise.
34121 * script/lua/lcode.c: Likewise.
34122 * script/lua/lua.h: Likewise.
34123 * script/lua/lobject.h: Likewise.
34124 * script/lua/lstring.h: Likewise.
34125 * script/lua/lapi.h: Likewise.
34126 * script/lua/lcode.h: Likewise.
34127 * script/lua/luaconf.h: Likewise.
34128
cb8a2c38 341292009-09-26 Colin Watson <cjwatson@ubuntu.com>
34130
34131 * docs/grub.texi (Command-line and menu entry commands): Document
34132 date and echo commands.
34133
6b9b6276 341342009-09-24 Pavel Roskin <proski@gnu.org>
34135
34136 * include/grub/kernel.h (struct grub_module_header): Remove
34137 `grub_module_header_types'. Make `type' unsigned. Make `size'
34138 32-bit on all platforms.
34139 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34140 8-bit field. Use grub_host_to_target32() for `size'.
34141 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34142 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34143 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34144
4e5a02a7 341452009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34146
34147 Fix "lost keypress" bug in at_keyboard.
34148
34149 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34150 Checks for readyness of input buffer (without flushing it).
34151 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34152 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34153
c6dcedf6 341542009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34155
34156 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34157 size check within GRUB_MACHINE_PCBIOS section.
34158
74c958b1 341592009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34160
34161 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34162 return value.
34163 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34164 KEYBOARD_ISREADY check.
34165 (grub_at_keyboard_checkkey): Rename to ...
34166 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34167 Remove gratuitous cast.
34168
ff420223 341692009-09-23 Colin Watson <cjwatson@ubuntu.com>
34170
34171 * configure.ac: Call AC_PROG_MKDIR_P.
34172 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34173 version.texi in $(builddir) rather than $(srcdir).
34174 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34175 to makeinfo's @include search path.
34176
d96875df 341772009-09-23 Felix Zielcke <fzielcke@z-51.de>
34178
34179 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34180
9b3f8365 341812009-09-23 Felix Zielcke <fzielcke@z-51.de>
34182
34183 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34184 for `*.dpkg-new'.
34185
c44c90db 341862009-09-21 Colin Watson <cjwatson@ubuntu.com>
34187
34188 Build info documentation. Some code borrowed from Automake.
34189
34190 * configure.ac: Check for makeinfo.
34191 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34192 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34193 docs/version.texi.
34194 (MOSTLYCLEANFILES): Add vti.tmp.
34195 (docs/version.texi, docs/stamp-vti): Update automatically.
34196 (docs/grub.info): Build info documentation. Use --force and ignore
34197 errors for now.
34198 (all-local): Add $(INFOS).
34199 (install-local): Install info files.
34200 (uninstall): Uninstall info files.
34201 * docs/version.texi: Remove from revision control. This file is
34202 automatically generated on build now.
34203 * gendistlist.sh: Add `*.info'.
34204
e0b37bb5 342052009-09-21 Felix Zielcke <fzielcke@z-51.de>
34206
34207 * kern/term.c: Fix indentation.
34208
5a78865b 342092009-09-21 Felix Zielcke <fzielcke@z-51.de>
34210
34211 * util/hostdisk.c: Fix a comment.
34212
dace7e8a 342132009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34214
34215 Fix regression introduced in r2539.
34216
34217 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34218 to 0xA1.
34219
a83d079b 342202009-09-19 Colin Watson <cjwatson@ubuntu.com>
34221
34222 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34223 os-prober. Under normal operation, it does not print anything to
34224 stderr; if it does, we need to debug it, and throwing away stderr
34225 makes that excessively difficult.
a83d079b 34226
be94a509 342272009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34228
34229 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34230
63f745e8 342312009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34232
34233 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34234 AC_LANG_PROGRAM from autoconf.
34235 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34236 prototypes (fixes warning).
34237
34238 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34239 `--disable-werror' was used.
34240
bbb2a70f 342412009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34244 uninitialized `lastaddr'.
34245
77c24f1d 342462009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34247
0f0b8c87 34248 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34249
07197f23 342502009-09-14 Colin Watson <cjwatson@ubuntu.com>
34251
34252 * commands/test.c (get_fileinfo): Return immediately if
34253 grub_fs_probe fails.
34254
dabf1798 342552009-09-14 José Martínez <xosemp@gmail.com>
34256
34257 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34258
d52109a7 342592009-09-14 Colin Watson <cjwatson@ubuntu.com>
34260
34261 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34262 output.
34263
56532179 342642009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34265
34266 * configure.ac: Remove --enable-grub-pe2elf. Only build
34267 grub-pe2elf when needed by the build system itself.
34268 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34269
8ef070f5 342702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34271
34272 * configure.ac: Bump version to 1.97~beta3.
34273 * docs/version.texi: Likewise.
34274
61229557 342752009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34276
34277 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34278 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34279 from here ...
34280 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34281 (grub_linux_setup_video): ... to here (with some adjustments).
34282
5c9f8d84 342832009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34284
34285 Fix memory corruption issue (spotted by Colin Watson).
34286
34287 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34288 causing returned size to be stored in an incorrect memory location.
34289 Fix use of uninitialized value when storing the returned size.
34290
e8f5d6e9 342912009-09-12 Yves Blusseau <blusseau@zetam.org>
34292
34293 Change clean rules to properly remove files
34294
34295 * genmk.rb: add new clean rules
34296 * Makefile.in (clean): add the new targets
34297 (mostlyclean): likewise
34298
cda2a409 342992009-09-11 Colin Watson <cjwatson@ubuntu.com>
34300
34301 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34302 to grub_uint64_t.
34303 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34304 non-resident files.
34305
86695375 343062009-09-11 Colin Watson <cjwatson@ubuntu.com>
34307
34308 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34309 part of bug #27349.
34310
8aa1541a 343112009-09-10 Felix Zielcke <fzielcke@z-51.de>
34312
34313 * util/grub-mkconfig.in: Make the created config mode 400 and
34314 print a warning if it fails.
34315
48d9bb0a 343162009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34317
34318 * util/grub.d/40_custom.in: Ask user to type custom entries below
34319 comment, rather than below 'exec tail' line.
34320
3b0521be 343212009-09-10 Colin Watson <cjwatson@ubuntu.com>
34322
34323 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34324 visible in grub.cfg.
34325
50051d55 343262009-09-10 Colin Watson <cjwatson@ubuntu.com>
34327
34328 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34329 file.
34330
c0d34387 343312009-09-10 Felix Zielcke <fzielcke@z-51.de>
34332
34333 * docs/grub.cfg: Add an example menu entry for memtest86+.
34334
80a608f3 343352009-09-09 Felix Zielcke <fzielcke@z-51.de>
34336
a2094832 34337 * config.guess: Update to latest version from config git.
80a608f3 34338 * config.sub: Likewise.
34339
99423078 343402009-09-08 Colin Watson <cjwatson@ubuntu.com>
34341
34342 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34343 unknown-command case. Fixes bug #27320.
34344
44454e4c 343452009-09-08 Felix Zielcke <fzielcke@z-51.de>
34346
34347 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34348 `help' if the command exists.
34349
e30d87ad 343502009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * INSTALL: Require GCC 4.1.3 or later.
34353
9a86f1ec 343542009-09-06 Yves Blusseau <blusseau@zetam.org>
34355
34356 * Makefile.in (RMKFILES): add i386-qemu.rmk
34357 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34358 $(srcdir)/stamp-h.in
34359
7f26d466 343602009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34361
34362 * util/grub-probe.c (probe): Comment out buggy codepath, which
34363 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34364 should be re-enabled after 1.97.
34365
3a613259 343662009-09-05 Felix Zielcke <fzielcke@z-51.de>
34367
34368 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34369 find searches for.
34370
197f76c7 343712009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34372
34373 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34374 unnecessary calls to grub_error.
34375
70ba68ce 343762009-09-04 Colin Watson <cjwatson@ubuntu.com>
34377
34378 * NEWS: Mention `keystatus' and Unicode fonts.
34379
4ff0d7a4 343802009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34381
34382 * configure.ac: Bump version to 1.97~beta2.
34383 * docs/version.texi: Likewise.
34384
77c55a87 343852009-09-03 Colin Watson <cjwatson@ubuntu.com>
34386
34387 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34388 containing unwind information in some cases where it previously did
34389 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34390 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34391 discussion.
34392
f79572cd 343932009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34394
34395 Embedding loadenv module into grub-emu
34396
34397 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34398 commands/loadenv.c
34399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34403 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34404 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34405
93a81088 344062009-09-03 Magnus Granberg <zorry@ume.nu>
34407
34408 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34409 include -fPIE in the default specs.
34410 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34411 to TARGET_CFLAGS.
34412
160034b2 344132009-09-03 Felix Zielcke <fzielcke@z-51.de>
34414
34415 * INSTALL: Note that GNU Bison 2.3 or later is required.
34416
087c07c4 344172009-09-03 Colin Watson <cjwatson@ubuntu.com>
34418
34419 * kern/i386/pc/startup.S: Fix typo.
34420
cbf978c0 344212009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34422
34423 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34424 according to GCS.
34425
344262009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34427
34428 * docs/grub.texi (Naming convention): Describe one-based partition
34429 numbering.
34430 (Device syntax): Likewise.
34431 (File name syntax): Likewise.
34432 (Block list syntax): Likewise.
34433 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34434 menu.lst.
34435 (File name syntax): Likewise.
34436 (Command-line and menu entry commands): Document acpi, blocklist,
34437 crc, export, insmod, keystatus, ls, set, and unset commands.
34438
f3e8cdfd 344392009-09-02 Colin Watson <cjwatson@ubuntu.com>
34440
34441 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34442 to avoid implying that only one of --shift, --ctrl, or --alt may be
34443 used.
34444
c0bc232b 344452009-09-02 Colin Watson <cjwatson@ubuntu.com>
34446
34447 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34448 rather than comparing against S_IFREG, which will almost never work.
34449
aa0f752d 344502009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34451
34452 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34453 (write_blocklists): Likewise.
34454
ecb3166a 344552009-09-01 Colin Watson <cjwatson@ubuntu.com>
34456
34457 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34458 argument to grub_printf.
34459
c403a125 344602009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34461
34462 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34463 non GNU test.
31aba781 34464
b5e7312c 344652009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34466
34467 * kern/file.c (grub_file_read): Spelling fix
34468
fe00f472 344692009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34470
34471 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34472 loading of headers in some cases.
34473
cc55302e 344742009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34475
34476 * configure.ac: Bump version to 1.97~beta1.
34477 * docs/version.texi: Likewise.
34478
5c90cdd2 344792009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34480
34481 * include/grub/i386/xnu.h: Add license header.
34482 include grub/err.h explicitly.
34483
c90edae4 344842009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34485
34486 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34487 to `ufs' in the vfs.root.mountfrom kernel parameter.
34488
d8888b5c 344892009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34490
34491 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34492
34493 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34494 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34495
34496 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34497 `ARRAY_SIZE' macro.
34498
6f07b921 344992009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34500
34501 * kern/file.c (grub_file_read): Check offset.
34502 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34503 * fs/jfs.c (grub_jfs_read_file): Likewise.
34504 * fs/ntfs.c (grub_ntfs_read): Likewise.
34505 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34506 * fs/minix.c (grub_minix_read_file): Correct offset check.
34507 * fs/ufs.c (grub_ufs_read_file): Likewise.
34508
b4f34077 345092009-08-28 Colin Watson <cjwatson@ubuntu.com>
34510
34511 * term/i386/pc/console.c (bios_data_area): Cast
34512 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34513
e7c69859 345142009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34515
34516 1-bit optimised blitters.
34517
34518 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34519 prototype.
34520 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34521 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34522 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34523 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34524 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34525 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34526 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34527 function.
34528 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34529 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34530 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34531 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34532 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34533 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34534 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34535 when possible.
34536 * video/video.c (grub_video_get_blit_format): Return
34537 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34538
a57da43f 345392009-08-28 Colin Watson <cjwatson@ubuntu.com>
34540
34541 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34542 the first argument to grub_printf.
34543
4cbe67e5 345442009-08-28 Colin Watson <cjwatson@ubuntu.com>
345452009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34546
34547 Add `getkeystatus' terminal method. Add a new `keystatus' command
34548 to query it.
34549
34550 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34551 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34552 modifier key bitmasks.
34553 (struct grub_term_input): Add `getkeystatus' member.
34554 (grub_getkeystatus): Add prototype.
34555 * kern/term.c (grub_getkeystatus): New function.
34556
34557 * include/grub/i386/pc/memory.h
34558 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34559 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34560 Data Area layout.
34561 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34562 (grub_console_term_input): Set `getkeystatus' member.
34563 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34564 constants.
34565 (grub_usb_keyboard_getreport): Likewise.
34566 (grub_usb_keyboard_checkkey): Likewise.
34567 (grub_usb_keyboard_getkeystatus): New function.
34568 (grub_usb_keyboard_term): Set `getkeystatus' member.
34569
34570 * commands/keystatus.c: New file.
34571 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34572 (keystatus_mod_SOURCES): New variable.
34573 (keystatus_mod_CFLAGS): Likewise.
34574 (keystatus_mod_LDFLAGS): Likewise.
34575 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34576 commands/keystatus.c.
34577 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34579 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34581 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34583
6e2a9085 345842009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34585
34586 Split befs.mod and afs.mod into *_be.mod and *.mod
34587
34588 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34589 (grub_fstest_SOURCES): Likewise.
34590 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34591 (afs_be_mod_SOURCES): New variable.
34592 (afs_be_mod_CFLAGS): Likewise.
34593 (afs_be_mod_LDFLAGS): Likewise.
34594 (befs_be_mod_SOURCES): Likewise.
34595 (befs_be_mod_CFLAGS): Likewise.
34596 (befs_be_mod_LDFLAGS): Likewise.
34597 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34598 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34600 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34601 (grub_emu_SOURCES): Likewise.
34602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34603 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34604 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34605 * fs/afs_be.c: New file.
34606 * fs/befs_be.c: New file.
34607 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34608 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34609 (U16): Replaced with ...
34610 (grub_afs_to_cpu16): ...this. All users updated.
34611 (U32): Replaced with ...
34612 (grub_afs_to_cpu32): ...this. All users updated.
34613 (U64): Replaced with ...
34614 (grub_afs_to_cpu64): ...this. All users updated.
34615 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34616 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34617 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34618 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34619 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34620 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34621 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34622 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34623 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34624 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34625 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34626
32a71655 346272009-08-26 Bean <bean123ch@gmail.com>
34628
34629 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34630 64-bit number.
34631 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34632 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34633 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34634
552bf6c5 346352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34636
34637 NetBSD memory map support.
34638
34639 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34640 (grub_netbsd_btinfo_mmap_header): New structure.
34641 (grub_netbsd_btinfo_mmap_entry): Likewise.
34642 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34643
1ae2078c 346442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34645
34646 Enable bsd.mod on coreboot.
34647
34648 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34649 (bsd_mod_SOURCES): New variable.
34650 (bsd_mod_CFLAGS): Likewise.
34651 (bsd_mod_LDFLAGS): Likewise.
34652 (bsd_mod_ASFLAGS): Likewise.
34653 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34654 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34655
beefc598 346562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34657
34658 Cleanup NetBSD root support.
34659
34660 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34661 grub_bsd_get_device.
34662 Fix typo.
34663
3b76e68b 346642009-08-25 Felix Zielcke <fzielcke@z-51.de>
34665
34666 * util/grub.d/00_header.in: Move check for the video backend of
34667 gfxterm from here ...
34668 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34669 a suitable video backend.
34670
aea664ea 346712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34672
34673 Fix breakage in grub-setup.
34674
34675 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34676 "msdos_partition_map".
34677
ff747d50 346782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34679
34680 Fix breakage in normal/auth.c.
34681
34682 * normal/auth.c (grub_iswordseparator): New function.
34683
e7e1f93f 346842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34685
34686 Authentication support.
34687
34688 * commands/password.c: New file.
34689 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34690 (password_mod_SOURCES): New variable.
34691 (password_mod_CFLAGS): Likewise.
34692 (password_mod_LDFLAGS): Likewise.
34693 (normal_mod_SOURCES): Add normal/auth.c.
34694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34695 normal/auth.c.
34696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34700 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34702 * include/grub/auth.h: New file.
34703 * include/grub/err.h (grub_err_t): New enum value
34704 GRUB_ERR_ACCESS_DENIED.
34705 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34706 'users'.
34707 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34708 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34709 users updated.
34710 * normal/auth.c: New file.
34711 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34712 (grub_cmdline_run): Don't allow to go to command line without
34713 authentication.
34714 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34715 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34716 menuentry without superuser rights.
34717 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34718 user isn't a superuser.
34719
70f1161d 347202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34721
34722 Save space by inlining misc.c functions.
34723
34724 * kern/misc.c (grub_iswordseparator): Made static.
34725 * kern/misc.c (grub_strcat): Moved from here ...
34726 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34727 * kern/misc.c (grub_strncat): Moved from here ...
34728 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34729 * kern/misc.c (grub_strcasecmp): Moved from here ...
34730 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34731 * kern/misc.c (grub_strncasecmp): Moved from here ...
34732 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34733 * kern/misc.c (grub_isalpha): Moved from here ...
34734 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34735 * kern/misc.c (grub_isdigit): Moved from here ...
34736 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34737 * kern/misc.c (grub_isgraph): Moved from here ...
34738 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34739 * kern/misc.c (grub_tolower): Moved from here ...
34740 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34741
48e40bff 347422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34743
34744 * script/sh/function.c (grub_script_function_find): Cut error message
34745 not to flood terminal.
34746 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34747 limit.
34748 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34749
c385bfc3 347502009-08-24 Colin Watson <cjwatson@ubuntu.com>
34751
34752 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34753 `report' grub_uint8_t *.
34754 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34755 Use a 50-millisecond timeout rather than just repeating
34756 grub_usb_keyboard_getreport 50 times.
34757 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34758
2d21e3e8 347592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34760
34761 Rename *_partition_map to part_*
34762
34763 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34764 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34765 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34766 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34767 All users updated.
34768 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34769 All users updated.
34770 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34771 * util/grub-probe.c (probe_partmap): Don't transform partition name
34772 to get module name.
34773
dd103c4e 347742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34775
34776 Fix OpenBSD and NetBSD support.
34777
34778 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34779 memory address conflict.
34780 (OPENBSD_MMAP_ACPI): New definition.
34781 (OPENBSD_MMAP_NVS): Likewise.
34782 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34783 and OPENBSD_MMAP_NVS.
34784 Add memory map terminator
34785 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34786 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34787
16c84d74 347882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34789
34790 Let user specify NetBSD root device.
34791
34792 * loader/i386/bsd.c (netbsd_root): New variable.
34793 (netbsd_opts): New option 'root'.
34794 (NETBSD_ROOT_ARG): New macro.
34795 (grub_netbsd_boot): Use 'netbsd_root'.
34796 (grub_bsd_unload): Free 'netbsd_root'.
34797 (grub_cmd_netbsd): Fill 'netbsd_root'.
34798
adb29902 347992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34800
34801 Support for 64-bit NetBSD.
34802
34803 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34804 point when booting non-FreeBSD.
34805
f5ae9f74 348062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34807
34808 Support --no-smp and --no-acpi for NetBSD.
34809
34810 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34811 (NETBSD_AB_NOACPI): Likewise.
34812 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34813 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34814
de74f136 348152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34816
34817 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34818 errors.
34819 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34820 errors. Call grub_error when needed.
34821
e9a925da 348222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34823
34824 * commands/search.c (search_fs): Try searching without autoload first.
34825 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34826 filesystem module explicitly for faster booting.
34827
5174302b 348282009-08-23 Colin Watson <cjwatson@ubuntu.com>
34829
34830 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34831
c8c80635 348322009-08-23 Colin Watson <cjwatson@ubuntu.com>
34833
34834 * util/grub.d/30_os-prober.in: Disable os-prober if
34835 `GRUB_DISABLE_OS_PROBER' was set to true.
34836
71acf5e5 348372009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34838
34839 * partmap/pc.c: Rename to ...
34840 * partmap/msdos.c: ... this. Update all users.
34841 (grub_pc_partition_map): Rename to ...
34842 (grub_msdos_partition_map): ... this. Update all users.
34843
34844 * parttool/pcpart.c: Rename to ...
34845 * parttool/msdospart.c: ... this. Update all users.
34846
34847 * include/grub/pc_partition.h: Rename to ...
34848 * include/grub/msdos_partition.h: ... this. Update all users.
34849 (grub_pc_partition_bsd_entry): Rename to ...
34850 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34851 (grub_pc_partition_disk_label): Rename to ...
34852 (grub_msdos_partition_disk_label): ... this. Update all users.
34853 (grub_pc_partition_entry): Rename to ...
34854 (grub_msdos_partition_entry): ... this. Update all users.
34855 (grub_pc_partition_mbr): Rename to ...
34856 (grub_msdos_partition_mbr): ... this. Update all users.
34857 (grub_pc_partition): Rename to ...
34858 (grub_msdos_partition): ... this. Update all users.
34859 (grub_pc_partition_is_empty): Rename to ...
34860 (grub_msdos_partition_is_empty): ... this. Update all users.
34861 (grub_pc_partition_is_extended): Rename to ...
34862 (grub_msdos_partition_is_extended): ... this. Update all users.
34863 (grub_pc_partition_is_bsd): Rename to ...
34864 (grub_msdos_partition_is_bsd): ... this. Update all users.
34865
34866 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34867 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34868 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34869 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34870 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34871 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34872 (gpt_mod_LDFLAGS): Rename to ...
34873 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34874 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34875 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34876 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34877 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34878 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34879 (part_gpt_mod_LDFLAGS): ... this.
34880 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34881 `pcpart.mod' to `msdospart.mod'.
34882 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34883 to ...
34884 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34885 (msdospart_mod_LDFLAGS): ... this.
34886
c11fded5 348872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34888
34889 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34890 (openbsd_opts): Likewise.
34891 (netbsd_opts): Likewise.
34892 (freebsd_flags): Added 0 terminator.
34893 (openbsd_flags): Likewise.
34894 (netbsd_flags): Likewise.
34895 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34896 (grub_cmd_freebsd): Transformed into extended command.
34897 (grub_cmd_openbsd): Likewise.
34898 (grub_cmd_netbsd): Likewise.
34899 (cmd_freebsd): Changed type to grub_extcmd_t.
34900 (cmd_openbsd): Likewise.
34901 (cmd_netbsd): Likewise.
34902 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34903 grub_cmd_openbsd as extended commands.
34904 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34905 cmd_netbsd and cmd_openbsd
34906
11d1c769 349072009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34908
34909 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34910
7a9094e5 349112009-08-21 Pavel Roskin <proski@gnu.org>
34912
5496c37e 34913 * Makefile.in (install-local): When checking if a file is in the
34914 build directory, use "test -e" to detect symlinks.
34915
7a9094e5 34916 * Makefile.in (install-local): Remove all files in
34917 $(DESTDIR)$(pkglibdir) before installing new files there.
34918
e53cea11 349192009-08-18 Felix Zielcke <fzielcke@z-51.de>
34920
34921 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34922 grub-mkelfimage.
34923
9aced544 349242009-08-18 Felix Zielcke <fzielcke@z-51.de>
34925
34926 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34927 explicitly specified by the user.
34928
b7da6bab 349292009-08-18 Pavel Roskin <proski@gnu.org>
34930
34931 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34932 grub_uint8_t pointer for data.
34933 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34934 Likewise.
34935 * video/fb/fbutil.c: Remove unnecessary casts.
34936
19f1b335 349372009-08-17 Michal Suchanek <hramrach@centrum.cz>
34938
34939 VBE cleanup.
34940
34941 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34942 (grub_vbe_set_video_mode): Save active mode info
34943 only after setting the mode.
34944 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34945 second argument.
34946
2f467aa9 349472009-08-17 Michal Suchanek <hramrach@centrum.cz>
34948
34949 Rename variables for clarity.
34950
34951 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34952 (active_vbe_mode_info): ... this. All users updated.
34953 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34954 All users updated.
34955 (initial_mode): Rename to ...
34956 (initial_vbe_mode): ... this. All users updated.
34957 (mode_in_use): Rename to ..
34958 (vbe_mode_in_use): ... this. All users updated.
34959 (mode_list): Rename to ..
34960 (vbe_mode_list): ... this. All users updated.
34961 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34962 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34963 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34964 'mode_list_size' to 'vbe_mode_list_size'.
34965 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34966 'best_mode_info' to 'best_vbe_mode_info' and
34967 'best_mode' to 'best_vbe_mode'
34968
6025fcd7 349692009-08-17 Michal Suchanek <hramrach@centrum.cz>
34970
34971 Remove duplicate grub_video_fb_get_video_ptr.
34972
34973 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34974 (grub_video_fb_get_video_ptr): ... this.
34975 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34976 * video/fb/fbutil.c: Add comment about addressing.
34977 (get_data_ptr): Rename to ...
34978 (grub_video_fb_get_video_ptr): ... this. All users updated.
34979 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34980
cc8c6faf 349812009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34982
34983 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34984 grub_dprintf() that was just added.
34985
08aa61f0 349862009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34987
34988 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34989 (DEFAULT_VIDEO_MODE): Remove macros.
34990 (grub_linux_boot): Remove assumption that Linux has FB support,
34991 and use "text" as default video mode.
34992
7cef4f75 349932009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34994
34995 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34996 grub_dprintf.
34997 * fs/fat.c (grub_fat_read_data): Likewise.
34998
e1f39873 349992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35000
35001 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35002 payload.
35003 (grub_module): Likewise.
35004
c166d79e 350052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35006
35007 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35008 mbi->cmdline but free playground.
35009
c60cee8e 350102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35011
35012 Handle group offset on UFS1.
35013
35014 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35015 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35016
c0d8b5d4 350172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35018
35019 Split ufs.mod into ufs1.mod and ufs2.mod.
35020
35021 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35022 (grub_fstest_SOURCES): Likewise.
35023 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35024 (ufs_mod_SOURCES): Remove.
35025 (ufs_mod_CFLAGS): Likewise.
35026 (ufs_mod_LDFLAGS): Likewise.
35027 (ufs1_mod_SOURCES): New variable.
35028 (ufs1_mod_CFLAGS): Likewise.
35029 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35030 (ufs2_mod_SOURCES): New variable.
35031 (ufs2_mod_CFLAGS): Likewise.
35032 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35033 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35034 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35035 Likewise.
35036 (grub_emu_SOURCES): Likewise.
35037 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35038 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35039 (grub_setup_SOURCES): Likewise.
35040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35041 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35042 (grub_setup_SOURCES): Likewise.
35043 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35044 Likewise.
35045 * fs/ufs2.c: New file.
35046 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35047
d3539132 350482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35049
35050 Framebuffer split.
35051
35052 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35053 subsystem at the end.
35054 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35055 (video_fb_mod_SOURCES): New variable.
35056 (video_fb_mod_CFLAGS): Likewise.
35057 (video_fb_mod_LDFLAGS): Likewise.
35058 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35059 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35060 * video/i386/pc/vbeblit.c: Moved from here ...
35061 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35062 * video/i386/pc/vbefill.c: Moved from here ...
35063 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35064 * video/i386/pc/vbeutil.c: Moved from here ...
35065 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35066 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35067 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35068 * include/grub/i386/pc/vbefill.h: Moved from here ...
35069 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35070 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35071 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35072 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35073 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35074 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35075 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35076 (grub_video_adapter): Added 'get_info_and_fini'.
35077 (grub_video_get_info_and_fini): New prototype.
35078 (grub_video_set_mode): make modestring const char *.
35079 * loader/i386/linux.c (grub_linux_setup_video): Use
35080 grub_video_get_info_and_fini.
35081 (grub_linux_boot): Move modesetting just before booting.
35082 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35083 grub_video_get_info_and_fini.
35084 * video/i386/pc/vbe.c: Moved framebuffer part ...
35085 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35086 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35087 grub_video_fbstd_colors and grub_video_fb_set_palette.
35088 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35089 grub_video_fb_init.
35090 (grub_video_vbe_fini): Use grub_video_fb_fini.
35091 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35092 render_target and use grub_video_fb_set_active_render_target and
35093 grub_video_fb_set_palette.
35094 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35095 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35096 (grub_video_vbe_adapter): Use framebuffer.
35097 * video/video.c (grub_video_get_info_and_fini): New function.
35098 (grub_video_set_mode): Make modestring const char *.
35099 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35100 values are already initialised.
35101
d404ee56 351022009-08-14 Pavel Roskin <proski@gnu.org>
35103
35104 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35105 ABS and APPLE_CC.
35106 * boot/i386/pc/diskboot.S: Likewise.
35107 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35108 sectors allow compilation on MacOSX.
35109 * conf/i386-pc.rmk: Enable unconditional compilation of
35110 lnxboot.img.
35111
9a10df16 351122009-08-13 Colin Watson <cjwatson@ubuntu.com>
35113
35114 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35115 * util/grub.d/00_header.in: Enter interruptible sleep if
35116 GRUB_HIDDEN_TIMEOUT is set.
35117
be3c9ca7 351182009-08-13 Yves Blusseau <blusseau@zetam.org>
35119
35120 * include/grub/symbol.h: Add the LOCAL macro.
35121 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35122 starting with "L_".
35123
1f9e557e 351242009-08-13 Pavel Roskin <proski@gnu.org>
35125
9ca62843 35126 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35127 any modern compilers we support.
35128
1f9e557e 35129 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35130 Use local labels starting with "L_" so that Apple assembler
35131 knows they are local.
35132
81623db6 351332009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35134
35135 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35136 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35137 (bsd_kernel_types): ... this enum.
35138
35139 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35140 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35141 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35142
35143 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35144 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35145 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35146 messages.
35147
f5d35e7a 351482009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35149
35150 * util/grub-dumpdevtree: Moved from here ...
35151 * util/i386/efi/grub-dumpdevtree: ... to here.
35152 (hexify): New function. Converts a string to its hex version.
35153 Generate hex versions of "efi" and "device-properties" by calling
35154 hexify() on the ASCII strings rather than by hardcoding numbers.
35155
d1e1d527 351562009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35157
35158 * fs/jfs.c: Update copyright year.
35159
1ebbe064 351602009-08-08 Felix Zielcke <fzielcke@z-51.de>
35161
35162 * util/grub.d/00_header.in: Fix a comment.
35163 * util/grub.d/10_linux.in: Likewise.
35164 * util/grub.d/10_windows.in: Likewise.
35165 * util/grub.d/10_hurd.in: Likewise.
35166
a78c8d24 351672009-08-08 Felix Zielcke <fzielcke@z-51.de>
35168
35169 * util/grub-mkconfig.in: Allow the user to specify the used font
35170 with GRUB_FONT.
35171
29a6b9e8 351722009-08-08 Pavel Roskin <proski@gnu.org>
35173
b5f16cc4 35174 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35175 available, xfs.mod needs it now.
35176
2f5cb827 35177 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35178 the "g" modifier in sed when the intention is to strip something
35179 once. This fixes comparison of kernels with multiple dashes.
35180
29a6b9e8 35181 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35182 on it. Add missing space before closing bracket. Fix
35183 misleading formatting.
35184
892a3d98 351852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35186
35187 * docs/grub.texi: Major overhaul. Remove all sections that are
35188 specific to GRUB Legacy, or mostly composed of Legacy-specific
35189 information.
35190
ed94253f 351912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35192
35193 * docs/version.texi: New file. Provides version information for
35194 grub.texi.
35195
126d6628 351962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35197
35198 * docs/grub.texi: Update CVS information to SVN.
35199 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35200
998b5aa9 352012009-08-07 Felix Zielcke <fzielcke@z-51.de>
35202
35203 * util/grub-mkconfig.in: Remove a wrong `fi'.
35204
818e094a 352052009-08-07 Felix Zielcke <fzielcke@z-51.de>
35206
35207 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35208 (grub_jfs_uuid): New function.
35209 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35210
b969c52f 352112009-08-07 Felix Zielcke <fzielcke@z-51.de>
35212
35213 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35214 of it to ...
35215 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35216 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35217
7a4894cc 352182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35219
35220 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35221 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35222 Update all users.
35223
35224 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35225 not just "vmlinu[zx]".
35226 Moved from here ...
35227 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35228 all users.
35229
35230 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35231 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35232 all users.
35233
4e2171f8 352342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35235
35236 * util/grub.d/10_freebsd.in: Use an absolute device path for
35237 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35238
6dcfcb32 352392009-08-06 Felix Zielcke <fzielcke@z-51.de>
35240
35241 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35242 handling of multiple abstraction modules.
35243
f56a8756 352442009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35245
35246 Fix a bug resulting in black screen when loading Linux using a
35247 packed video mode.
35248
35249 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35250 function.
35251
35252 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35253 (grub_vbe_bios_getset_dac_palette_width): New function.
35254 (grub_vbe_bios_get_dac_palette_width)
35255 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35256 grub_vbe_bios_getset_dac_palette_width()).
35257
35258 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35259 check for return status.
35260 (grub_vbe_get_video_mode_info): When getting information for a packed
35261 mode (<= 8 bpp), obtain DAC palette width using
35262 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35263 {red,green,blue}_mark_size.
35264
222671b2 352652009-08-04 Felix Zielcke <fzielcke@z-51.de>
35266
ecb1a6d9 35267 * commands/search.c (options): Fix help output to match actual code.
222671b2 35268
f84114f5 352692009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35270
35271 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35272 of homegrown code.
35273
bd288a20 352742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35275
35276 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35277 on XFS or ReiserFS.
35278
8aab5e25 352792009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35280
35281 Support Apple partition map with sector size different from 512 bytes.
35282
35283 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35284 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35285 and 'apart.partmap_size'.
35286
6ad6258a 352872009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
352882009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35289
35290 Fix cpuid command.
35291
35292 * commands/i386/cpuid.c (options): New variable.
35293 (grub_cmd_cpuid): Return real error.
35294 (GRUB_MOD_INIT(cpuid)): Declare options.
35295
67459bc6 352962009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35297
35298 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35299 valid.
35300
fbc6ab54 353012009-07-31 Bean <bean123ch@gmail.com>
35302
35303 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35304 log2_inode.
35305 (grub_fshelp_node): Move inode field to the end.
35306 (grub_xfs_data): Remove inode field.
35307 (grub_xfs_inode_block): Calculate inode size using sblock.
35308 (grub_xfs_inode_offset): Likewise.
35309 (grub_xfs_read_inode): Calculate inode size using sblock.
35310 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35311 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35312 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35313 to match inode size.
35314 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35315 not accessible when data is null.
35316 (grub_xfs_open): Likewise.
35317
f45d6cfc 353182009-07-31 Bean <bean123ch@gmail.com>
35319
35320 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35321 Don't change pv->disk if it's already set.
35322
35323 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35324 (grub_raid_register): ... here.
35325 (grub_raid_rescan): Removed.
35326
35327 * include/grub/raid.h (grub_raid_rescan): Removed.
35328
35329 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35330 (fstest): Replace grub_raid_rescan with module fini function followed
35331 by init function.
35332
35333 * util/grub-probe.c: Add include file <grub/raid.h>.
35334 (probe_raid_level): New function.
35335 (probe): Detect abstraction by walking the disk device, support two
35336 level of abstraction (LVM on RAID) when detecting partition map.
35337
24443b5a 353382009-07-31 Pavel Roskin <proski@gnu.org>
35339
35340 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35341 to grub_zalloc(), it was erroneous.
35342 Reported by Bean <bean123ch@gmail.com>
35343
a275d9e7 353442009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35345
35346 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35347 embedding zone, not only the first one.
a275d9e7 35348
56c5a47f 353492009-07-29 Joe Auricchio <jauricchio@gmail.com>
35350
35351 * term/gfxterm.c (clear_char): New function.
35352 (grub_virtual_screen_setup): Use clear_char.
35353 (scroll_up): Likewise.
35354 (grub_virtual_screen_cls): Likewise.
35355
67bb323a 353562009-07-29 Felix Zielcke <fzielcke@z-51.de>
35357
35358 * util/deviceiter.c (get_acceleraid_disk_name): New static
35359 function.
35360 (grub_util_iterate_devices): Handle Accelraid devices.
35361 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35362
388a7c75 353632009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35364
35365 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35366 separator for the suggested gfxpayload string (';' collides with the
35367 parser and needs escaping).
35368
3bb7abcf 353692009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35370
35371 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35372 Clear direction flag before jumping to OS.
35373 (grub_multiboot2_real_boot): Likewise.
35374
2ddd36d7 353752009-07-28 Felix Zielcke <fzielcke@z-51.de>
35376
35377 * util/i386/pc/grub-install: Fix parsing of --disk-module
35378 option.
35379
c521b62b 353802009-07-28 Felix Zielcke <fzielcke@z-51.de>
35381
35382 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35383 when embedding.
35384
880e0a0c 353852009-07-26 Felix Zielcke <fzielcke@z-51.de>
35386
35387 * util/grub-mkconfig.in (package_version): New variable.
35388 Use it do display the version.
35389
2366e356 353902009-07-25 Felix Zielcke <fzielcke@z-51.de>
35391
35392 * kern/file.c (grub_file_open): Revert to previous check with
35393 grub_errno.
35394
7ad8c80e 353952009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35396
35397 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35398 from help line. It's out of sync with code.
35399
72b9658b 354002009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35401
35402 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35403 entries on failed boot.
35404
77435277 354052009-07-25 Felix Zielcke <fzielcke@z-51.de>
35406
35407 * kern/file.c (grub_file_open): Fix an error check.
35408
fcaa8b21 354092009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35410
35d16c74 35411 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35412 partition map couldn't be identified.
fcaa8b21 35413
48904cd1 354142009-07-23 Pavel Roskin <proski@gnu.org>
35415
ef3c317f 35416 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35417 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35418 case of little endian words becomes just an optimization.
35419 Respect const modifier.
ad8ea1f4 35420 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35421
48904cd1 35422 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35423 to avoid loss of upper bits if align is unsigned and shorter
35424 than addr.
35425
260c9a89 354262009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35427
35428 UUID support for UFS
35429
35430 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35431 (grub_ufs_uuid): New function.
35432 (grub_ufs_fs): add .uuid
35433
f76ce889 354342009-07-21 Pavel Roskin <proski@gnu.org>
35435
35436 * kern/dl.c (grub_dl_check_header): Make static.
35437
6a6cbcaf 354382009-07-21 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35441 add drivemap for Vista. It breaks Windows 7.
35442
cffcddb2 354432009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35444
35445 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35446 128 bytes
35447
1ef44b80 354482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35449
35450 Add BFS support
35451
35452 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35453 (grub_fstest_SOURCES): Likewise.
35454 (pkglib_MODULES): Add befs.mod.
35455 (befs_mod_SOURCES): New variable.
35456 (befs_mod_CFLAGS): Likewise.
35457 (befs_mod_LDFLAGS): Likewise.
35458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35459 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35461 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35462 (grub_setup_SOURCES): Likewise.
35463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35464 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35465 (grub_setup_SOURCES): Likewise.
35466 * fs/befs.c: New file.
35467 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35468 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35469 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35470 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35471 (B_KEY_INDEX_ALIGN): New declaration.
35472 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35473 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35474 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35475 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35476 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35477 (grub_afs_mount) [MODE_BFS]: Likewise.
35478 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35479 (grub_afs_fs): Use GRUB_AFS_FSNAME
35480 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35481 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35482 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35483 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35484
4f253044 354852009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35486
35487 * util/getroot.c (find_root_device): Add support for MacOSX.
35488 * util/hostdisk.c: Likewise.
35489
57a55913 354902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35491
35492 * font/font.c (find_glyph): Check whether a font is present to avoid
35493 segmentation fault.
75421ca9 35494
354952009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35496
35497 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35498
e98cd0c2 354992009-07-20 Pavel Roskin <proski@gnu.org>
35500
35501 * configure.ac: Trim excessively wordy excuses.
35502
1d2d169a 355032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35504
35505 Add symlink, mtime and label support to AtheFS.
35506
35507 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35508 (grub_afs_iterate_dir): Handle symlinks.
35509 (grub_afs_open): Use grub_afs_read_symlink.
35510 (grub_afs_dir): Likewise.
35511 Pass mtime.
35512 (grub_afs_label): New function.
35513 (grub_afs_fs): Add grub_afs_label.
35514 (grub_afs_read_symlink): New function.
35515
186f3189 355162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35517
35518 Fix AtheFS support.
35519
35520 * fs/afs.c: Fix comments style.
35521 (grub_afs_blockrun): Declare as packed.
35522 (grub_afs_datastream): Likewise.
35523 (grub_afs_bnode): Likewise.
35524 (grub_afs_btree): Likewise.
35525 (grub_afs_sblock): Likewise.
35526 Declare `name' as char.
35527 (grub_afs_inode): Declare as packed.
35528 Change void *vnode to grub_uint32_t unused.
35529 (grub_afs_iterate_dir): Check that key_size is positive.
35530 (grub_afs_mount): Don't read superblock twice.
75421ca9 35531 (grub_afs_dir): Don't free node in case of error,
186f3189 35532 grub_fshelp_find_file already handles this.
35533 (grub_afs_open): Likewise.
35534
5680109e 355352009-07-19 Pavel Roskin <proski@gnu.org>
35536
35537 * Makefile.in: Remove LIBLZO and enable_lzo.
35538 * conf/i386-pc.rmk: Remove lzo support.
35539 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35540 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35541 support.
35542 * kern/i386/pc/lzo1x.S: Remove.
35543 * kern/i386/pc/startup.S: Remove lzo support.
35544 * util/i386/pc/grub-mkimage.c: Likewise.
35545
ac70fa32 355462009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35547
35548 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35549 * fs/xfs.c (grub_xfs_dir): Likewise.
35550 * fs/afs.c (grub_afs_dir): Likewise.
35551 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35552 (grub_iso9660_open): Likewise.
35553 * fs/jfs.c (grub_jfs_open): Likewise.
35554 * fs/ext2.c (grub_ext2_dir): Likewise.
35555 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35556 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35557
eab58da2 355582009-07-16 Pavel Roskin <proski@gnu.org>
35559
d2838156 35560 * configure.ac: Never add "-c" to CFLAGS.
35561
55c70904 35562 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35563
43e6200c 35564 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35565 grub_cv_cc_efiemu should be used.
35566
ce7a733d 35567 * configure.ac: Typo fixes.
35568
eab58da2 35569 * kern/mm.c (grub_zalloc): New function.
35570 (grub_debug_zalloc): Likewise.
35571 * include/grub/mm.h: Declare grub_zalloc() and
35572 grub_debug_zalloc().
35573 * util/misc.c (grub_zalloc): New function.
35574 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35575 instead of grub_malloc(), remove unneeded initializations.
35576 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35577 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35578 * commands/parttool.c (grub_cmd_parttool): Likewise.
35579 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35580 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35581 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35582 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35583 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35584 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35585 (grub_cmd_efiemu_pnvram): Likewise.
35586 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35587 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35588 (grub_iso9660_iterate_dir): Likewise.
35589 * fs/jfs.c (grub_jfs_opendir): Likewise.
35590 * fs/ntfs.c (list_file): Likewise.
35591 (grub_ntfs_mount): Likewise.
35592 * kern/disk.c (grub_disk_open): Likewise.
35593 * kern/dl.c (grub_dl_load_core): Likewise.
35594 * kern/elf.c (grub_elf_file): Likewise.
35595 * kern/env.c (grub_env_context_open): Likewise.
35596 (grub_env_set): Likewise.
35597 (grub_env_set_data_slot): Likewise.
35598 * kern/file.c (grub_file_open): Likewise.
35599 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35600 * loader/i386/multiboot.c (grub_module): Likewise.
35601 * loader/xnu.c (grub_xnu_create_key): Likewise.
35602 (grub_xnu_create_value): Likewise.
35603 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35604 (read_config_file): Likewise.
35605 * normal/menu_entry.c (make_screen): Likewise.
35606 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35607 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35608 * script/sh/script.c (grub_script_parse): Likewise.
35609 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35610 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35611 * video/readers/png.c (grub_png_output_byte): Likewise.
35612 (grub_video_reader_png): Likewise.
35613
830afef7 356142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35615
35616 Enable all targets that can be built by default
35617
830afef7 35618 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35619 grub-mkfont and grub-fstest if they can be built
35620
ee293aee 356212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35622
35623 Fix hang and segmentation fault in grub-emu-usb
35624
35625 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35626 * util/usb.c (grub_libusb_devices): likewise
35627 (grub_libusb_init): rename to ...
35628 (GRUB_MOD_INIT (libusb)):...this
35629 (grub_libusb_fini): rename to ..
35630 (GRUB_MOD_FINI (libusb)):...this
35631 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35632 * include/grub/disk.h (grub_raid_init): removed, it's useless
35633 (grub_raid_fini): likewise
35634 (grub_lvm_init): likewise
35635 (grub_lvm_fini): likewise
35636 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35637 by grub_init_all
35638
94414221 356392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35640
35641 Fix libusb
35642
35643 * Makefile.in (LIBUSB): new macro
35644 * genmk.rb (Utility/print_tail): new method
35645 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35646 (top level): call util.print_tail at the end.
35647
59ade63d 356482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35649
35650 Make FreeBSD accept zpool.cache
35651
35652 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35653 type is /boot/zfs/zpool.cache
35654
a58da8c7 356552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35656
35657 Fix 64-bit efiemu
35658
35659 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35660 correct wrong typedef
35661 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35662
20591577 356632009-07-15 Pavel Roskin <proski@gnu.org>
35664
560ca572 35665 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35666 * kern/disk.c (struct grub_disk_cache): Likewise.
35667
e8e8e4fd 35668 * commands/probe.c (options): Typo fix.
35669
fde24e10 35670 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35671 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35672 accordingly.
35673 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35674
379c54c1 35675 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35676 the end of "Error" to make the message more readable.
35677
7bd8f5bf 35678 * boot/i386/pc/boot.S (kernel_segment): Remove.
35679 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35680 for destination.
35681
40b132c5 35682 * boot/i386/pc/boot.S (boot_version): Remove.
35683 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35684 Remove.
35685
20591577 35686 * include/grub/i386/pc/boot.h: Sort all offsets.
35687 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35688 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35689 * boot/i386/pc/boot.S: Assert location of every offset listed in
35690 include/grub/i386/pc/boot.h.
35691
2df32b2c 356922009-07-13 Pavel Roskin <proski@gnu.org>
35693
44b5d879 35694 * include/grub/i386/coreboot/machine.h: Rename
35695 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35696 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35697 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35698
17dc3751 35699 * kern/dl.c: Force native word size to suppress warnings when
35700 compiling grub-emu.
35701
2df32b2c 35702 * kern/device.c (grub_device_iterate): Change struct part_ent to
35703 hold the name, not a pointer to it. Use one grub_malloc() per
35704 partition, not two. Free partition_name if grub_malloc() fails.
35705 Set ents to NULL only before grub_partition_iterate() is called.
35706
75c59f59 357072009-07-11 Bean <bean123ch@gmail.com>
35708
35709 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35710 childname.
35711
0ae1bf88 357122009-07-10 Bean <bean123ch@gmail.com>
357132009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35714
35715 * kern/ieee1275/openfw.c (grub_children_iterate)
35716 (grub_devalias_iterate): Fix size evaluation for property or path
35717 strings, which was broken since r2132.
35718
8279cade 357192009-07-07 Pavel Roskin <proski@gnu.org>
35720
7d8a52d3 35721 * commands/search.c (search_file): Merge into ...
35722 (search_fs): ... this. Accept search type as argument.
35723 (grub_cmd_search): Pass search type to search_fs().
35724
25f9a05a 35725 * include/grub/util/console.h: New file.
35726 * util/console.c: Use it instead of grub/machine/console.h.
35727 * util/grub-emu.c: Likewise.
35728
8279cade 35729 * lib/arg.c (find_long_option): Remove.
35730 (find_long): Add `len' argument, make `s' const char *.
35731 (grub_arg_parse): Parse long options in place, not in a
35732 temporary buffer.
35733
4a11b60f 357342009-07-06 Pavel Roskin <proski@gnu.org>
35735
99f68041 35736 * commands/search.c (search_fs): Fix potential NULL pointer
35737 dereference.
35738
4a11b60f 35739 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35740 function pointer.
35741
e110f4de 357422009-07-06 Daniel Mierswa <impulze@impulze.org>
35743
35744 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35745 comparison.
35746
46eeb6a2 357472009-07-05 Pavel Roskin <proski@gnu.org>
35748
bab74958 35749 * include/grub/i386/linux.h (struct linux_kernel_params):
35750 Restore padding3, it's still needed.
35751
46eeb6a2 35752 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35753 FreeBSD.
35754 * util/osdetect.lua: Likewise.
35755
b4a1dc79 357562009-07-05 Bean <bean123ch@gmail.com>
35757
35758 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35759
35760 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35761 (grub_lua_getenv): Likewise.
35762 (grub_lua_setenv): Likewise.
35763 (save_errno): New function.
35764 (push_result): Likewise.
35765 (grub_lua_enum_device): Likewise.
35766 (grub_lua_enum_file): Likewise.
35767 (grub_lua_file_open): Likewise.
35768 (grub_lua_file_close): Likewise.
35769 (grub_lua_file_seek): Likewise.
35770 (grub_lua_file_read): Likewise.
35771 (grub_lua_file_getline): Likewise.
35772 (grub_lua_file_getsize): Likewise.
35773 (grub_lua_file_getpos): Likewise.
35774 (grub_lua_file_eof): Likewise.
35775 (grub_lua_file_exist): Likewise.
35776 (grub_lua_add_menu): Likewise.
35777
35778 * script/lua/grub_lua.h (isupper): New inline function.
35779 (islower): Likewise.
35780 (ispunct): Likewise.
35781 (isxdigit): Likewise.
35782 (strcspn): Change to normal function.
35783 (strpbkr): New function declaration.
35784 (memchr): Likewise.
35785
35786 * script/lua/grub_main.c (scan_str): New function.
35787 (strcspn): Likewise.
35788 (strpbrk): Likewise.
35789 (memchr): Likewise.
35790
35791 * script/lua/linit.c (lualibs): Enable the string library.
35792
35793 * util/osdetect.lua: New file.
35794
2da92295 357952009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35796
35797 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35798 `capabilities' member.
35799
b2582ec9 358002009-07-02 Pavel Roskin <proski@gnu.org>
35801
35802 * genparttoollist.sh: Add missing newline at the end.
35803
32622956 358042009-07-01 Pavel Roskin <proski@gnu.org>
35805
87a7339e 35806 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35807
d23af54e 35808 * util/hostdisk.c (open_device): Remove `const' from
35809 `sysctl_size', as sysctlbyname() can change it (in this case it
35810 doesn't actually happen).
35811
c94b18a9 35812 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35813 using signed long int constants.
35814
c6cd3ef0 35815 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35816 constant to avoid a warning on FreeBSD.
35817
0df63420 35818 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35819 where it's needed.
35820
999577f1 35821 * Makefile.in: Install include/grub/machine symlink.
35822
6f41557f 35823 * Makefile.in: When installing symlinks, use "cp -fR", which
35824 works on FreeBSD and MacOSX.
35825 From Yves Blusseau <cl7m42e02@sneakemail.com>
35826
c8d22988 35827 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35828 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35829
1b96e952 35830 * util/misc.c: Move grub_reboot() and grub_halt() ...
35831 * util/grub-emu.c: ... here. Make main_env static.
35832 * include/grub/util/misc.h: Remove main_env.
35833
2ef0084d 35834 * kern/mm.c: Use correct format to print size_t.
35835
32622956 35836 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35837 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35838 * kern/powerpc/dl.c: Likewise.
35839 * kern/sparc64/dl.c: Likewise.
35840 * kern/x86_64/dl.c: Likewise.
35841
3f7f0cd0 358422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35843
35844 Fix grub-emu build on sparc64-ieee1275.
35845
75421ca9 35846 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35848
211d06b5 358492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35850
35851 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35852 (grub_reboot, grub_halt): New functions.
35853
35854 * util/i386/pc/misc.c: Delete. Update all users.
35855 * util/sparc64/ieee1275/misc.c: Likewise.
35856 * util/powerpc/ieee1275/misc.c: Likewise.
35857
aaf53e3c 358582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35859
35860 * conf/i386.rmk (setjmp_mod_SOURCES)
35861 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35862 * conf/common.rmk (setjmp_mod_SOURCES)
35863 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35864 to use $(target_cpu).
35865 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35866 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35867 * conf/powerpc-ieee1275.rmk: Likewise.
35868 * conf/sparc64-ieee1275.rmk: Likewise.
35869
35870 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35871 $(target_cpu) for kern/$(target_cpu)/dl.c.
35872 * conf/i386-efi.rmk: Likewise.
35873 * conf/i386-ieee1275.rmk: Likewise.
35874 * conf/x86_64-efi.rmk: Likewise.
35875 * conf/i386-coreboot.rmk: Likewise.
35876 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35877 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35878 kern/$(target_cpu)/cache.S.
35879 * conf/sparc64-ieee1275.rmk: Likewise.
35880
a337130b 358812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35882
35883 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35884 type to `grub_uint8_t', and adjust `padding9' accordingly.
35885
c6fe4d53 358862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35887
b09db61d 35888 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35889
c6fe4d53 35890 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35891 assembly in final jump, using register constraints.
35892
b09db61d 35893 (grub_linux_boot): For text mode, initialize `have_vga' using
35894 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35895
35896 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35897 right before the final jump.
35898
35899 Set `video_mode' to 0x3.
35900
35901 Document initialization of `video_page', `video_mode' and
35902 `video_ega_bx'.
35903
28333ad0 359042009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35905
35906 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35907 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35908 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35909
02164e1b 359102009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35911
35912 Fix build on Debian / sparc.
35913
35914 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35915
18b6c557 359162009-06-28 Pavel Roskin <proski@gnu.org>
35917
85f2aab6 35918 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35919 fix a warning.
35920
18b6c557 35921 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35922
ad760f81 359232009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35924
35925 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35926 `err'.
35927
87a4623b 359282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35929
35930 Revert r2338.
35931
35932 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35933 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35934 grub_errno / grub_errmsg appropriately.
87a4623b 35935 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35936
8231fb77 359372009-06-27 Pavel Roskin <proski@gnu.org>
359382009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35939
35940 * include/grub/dl.h: Include grub/elf.h.
35941 (struct grub_dl): Add symtab field.
35942 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35943 GRUB_MODULES_MACHINE_READONLY.
35944 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35945 of the header for read-only modules.
35946 (grub_dl_unload): Free mod->symtab for read-only modules.
35947 * kern/i386/dl.c: Use mod->symtab.
35948 * kern/powerpc/dl.c: Likewise.
35949 * kern/sparc64/dl.c: Likewise.
35950 * kern/x86_64/dl.c: Likewise.
35951
35952 * conf/i386-qemu.rmk: New file.
35953 * kern/i386/qemu/startup.S: Likewise.
35954 * kern/i386/qemu/mmap.c: Likewise.
35955 * boot/i386/qemu/boot.S: Likewise.
35956 * include/grub/i386/qemu/time.h: Likewise.
35957 * include/grub/i386/qemu/serial.h: Likewise.
35958 * include/grub/i386/qemu/kernel.h: Likewise.
35959 * include/grub/i386/qemu/console.h: Likewise.
35960 * include/grub/i386/qemu/boot.h: Likewise.
35961 * include/grub/i386/qemu/init.h: Likewise.
35962 * include/grub/i386/qemu/machine.h: Likewise.
35963 * include/grub/i386/qemu/loader.h: Likewise.
35964 * include/grub/i386/qemu/memory.h: Likewise.
35965
35966 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35967 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35968 [qemu] (pkglib_IMAGES): Add `boot.img'.
35969 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35970 [qemu] (boot_img_FORMAT): New variables.
35971 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35972 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35973 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35974 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35975 [qemu] (kernel_img_FORMAT): New variables.
35976
35977 * configure.ac: Recognise `i386-qemu'.
35978
35979 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35980 (for no compression).
35981 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35982 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35983 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35984 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35985 ifdefs).
35986
97fe384e 359872009-06-27 Pavel Roskin <proski@gnu.org>
35988
35989 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35990 read.
35991 * efiemu/prepare32.c: Likewise.
35992 * efiemu/prepare64.c: Likewise.
35993
c402ab17 359942009-06-26 Pavel Roskin <proski@gnu.org>
35995
35996 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35997 * include/grub/elf.h: Define symbols without "32" or "64" based
35998 on GRUB_TARGET_WORDSIZE.
35999 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36000 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36001 ELF definitions.
36002 * efiemu/loadcore64.c: Likewise.
36003 * loader/i386/bsd32.c: Likewise.
36004 * loader/i386/bsd64.c: Likewise.
36005 * kern/dl.c: Remove own ELF definitions.
36006 * util/i386/efi/grub-mkimage.c: Likewise.
36007
9bbdfd4d 360082009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36009
36010 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36011 segment 0x0 unconditionally, because the reference generated by
36012 GAS is an absolute address.
36013
a42ce6e9 360142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36015
36016 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36017 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36018
c952cf92 360192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36020
36021 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36022 indexes. Check for -f explicitly.
cc3752ad 36023 (search_file): Improve error message.
36024 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36025
132a0a59 360262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36027
36028 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36029 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36030
387a140c 360312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36032
36033 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36034 * conf/i386-ieee1275.rmk: Likewise.
36035 * conf/i386-coreboot.rmk: Likewise.
36036
36037 * kern/i386/pc/startup.S (grub_stop): Remove function.
36038 * kern/i386/ieee1275/startup.S: Likewise.
36039 * kern/i386/coreboot/startup.S: Likewise.
36040 * kern/i386/misc.S (grub_stop): New function.
36041
41da9665 360422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36043
36044 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36045 * kern/i386/realmode.S (real_to_prot): ... to here.
36046
bf337234 360472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36048
36049 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36050 with `kernel.img'.
36051 (kernel_elf_SOURCES): Rename to ...
36052 (kernel_img_SOURCES): ... this.
36053 (kernel_elf_HEADERS): Rename to ...
36054 (kernel_img_HEADERS): ... this. Update all users.
36055 (kernel_elf_ASFLAGS): Rename to ...
36056 (kernel_img_ASFLAGS): ... this.
36057 (kernel_elf_CFLAGS): Rename to ...
36058 (kernel_img_CFLAGS): ... this.
36059 (kernel_elf_LDFLAGS): Rename to ...
36060 (kernel_img_LDFLAGS): ... this.
36061 * conf/i386-coreboot.rmk: Likewise.
36062 * conf/powerpc-ieee1275.rmk: Likewise.
36063
36064 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36065 with "kernel.img".
36066
f52196ff 360672009-06-21 Pavel Roskin <proski@gnu.org>
36068
c3cee413 36069 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36070 to match nested functions.
36071 * loader/sparc64/ieee1275/linux.c: Likewise.
36072
f52196ff 36073 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36074
58750afc 360752009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36076
36077 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36078 all i386 platforms.
36079
15355c7d 360802009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36081
36082 Fix asm file handling on ELF, and remove workarounds.
36083
36084 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36085 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36086 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36087 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36088
3f3ec72b 360892009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36090
36091 Load BSD ELF modules
36092
36093 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36094 and loader/i386/bsd64.c
36095 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36096 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36097 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36098 (grub_freebsd_load_elfmodule32): New declaration
36099 (grub_freebsd_load_elfmoduleobj64): Likewise
36100 (grub_freebsd_load_elf_meta32): Likewise
36101 (grub_freebsd_load_elf_meta64): Likewise
36102 (grub_freebsd_add_meta): Likewise
36103 (grub_freebsd_add_meta_module): Likewise
36104 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36105 (grub_freebsd_add_meta_module): Likewise and move module-specific
36106 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36107 (grub_cmd_freebsd): Add elf-kernel specific parts
36108 based on grub_freebsd_add_meta_module
36109 (grub_cmd_freebsd_module): Add type parsing moved from
36110 grub_freebsd_add_meta_module
36111 (grub_cmd_freebsd_module_elf): New function
36112 (cmd_freebsd_module_elf): New variable
36113 (GRUB_MOD_INIT): Register freebsd_module_elf
36114 * loader/i386/bsd32.c: New file
36115 * loader/i386/bsd64.c: Likewise
36116 * loader/i386/bsdXX.c: Likewise
36117 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36118 (grub_elf64_load): Likewise
36119 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36120 All users updated
36121 (grub_elf64_load_hook_t): Likewise
36122
0db15301 361232009-06-21 Colin Watson <cjwatson@ubuntu.com>
36124
36125 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36126 variable.
36127 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36128 don't write a menu entry for recovery mode.
36129
546796c1 361302009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36131
36132 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36133 after it's no longer needed.
36134
cd7310d5 361352009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36136
36137 * include/grub/i386/loader.h (grub_linux_prot_size)
36138 (grub_linux_tmp_addr, grub_linux_real_addr)
36139 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36140 GRUB_MACHINE_PCBIOS.
36141 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36142 common grub_util_info() call to ...
36143 (generate_image): ... here.
36144 Fix use of uninitialized memory, comparison of signed with
36145 unsigned integers and memory leak.
36146 Remove bogus module address message.
36147
ab32d3b5 361482009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36149
36150 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36151 grub_raid_register
36152 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36153
024ef597 361542009-06-19 Pavel Roskin <proski@gnu.org>
36155
36156 * configure.ac: Remove stray AC_MSG_CHECKING.
36157
3ac72b51 361582009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36159
36160 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36161
e14cd814 361622009-06-18 Pavel Roskin <proski@gnu.org>
36163
36164 * conf/common.rmk: Add fs_file.mod.
36165 * disk/fs_file.c: New file.
36166 * include/grub/disk.h (enum grub_disk_dev_id): Add
36167 GRUB_DISK_DEVICE_FILE_ID.
36168
26586d98 361692009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36170
36171 Fix build with Apple's toolchain. Part 2
36172
36173 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36174 a fake start
36175
26de2bcd 361762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 Fix build with Apple's toolchain. Part 1
36179
36180 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36181 for long calls
36182 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36183 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36184 Apple's toolchain
36185
09b3490b 361862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36187
36188 Fix warnings
36189
36190 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36191 (decomp_block): initialize ch
36192 use grub_memcpy instead of memcpy
36193
c22a006a 361942009-06-17 Pavel Roskin <proski@gnu.org>
36195
d3638678 36196 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36197 version, use declarations needed to use vga_text as the startup
36198 console.
36199
c22a006a 36200 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36201 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36202 the kernel.
36203 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36204 and grub_at_keyboard_fini(), it's done on module load and
36205 unload.
36206
05b129e0 362072009-06-17 Felix Zielcke <fzielcke@z-51.de>
36208
36209 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36210 file can't be found.
36211 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36212
cf24ed9e 362132009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36214
36215 Fix newline handling
36216
36217 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36218 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36219 (grub_script_yylex): don't segfault on unterminated script
36220 newline terminates command and variable
36221
74aa8e4b 362222009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36223
36224 avoid double grub_adjust_range call. Bug reported by David Simner
36225
36226 * kern/disk.c (grub_disk_write): change to raw disk access before
36227 calling disk_read
36228
1bd265f3 362292009-06-17 Colin Watson <cjwatson@ubuntu.com>
36230
36231 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36232 spaces, for the benefit of help2man.
36233 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36234
a2d08c06 362352009-06-16 Pavel Roskin <proski@gnu.org>
36236
36237 * kern/i386/halt.c: Include grub/machine/init.h.
36238 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36239
b97bcb19 362402009-06-16 Felix Zielcke <fzielcke@z-51.de>
36241
36242 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36243 drivemap menuentry.
36244
0644f96c 362452009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36246
36247 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36248 `echo' command.
36249
3ef17a2e 362502009-06-16 Pavel Roskin <proski@gnu.org>
36251
36252 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36253 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36254 save %dx, we only need %dl and we never change it.
36255 * boot/i386/pc/cdboot.S: Don't set the root drive.
36256 * boot/i386/pc/pxeboot.S: Likewise.
36257 * include/grub/i386/pc/boot.h: Remove
36258 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36259 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36260 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36261 * kern/i386/pc/init.c (make_install_device): Remove references
36262 to grub_root_drive.
36263 * kern/i386/pc/startup.S: Likewise.
36264 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36265
693fe637 362662009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36267
36268 xnu_uuid command
36269
36270 * commands/xnu_uuid.c: new file
36271 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36272 (xnu_uuid_mod_SOURCES): new variable
36273 (xnu_uuid_mod_CFLAGS): likewise
36274 (xnu_uuid_mod_LDFLAGS): likewise
36275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36276 * conf/i386-ieee1275.rmk: likewise
36277 * conf/i386-pc.rmk: likewise
36278 * conf/powerpc-ieee1275.rmk: likewise
36279 * conf/sparc64-ieee1275.rmk: likewise
36280 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36281
c9da87d0 362822009-06-16 Pavel Roskin <proski@gnu.org>
36283
36284 * configure.ac: Avoid '==' in test command, it's not portable.
36285
9c6f4596 362862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36287
36288 Probe command
36289
36290 * commands/probe.c: new file
36291 * conf/common.rmk (pkglib_MODULES): add probe.mod
36292 (probe_mod_SOURCES): new variable
36293 (probe_mod_CFLAGS): likewise
36294 (probe_mod_LDFLAGS): likewise
36295 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36296 * conf/i386-ieee1275.rmk: likewise
36297 * conf/i386-pc.rmk: likewise
36298 * conf/powerpc-ieee1275.rmk: likewise
36299 * conf/sparc64-ieee1275.rmk: likewise
36300
70b7f9fd 363012009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36302
36303 Fix handling of string like \"hello\" and "a
36304 b"
36305
36306 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36307 (grub_script_yylex): fix parsing of quoting, escaping and newline
36308
71c79a6b 363092009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36310
dd74360c 36311 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36312 handling
dd74360c 36313
0644f96c 363142009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36315
36316 * util/grub-mkconfig.in: Fix parsing of --output option.
36317
e40893c3 363182009-06-12 Pavel Roskin <proski@gnu.org>
36319
36320 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36321 genmk.rb don't need to be generated or installed.
36322
3a1acfe2 363232009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36324
36325 * commands/i386/pc/drivemap_int13h.S: add more comments
36326
3a4575d4 363272009-06-11 Pavel Roskin <proski@gnu.org>
36328
0658e928 36329 * Makefile.in (uninstall): Uninstall manuals.
36330
ca0388f0 36331 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36332 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36333 and update-grub_lib in two places.
36334 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36335
e3b27c39 36336 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36337 a compiler warning.
36338
3a4575d4 36339 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36340 `entry_lo' to fix variable shadowing.
36341
af1f4f55 363422009-06-11 Christian Franke <franke@computer.org>
36343
36344 * kern/misc.c (__enable_execute_stack): Add missing return type
36345 to prevent gcc warning.
36346
5225e649 363472009-06-11 Felix Zielcke <fzielcke@z-51.de>
36348
36349 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36350
7d83bd47 363512009-06-11 Pavel Roskin <proski@gnu.org>
36352
c1cb63ba 36353 * Makefile.in: Don't rely on any scripts being executable.
36354 Always use $(SHELL) to run shell scripts.
36355
7d83bd47 36356 * configure.ac: Always define ___main if using -nostdlib. This
36357 fixes tests on Cygwin.
36358
948f48e7 363592009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36360
36361 UDF fix
36362
7d83bd47 36363 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36364 is in bytes and not in blocks
7d83bd47 36365
8ada9bc1 363662009-06-11 Pavel Roskin <proski@gnu.org>
36367
36368 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36369 warning.
36370
25ad2323 363712009-06-11 Felix Zielcke <fzielcke@z-51.de>
36372
36373 * util/grub.d/30_os-prober.in: Fix a comment. Source
36374 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36375 to set the root device. Place drivemap command in the generated
36376 chain entry.
36377
e65acb0c 363782009-06-11 Pavel Roskin <proski@gnu.org>
36379
36380 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36381 have long been resolved.
36382
f285fe2d 363832009-06-11 Colin Watson <cjwatson@ubuntu.com>
36384
bd47b0b5 36385 * util/grub.d/10_linux.in: Capitalise "Linux".
36386
f285fe2d 36387 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36388
a0c62e4e 363892009-06-11 Pavel Roskin <proski@gnu.org>
36390
b6783cb2 36391 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36392 fix a gcc warning and ensure that the function won't ever exit.
36393
dde032e8 36394 * kern/i386/ieee1275/init.c: Add missing prototype for
36395 grub_stop_floppy().
36396
22cd079d 36397 * loader/ieee1275/multiboot2.c [__i386__]: Include
36398 grub/cpu/multiboot.h.
36399
a0c62e4e 36400 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36401 casts to short - they are not portable and cause warnings. Fix
36402 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36403
63963d17 364042009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36405
36406 Drivemap fixes
36407
36408 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36409 new function
36410 (grub_get_root_biosnumber_saved): new variable
36411 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36412 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36413 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36414 %dx after the call if necessary
36415 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36416 (boot_mod_SOURCES): remove
36417 (boot_mod_CFLAGS): remove
36418 (boot_mod_LDFLAGS): remove
36419 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36420 (boot_mod_SOURCES): new variable
36421 (boot_mod_CFLAGS): likewise
36422 (boot_mod_LDFLAGS): likewise
36423 * conf/i386-efi.rmk: likewise
36424 * conf/i386-ieee1275.rmk: likewise
36425 * conf/i386-pc.rmk: likewise
36426 * conf/powerpc-ieee1275.rmk: likewise
36427 * conf/sparc64-ieee1275.rmk: likewise
36428 * conf/x86_64-efi.rmk: likewise
36429 * include/grub/i386/pc/biosnum.h: new file
36430 * lib/i386/pc/biosnum.c: likewise
36431 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36432 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36433 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36434
33abf7ae 364352009-06-10 Pavel Roskin <proski@gnu.org>
36436
5ac35b35 36437 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36438 Use separate variables. Read only the file size at the end, but
36439 not the checksum that we don't use.
36440
5c5215d5 36441 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36442 Adjust all callers.
36443
27d5fef7 36444 * kern/ieee1275/openfw.c: Remove libc includes.
36445 * kern/ieee1275/cmain.c: Likewise.
36446 * include/grub/ieee1275/ieee1275.h: Likewise.
36447
33abf7ae 36448 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36449 compiler warnings.
36450
19d50c2b 364512009-06-10 Felix Zielcke <fzielcke@z-51.de>
36452
36453 * Makefile.in: Remove all trailing whitespace.
36454 * conf/i386-pc.rmk: Likewise.
36455 * conf/powerpc-ieee1275.rmk: Likewise.
36456 * conf/sparc64-ieee1275.rmk: Likewise.
36457 * docs/grub.texi: Likewise.
36458 * docs/texinfo.tex: Likewise.
36459 * disk/fs_uuid.c: Likewise.
36460 * disk/lvm.c: Likewise.
36461 * disk/scsi.c: Likewise.
36462 * disk/ata.c: Likewise.
36463 * disk/ieee1275/ofdisk.c: Likewise.
36464 * disk/i386/pc/biosdisk.c: Likewise.
36465 * disk/host.c: Likewise.
36466 * disk/raid.c: Likewise.
36467 * disk/efi/efidisk.c: Likewise.
36468 * disk/usbms.c: Likewise.
36469 * disk/memdisk.c: Likewise.
36470 * disk/loopback.c: Likewise.
36471 * kern/powerpc/dl.c: Likewise.
36472 * kern/device.c: Likewise.
36473 * kern/dl.c: Likewise.
36474 * kern/sparc64/dl.c: Likewise.
36475 * kern/ieee1275/ieee1275.c: Likewise.
36476 * kern/term.c: Likewise.
36477 * kern/fs.c: Likewise.
36478 * kern/i386/dl.c: Likewise.
36479 * kern/i386/pc/startup.S: Likewise.
36480 * kern/i386/pc/init.c: Likewise.
36481 * kern/i386/pc/mmap.c: Likewise.
36482 * kern/i386/pc/lzo1x.S: Likewise.
36483 * kern/i386/ieee1275/init.c: Likewise.
36484 * kern/i386/realmode.S: Likewise.
36485 * kern/i386/tsc.c: Likewise.
36486 * kern/partition.c: Likewise.
36487 * kern/corecmd.c: Likewise.
36488 * kern/file.c: Likewise.
36489 * kern/efi/efi.c: Likewise.
36490 * kern/efi/init.c: Likewise.
36491 * kern/efi/mm.c: Likewise.
36492 * kern/main.c: Likewise.
36493 * kern/err.c: Likewise.
36494 * kern/env.c: Likewise.
36495 * kern/disk.c: Likewise.
36496 * kern/generic/millisleep.c: Likewise.
36497 * kern/generic/rtc_get_time_ms.c: Likewise.
36498 * kern/misc.c: Likewise.
36499 * kern/parser.c: Likewise.
36500 * genmk.rb: Likewise.
36501 * configure.ac: Likewise.
36502 * boot/i386/pc/diskboot.S: Likewise.
36503 * boot/i386/pc/pxeboot.S: Likewise.
36504 * boot/i386/pc/boot.S: Likewise.
36505 * boot/i386/pc/lnxboot.S: Likewise.
36506 * boot/i386/pc/cdboot.S: Likewise.
36507 * parttool/pcpart.c: Likewise.
36508 * video/readers/tga.c: Likewise.
36509 * video/video.c: Likewise.
36510 * video/bitmap.c: Likewise.
36511 * lib/envblk.c: Likewise.
36512 * lib/i386/setjmp.S: Likewise.
36513 * fs/xfs.c: Likewise.
36514 * fs/afs.c: Likewise.
36515 * fs/fat.c: Likewise.
36516 * fs/ntfs.c: Likewise.
36517 * fs/udf.c: Likewise.
36518 * fs/affs.c: Likewise.
36519 * fs/iso9660.c: Likewise.
36520 * fs/hfs.c: Likewise.
36521 * fs/fshelp.c: Likewise.
36522 * fs/ext2.c: Likewise.
36523 * fs/jfs.c: Likewise.
36524 * fs/reiserfs.c: Likewise.
36525 * fs/hfsplus.c: Likewise.
36526 * fs/minix.c: Likewise.
36527 * fs/cpio.c: Likewise.
36528 * fs/sfs.c: Likewise.
36529 * fs/ufs.c: Likewise.
36530 * efiemu/prepare.c: Likewise.
36531 * efiemu/loadcore_common.c: Likewise.
36532 * efiemu/runtime/efiemu.sh: Likewise.
36533 * efiemu/runtime/efiemu.S: Likewise.
36534 * efiemu/runtime/efiemu.c: Likewise.
36535 * efiemu/pnvram.c: Likewise.
36536 * efiemu/main.c: Likewise.
36537 * efiemu/i386/pc/cfgtables.c: Likewise.
36538 * efiemu/i386/loadcore64.c: Likewise.
36539 * efiemu/i386/loadcore32.c: Likewise.
36540 * efiemu/loadcore.c: Likewise.
36541 * efiemu/symbols.c: Likewise.
36542 * efiemu/mm.c: Likewise.
36543 * include/grub/autoefi.h: Likewise.
36544 * include/grub/datetime.h: Likewise.
36545 * include/grub/term.h: Likewise.
36546 * include/grub/hfs.h: Likewise.
36547 * include/grub/lvm.h: Likewise.
36548 * include/grub/i386/tsc.h: Likewise.
36549 * include/grub/i386/linux.h: Likewise.
36550 * include/grub/i386/xnu.h: Likewise.
36551 * include/grub/i386/efiemu.h: Likewise.
36552 * include/grub/i386/pc/biosdisk.h: Likewise.
36553 * include/grub/i386/pc/memory.h: Likewise.
36554 * include/grub/i386/pc/vbe.h: Likewise.
36555 * include/grub/parttool.h: Likewise.
36556 * include/grub/video.h: Likewise.
36557 * include/grub/memory.h: Likewise.
36558 * include/grub/fs.h: Likewise.
36559 * include/grub/partition.h: Likewise.
36560 * include/grub/xnu.h: Likewise.
36561 * include/grub/efi/api.h: Likewise.
36562 * include/grub/efi/pe32.h: Likewise.
36563 * include/grub/efi/memory.h: Likewise.
36564 * include/grub/multiboot.h: Likewise.
36565 * include/grub/usbdesc.h: Likewise.
36566 * include/grub/multiboot2.h: Likewise.
36567 * include/grub/acpi.h: Likewise.
36568 * include/grub/efiemu/efiemu.h: Likewise.
36569 * include/grub/disk.h: Likewise.
36570 * include/grub/ieee1275/ieee1275.h: Likewise.
36571 * include/grub/net.h: Likewise.
36572 * include/grub/machoload.h: Likewise.
36573 * include/grub/macho.h: Likewise.
36574 * include/multiboot.h: Likewise.
36575 * genmoddep.awk: Likewise.
36576 * normal/main.c: Likewise.
36577 * normal/menu_entry.c: Likewise.
36578 * normal/menu_viewer.c: Likewise.
36579 * normal/completion.c: Likewise.
36580 * normal/cmdline.c: Likewise.
36581 * normal/misc.c: Likewise.
36582 * normal/datetime.c: Likewise.
36583 * bus/usb/usbtrans.c: Likewise.
36584 * bus/usb/ohci.c: Likewise.
36585 * bus/usb/uhci.c: Likewise.
36586 * bus/usb/usb.c: Likewise.
36587 * mmap/efi/mmap.c: Likewise.
36588 * mmap/i386/pc/mmap_helper.S: Likewise.
36589 * mmap/i386/pc/mmap.c: Likewise.
36590 * mmap/i386/mmap.c: Likewise.
36591 * mmap/i386/uppermem.c: Likewise.
36592 * mmap/mmap.c: Likewise.
36593 * commands/acpi.c: Likewise.
36594 * commands/echo.c: Likewise.
36595 * commands/blocklist.c: Likewise.
36596 * commands/loadenv.c: Likewise.
36597 * commands/usbtest.c: Likewise.
36598 * commands/boot.c: Likewise.
36599 * commands/parttool.c: Likewise.
36600 * commands/search.c: Likewise.
36601 * commands/cat.c: Likewise.
36602 * commands/i386/pc/play.c: Likewise.
36603 * commands/i386/pc/drivemap.c: Likewise.
36604 * commands/i386/pc/vbeinfo.c: Likewise.
36605 * commands/i386/pc/acpi.c: Likewise.
36606 * commands/i386/pc/vbetest.c: Likewise.
36607 * commands/ls.c: Likewise.
36608 * commands/cmp.c: Likewise.
36609 * commands/test.c: Likewise.
36610 * commands/efi/acpi.c: Likewise.
36611 * commands/gptsync.c: Likewise.
36612 * commands/help.c: Likewise.
36613 * partmap/amiga.c: Likewise.
36614 * partmap/apple.c: Likewise.
36615 * partmap/acorn.c: Likewise.
36616 * partmap/pc.c: Likewise.
36617 * partmap/sun.c: Likewise.
36618 * partmap/gpt.c: Likewise.
36619 * script/sh/lexer.c: Likewise.
36620 * script/sh/function.c: Likewise.
36621 * font/font.c: Likewise.
36622 * font/font_cmd.c: Likewise.
36623 * loader/powerpc/ieee1275/linux.c: Likewise.
36624 * loader/efi/chainloader.c: Likewise.
36625 * loader/multiboot_loader.c: Likewise.
36626 * loader/macho.c: Likewise.
36627 * loader/i386/multiboot.c: Likewise.
36628 * loader/i386/linux.c: Likewise.
36629 * loader/i386/pc/linux.c: Likewise.
36630 * loader/i386/pc/multiboot2.c: Likewise.
36631 * loader/i386/pc/chainloader.c: Likewise.
36632 * loader/i386/pc/xnu.c: Likewise.
36633 * loader/i386/bsd_trampoline.S: Likewise.
36634 * loader/i386/efi/linux.c: Likewise.
36635 * loader/i386/multiboot_elfxx.c: Likewise.
36636 * loader/i386/bsd_helper.S: Likewise.
36637 * loader/i386/bsd.c: Likewise.
36638 * loader/i386/linux_trampoline.S: Likewise.
36639 * loader/i386/xnu_helper.S: Likewise.
36640 * loader/i386/xnu.c: Likewise.
36641 * loader/i386/bsd_pagetable.c: Likewise.
36642 * loader/i386/multiboot_helper.S: Likewise.
36643 * loader/xnu.c: Likewise.
36644 * loader/xnu_resume.c: Likewise.
36645 * io/gzio.c: Likewise.
36646 * term/efi/console.c: Likewise.
36647 * term/terminfo.c: Likewise.
36648 * term/ieee1275/ofconsole.c: Likewise.
36649 * term/i386/pc/serial.c: Likewise.
36650 * term/i386/pc/vesafb.c: Likewise.
36651 * term/i386/pc/vga.c: Likewise.
36652 * term/usb_keyboard.c: Likewise.
36653 * term/gfxterm.c: Likewise.
36654 * aclocal.m4: Likewise.
36655 * util/lvm.c: Likewise.
36656 * util/grub.d/30_os-prober.in: Likewise.
36657 * util/grub.d/10_hurd.in: Likewise.
36658 * util/console.c: Likewise.
36659 * util/grub-macho2img.c: Likewise.
36660 * util/grub-probe.c: Likewise.
36661 * util/hostfs.c: Likewise.
36662 * util/i386/pc/grub-mkimage.c: Likewise.
36663 * util/i386/pc/grub-setup.c: Likewise.
36664 * util/i386/efi/grub-mkimage.c: Likewise.
36665 * util/grub-mkconfig.in: Likewise.
36666 * util/raid.c: Likewise.
36667 * util/resolve.c: Likewise.
36668 * util/grub-mkdevicemap.c: Likewise.
36669 * util/grub-emu.c: Likewise.
36670 * util/getroot.c: Likewise.
36671 * util/hostdisk.c: Likewise.
36672 * util/usb.c: Likewise.
36673 * util/grub-editenv.c: Likewise.
36674 * util/misc.c: Likewise.
36675
d2d49665 366762009-06-10 Felix Zielcke <fzielcke@z-51.de>
36677
36678 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36679 `genparttoollist.sh'.
36680 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36681 Add `*.sh' to the list find searches for and change `mdate.sh'
36682 to `mdate-sh'.
36683
fe052e37 366842009-06-10 Pavel Roskin <proski@gnu.org>
36685
2763ac18 36686 * include/grub/multiboot2.h: Provide compatibility defines for
36687 multiboot2.h.
36688 * include/multiboot2.h: Include stdint.h only if needed, using
36689 angle brackets.
36690 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36691 grub/multiboot2.h.
36692 * loader/ieee1275/multiboot2.c: Likewise.
36693 * loader/multiboot2.c: Likewise.
36694 * loader/multiboot_loader.c: Likewise.
36695
437e6adc 36696 * configure.ac: Use -nostdlib when probing for the target. It
36697 should not be required to have libc for the target.
36698
06a6836c 36699 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36700 they fail without libc headers for the target.
36701 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36702 exports.
36703 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36704 preprocessor conditionals.
36705
fe052e37 36706 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36707 build system doesn't need to be aware of the tar.c internals.
36708
afd22553 367092009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36710
afd22553 36711 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36712
6b787c4f 367132009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36714
36715 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36716 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36717
367182009-06-09 Felix Zielcke <fzielcke@z-51.de>
36719
36720 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36721 aren't available if ata.mod gets used.
6b787c4f 36722
473d1e45 367232009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36724
473d1e45 36725 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36726 initialising controller.
473d1e45 36727 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36728
255a27d4 367292009-06-08 Felix Zielcke <fzielcke@z-51.de>
36730
36731 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36732 to choose between ata and biosdisk module on i386-pc.
36733
473d1e45 367342009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36735
d55842d8 36736 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36737 Subclass and Programming Interface fields in terms of the 3 byte
36738 Class Code register.
36739 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36740
fa5db0b1 36741 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36742 interface is OHCI. Add grub_dprintf for symmetry with
36743 bus/usb/uhci.c.
36744 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36745 interface is UHCI. Add interf variable for programming
36746 interface. Print interface with class/subclass.
36747
c0947beb 36748 * bus/usb/ohci.c: Set interf with correct field.
36749
69da8877 36750 * bus/usb/uhci.c: Remove unneeded doubled lines.
36751 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36752 Remove whitespace inside comment.
36753
9e172e30 367542009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36755
36756 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36757 as fallback an equivalent option without depth.
36758
de65ee2b 367592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36760
36761 Not fail if unable to retrieve C/H/S on LBA disks
36762
473d1e45 36763 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36764 if unable to retrieve C/H/S on LBA disks
36765
b57ea2c9 367662009-06-08 Pavel Roskin <proski@gnu.org>
36767
36768 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36769 about aliasing.
36770
af361263 367712009-06-08 Felix Zielcke <fzielcke@z-51.de>
36772
36773 * Makefile.in (uninstall): Remove all $lib_DATA files.
36774
4c9ec6b3 367752009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36776
36777 Bugfix: install on partitionless device
36778
36779 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36780 is a whole disk
36781
e76fc924 367822009-06-08 Felix Zielcke <fzielcke@z-51.de>
36783
36784 * Makefile.in (uninstall): Remove all $include_DATA files.
36785
ba5a0d05 367862009-06-08 Felix Zielcke <fzielcke@z-51.de>
36787
36788 * commands/true.c: New file. Implement the true and false commands.
36789 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36790 (true_mod_SOURCES): New variable.
36791 (true_mod_CFLAGS): Likewise.
36792 (true_mod_LDFLAGS): Likewise.
36793
c8048e32 367942009-06-05 Colin D Bennett <colin@gibibit.com>
36795
36796 Optimized font character lookup using binary search instead of linear
36797 search. Fonts now are required to have the character index ordered by
36798 code point.
36799
36800 * font/font.c (load_font_index): Verify that fonts have ordered
36801 character indices.
36802 (find_glyph): Use binary search instead of linear search to find a
36803 character in a font.
36804
408305be 368052009-06-05 Michael Scherer <misc@mandriva.org>
36806
36807 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36808 uses case sensitive btree.
36809 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36810 only for case insensitive filesystems.
36811
8ee1e0d9 368122009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36813
36814 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36815 * conf/common.rmk (search_mod_CFLAGS): likewise
36816
a9966eb1 368172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36818
473d1e45 36819 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36820 compensate a compiler bug
36821
9e7100fb 368222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36823
473d1e45 36824 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36825 instead of '\b'
473d1e45 36826
ede21d71 368272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36828
36829 Definitions for creating asm symbols with Apple's CC
36830
36831 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36832 [APPLE_CC] (VARIABLE): likewise
36833
9dbf7653 368342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36835
36836 Disable lnxboot.img when compiled
36837 with Apple's CC
36838
36839 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36840 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36841 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36842 [! APPLE_CC] (CODE_LENG): skip
36843 [! APPLE_CC] (setup_sects): likewise
36844 [! APPLE_CC]: skip filling
473d1e45 36845
e93cdc3d 368462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36847
36848 Address in trampolines based on 32-bit registers when compiled
36849 with Apple's CC
36850
473d1e45 36851 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36852 for addresses
36853 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36854
6c688477 368552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36856
36857 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36858
36859 * kern/misc.c [APPLE_CC] (memcpy): new function
36860 [APPLE_CC] (memmove): likewise
36861 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36862 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36863 (memset): likewise
36864 (abort): likewise
36865 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36866 APPLE_CC are defined
36867 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36868 (grub_assert_fail): make prototype conditional
36869
e37ffc5c 368702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36871
36872 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36873
473d1e45 36874 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36875 grub-macho2img
e37ffc5c 36876 (CLEANFILES): add grub-macho2img
36877 (grub_macho2img_SOURCES): new variable
36878 * kern/i386/pc/startup.S (bss_start): new variable
36879 (bss_end): likewise
36880 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36881 * util/grub-macho2img.c: new file
36882
cf00df31 368832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36884
36885 Use objconv when compiling with Apple's CC
36886
36887 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36888 (efiemu64.o): likewise
36889 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36890 when compiling with Apple's CC
36891 (efiemu64_s.o): likewise
36892 * configure.ac: check for objconv when compiling with Apple's CC
36893 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36894
d119a20c 368952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36896
36897 Define segment as well as section when compiling with
36898 Apple's CC
36899
36900 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36901 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36902 (efiemu_convert_pointer): likewise
36903 (efiemu_set_virtual_address_map): likewise
36904 (efiemu_convert_pointer): likewise
36905 (efiemu_getcrc32): likewise
36906 (init_crc32_table): likewise
36907 (reflect): likewise
36908 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36909 (GRUB_MOD_DEP): likewise
473d1e45 36910
c8600122 369112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36912
36913 Allow a compilation without -mcmodel=large
36914
36915 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36916 when compiled without -mcmodel=large
473d1e45 36917 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36918 without -mcmodel=large
473d1e45 36919 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36920 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36921
e8df1d4e 369222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36923
36924 Remove nested functions in efiemu core
36925
36926 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36927
cc6c3ac1 369282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36929
36930 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36931
36932 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36933 temporary storage
473d1e45 36934 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36935 using Apple's CC
cc6c3ac1 36936 (grub_cpu_is_tsc_supported): likewise
36937 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36938
3e325901 369392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36940
36941 Absolute addressing through constant with Apple's cc
36942
36943 * kern/i386/pc/startup.S: Define necessary constants
36944 and address through it when using ABS with Apple's CC
36945 * boot/i386/pc/diskboot.S: likewise
36946 * boot/i386/pc/boot.S: likewise
36947 * boot/i386/pc/lnxboot.S: likewise
36948 * boot/i386/pc/cdboot.S: likewise
36949 * mmap/i386/pc/mmap_helper.S: likewise
36950 * commands/i386/pc/drivemap_int13h.S: likewise
36951
2b167a72 369522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36953
36954 Check if compiler is apple cc
36955
36956 * Makefile.in (ASFLAGS): new variable
36957 (TARGET_ASFLAGS): likewise
36958 (TARGET_MODULE_FORMAT): likewise
36959 (TARGET_APPLE_CC): likewise
36960 (OBJCONV): likewise
36961 (TARGET_IMG_CFLAGS): likewise
36962 (TARGET_CPPFLAGS): add includedir
36963 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36964 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36965 Check for linker script only if compiler isn't Apple's CC
36966 (TARGET_MODULE_FORMAT): set
36967 (TARGET_APPLE_CC): likewise
36968 (TARGET_ASFLAGS): likewise
36969 (ASFLAGS): likewise
36970 Check for objcopy only if compiler isn't Apple's CC
36971 Check for BSS symbol only if compiler isn't Apple's CC
36972 * genmk.rb: adapt nm options if we use Apple's utils
36973 * aclocal.m4 (grub_apple_cc): new test
36974 (grub_apple_target_cc): likewise
473d1e45 36975
fb14123e 369762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36977
36978 Simplify sed expressions and improve awk
36979
36980 * Makefile.in (install-local): simplify sed expression
36981 * gencmdlist.sh: likewise
36982 * genmoddep.awk: avoid adding module as a dependency of itself
36983
5b889789 369842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36985
36986 Add missing start symbols
36987
36988 * boot/i386/pc/boot.S: add start
fb14123e 36989 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36990
fd2bf2e3 369912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36992
36993 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36994
36995 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36996 (relocate_addresses): consider both r_addend and value at offset
36997 (make_mods_section): zerofill modinfo and header
36998 (convert_elf): write prefix here
473d1e45 36999
5389763d 370002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37001
37002 Use .asciz instead of .string
37003
37004 * i386/pc/diskboot.S: use .asciz instead of .string
37005 * i386/pc/boot.S: likewise
37006 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37007 (GRUB_MOD_NAME): likewise
473d1e45 37008
3eb5ed4e 370092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37010
37011 gfxpayload support
37012
37013 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37014 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37015 (grub_video_setup): remove
37016 (grub_video_set_mode): new prototype
37017 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37018 (vid_mode): remove
37019 (linux_vesafb_res): compile only on PCBIOS
37020 (grub_linux_boot): support gfxpayload
37021 * loader/i386/pc/xnu.c (video_hook): new function
37022 (grub_xnu_set_video): support gfxpayload
37023 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37024 (DEFAULT_VIDEO_HEIGHT): likewise
37025 (DEFAULT_VIDEO_FLAGS): likewise
37026 (DEFAULT_VIDEO_MODE): new definition
37027 (video_hook): new function
37028 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37029 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37030 loading xnu
37031 * video/video.c (grub_video_setup): removed
473d1e45 37032 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37033 grub_video_setup
37034
4b0e1143 370352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37036
37037 Avoid calling biosdisk in drivemap
37038
37039 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37040 (revparse_biosdisk): likewise
37041 (list_mappings): derive name from id directly
37042 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37043
fda6cb98 370442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37045
37046 Script fixes
37047
37048 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37049 (grub_lexer_param): add tokenonhold
37050 (grub_script_create_cmdline): remove cmdline. All callers updated
37051 (grub_script_function_create): make functionname
37052 grub_script_arg. All callers updated
37053 (grub_script_execute_argument_to_string): new prototype
37054 * kern/parser.c (state_transitions): reorder
37055 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37056 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37057 make global
37058 (grub_script_execute_cmdline): use new format
37059 * script/sh/function.c (grub_script_function_create): make functionname
37060 grub_script_arg. All callers updated
473d1e45 37061 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37062 (grub_script_yylex): remove
37063 (grub_script_yylex2): renamed to ...
37064 (grub_script_yylex): ...renamed
37065 parse the expressions like a${b}c
37066 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37067 (GRUB_PARSER_TOKEN_VAR): remove
37068 (GRUB_PARSER_TOKEN_NAME): likewise
37069 ("if"): declare as typeless
37070 ("while"): likewise
37071 ("function"): likewise
37072 ("else"): likewise
37073 ("then"): likewise
37074 ("fi"): likewise
37075 (text): remove
37076 (argument): likewise
37077 (script): accept empty scripts and make exit on error
37078 (arguments): use GRUB_PARSER_TOKEN_ARG
37079 (function): likewise
37080 (command): move error handling to script
37081 (menuentry): move grub_script_lexer_ref before
473d1e45 37082 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37083 argument. All callers updated
37084
f4448a07 370852009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37086
37087 Prevent GRUB from probing floppies during boot.
37088
37089 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37090 * commands/search.c (options): Add --no-floppy.
37091 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37093 --no-floppy when searching for UUIDs.
37094
2bf5885a 370952009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37096
37097 Simplify the code duplication in commands/search.c.
37098
37099 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37100 (search_fs): ... this. Update all users.
37101
f6fd460a 371022009-06-03 Felix Zielcke <fzielcke@z-51.de>
37103
37104 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37105
cbb3c83e 371062009-05-28 Pavel Roskin <proski@gnu.org>
37107
57788cfd 37108 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37109 Remove the original symlink explicitly.
37110
cbb3c83e 37111 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37112 just one slash. That's how grub_fshelp_find_file() does it.
37113
cd0d5e30 371142009-05-26 Pavel Roskin <proski@gnu.org>
37115
f0f8bbe2 37116 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37117 to `str'.
37118
cd0d5e30 37119 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37120 possibly unused.
37121
8c2cab51 371222009-05-25 Christian Franke <franke@computer.org>
37123
37124 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37125 register.
37126 (grub_atapi_identify): Add wait after drive select.
37127 (grub_ata_identify): Do more strict status register check before
37128 calling grub_atapi_identify (). Suppress error message if status
37129 register is 0x00 after command failure. Add status register
37130 check after PIO read to avoid bogus identify due to stuck DRQ.
37131 Thanks to Pavel Roskin for testing.
37132 (grub_device_initialize): Remove unsafe status register check.
37133 Thanks to 'phcoder' for problem report and patch.
37134 Prevent sign extension in debug message.
37135
230c0ad6 371362009-05-23 Colin D Bennett <colin@gibibit.com>
37137
37138 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37139 definition file, and functions defined in `normal/menu.c' have had
37140 their prototypes moved to `include/grub/menu.h' for consistency.
37141
37142 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37143 from normal.h.
37144 (grub_menu_get_entry): Likewise.
37145 (grub_menu_get_timeout): Likewise.
37146 (grub_menu_set_timeout): Likewise.
37147 (grub_menu_execute_entry): Likewise.
37148 (grub_menu_execute_with_fallback): Likewise.
37149 (grub_menu_entry_run): Likewise.
37150
37151 * include/grub/normal.h: Re-ordered and grouped function
37152 prototypes by file that the function is defined in.
37153 (grub_menu_execute_callback): Removed; moved to menu.h.
37154 (grub_menu_get_entry): Likewise.
37155 (grub_menu_get_timeout): Likewise.
37156 (grub_menu_set_timeout): Likewise.
37157 (grub_menu_execute_entry): Likewise.
37158 (grub_menu_execute_with_fallback): Likewise.
37159 (grub_menu_entry_run): Likewise.
37160 (grub_menu_addentry): Renamed from this ...
37161 (grub_normal_add_menu_entry): ... to this.
37162
37163 * normal/main.c (grub_menu_addentry): Renamed from this ...
37164 (grub_normal_add_menu_entry): ... to this.
37165
37166 * script/sh/execute.c (grub_script_execute_menuentry): Update
37167 reference to renamed grub_menu_addentry function.
37168
861f03a5 371692009-05-23 Felix Zielcke <fzielcke@z-51.de>
37170
37171 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37172
96b1619a 371732009-05-22 Pavel Roskin <proski@gnu.org>
37174
bf6a5fb2 37175 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37176 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37177 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37178 compiling for the i386 targets, but not for the utilities.
37179
96b1619a 37180 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37181 to grub_uint8_t.
37182 (grub_root_drive): Likewise.
37183 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37184 remove alignment.
37185 (grub_root_drive): Change size to byte.
37186 (grub_start_addr): Remove.
37187 (grub_end_addr): Likewise.
37188 (grub_apm_bios_info): Likewise.
37189
b729776b 371902009-05-21 Felix Zielcke <fzielcke@z-51.de>
37191
37192 * normal/i386: Remove.
37193 * normal/powerpc: Likewise.
37194 * normal/sparc64: Likewise.
37195 * normal/x86_64: Likewise.
37196
0a15ce80 371972009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37198
37199 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37200 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37201 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37202
33db9015 372032009-05-18 Colin D Bennett <colin@gibibit.com>
37204
d6da58e6 37205 Display error messages when parsing a Lua statement fails.
37206 Previously, executing a syntactically invalid statement like
37207 ")foo" or "bar;" would silently fail.
33db9015 37208
37209 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37210 (grub_lua_parse_line): Improved reporting of Lua parser and
37211 execution errors.
33db9015 37212
46422c89 372132009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37214
37215 Remove -Werror which causes build to fail on some systems
37216
37217 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37218 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37219 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37220
22f53a96 372212009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37222
37223 trampoline for linux on 64-bit platform
37224
18f547ad 37225 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37226 loader/i386/efi/linux_trampoline.S
37227 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37228 declaration
d6da58e6 37229 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37230 here
22f53a96 37231 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37232 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37233 trampoline
22f53a96 37234 (jumpvector): removed
37235 (grub_linux_trampoline_start): new declaration
37236 (grub_linux_trampoline_end): likewise
37237 (grub_linux_boot): use trampoline when on 64-bit platform
37238 * loader/i386/linux.c: likewise
37239
cb5a0f40 372402009-05-16 Pavel Roskin <proski@gnu.org>
37241
37242 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37243 const to avoid a warning.
37244 (grub_lua_setenv): Likewise.
37245 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37246 lmsg to fix a warning.
37247
334f2c28 372482009-05-16 Felix Zielcke <fzielcke@z-51.de>
37249
37250 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37251 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37252 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37253 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37254 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37255 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37256 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37257 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37258
59e5d3ec 372592009-05-16 Felix Zielcke <fzielcke@z-51.de>
37260
37261 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37262
9d87a1ba 372632009-05-16 Bean <bean123ch@gmail.com>
37264
37265 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37266 (lua_mod_SOURCES): New variable.
37267 (lua_mod_CFLAGS): Likewise.
37268 (lua_mod_LDFLAGS): Likewise.
37269
37270 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37271 (setjmp_mod_SOURCES): New variable.
37272 (setjmp_mod_CFLAGS): Likewise.
37273 (setjmp_LDFLAGS): Likewise.
37274
37275 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37276 (setjmp_mod_SOURCES): New variable.
37277 (setjmp_mod_CFLAGS): Likewise.
37278 (setjmp_LDFLAGS): Likewise.
37279
37280 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37281 (setjmp_mod_SOURCES): New variable.
37282 (setjmp_mod_CFLAGS): Likewise.
37283 (setjmp_LDFLAGS): Likewise.
37284
37285 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37286 (setjmp_mod_SOURCES): New variable.
37287 (setjmp_mod_CFLAGS): Likewise.
37288 (setjmp_LDFLAGS): Likewise.
37289
37290 * normal/i386/setjmp.S: Moved from here ...
37291 * lib/i386/setjmp.S: ... Moved here
37292 * normal/x86_64/setjmp.S: Moved from here ...
37293 * lib/x86_64/setjmp.S: ... Moved here
37294 * normal/powerpc/setjmp.S: Moved from here ...
37295 * lib/powerpc/setjmp.S: ... Moved here
37296 * normal/sparc64/setjmp.S: Moved from here ...
37297 * lib/sparc64/setjmp.S: ... Moved here
37298
37299 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37300 returns_twice in mingw.
37301
37302 * script/lua/grub_lib.c: New file.
37303 * script/lua/grub_lib.h: Likewise.
37304 * script/lua/grub_lua.h: Likewise.
37305 * script/lua/grub_main.c: Likewise.
37306 * script/lua/lapi.c: Likewise.
37307 * script/lua/lapi.h: Likewise.
37308 * script/lua/lauxlib.c: Likewise.
37309 * script/lua/lauxlib.h: Likewise.
37310 * script/lua/lbaselib.c: Likewise.
37311 * script/lua/lcode.c: Likewise.
37312 * script/lua/lcode.h: Likewise.
37313 * script/lua/ldblib.c: Likewise.
37314 * script/lua/ldebug.c: Likewise.
37315 * script/lua/ldebug.h: Likewise.
37316 * script/lua/ldo.c: Likewise.
37317 * script/lua/ldo.h: Likewise.
37318 * script/lua/ldump.c: Likewise.
37319 * script/lua/lfunc.c: Likewise.
37320 * script/lua/lfunc.h: Likewise.
37321 * script/lua/lgc.c: Likewise.
37322 * script/lua/lgc.h: Likewise.
37323 * script/lua/linit.c: Likewise.
37324 * script/lua/liolib.c: Likewise.
37325 * script/lua/llex.c: Likewise.
37326 * script/lua/llex.h: Likewise.
37327 * script/lua/llimits.h: Likewise.
37328 * script/lua/lmathlib.c: Likewise.
37329 * script/lua/lmem.c: Likewise.
37330 * script/lua/lmem.h: Likewise.
37331 * script/lua/loadlib.c: Likewise.
37332 * script/lua/lobject.c: Likewise.
37333 * script/lua/lobject.h: Likewise.
37334 * script/lua/lopcodes.c: Likewise.
37335 * script/lua/lopcodes.h: Likewise.
37336 * script/lua/loslib.c: Likewise.
37337 * script/lua/lparser.c: Likewise.
37338 * script/lua/lparser.h: Likewise.
37339 * script/lua/lstate.c: Likewise.
37340 * script/lua/lstate.h: Likewise.
37341 * script/lua/lstring.c: Likewise.
37342 * script/lua/lstring.h: Likewise.
37343 * script/lua/lstrlib.c: Likewise.
37344 * script/lua/ltable.c: Likewise.
37345 * script/lua/ltable.h: Likewise.
37346 * script/lua/ltablib.c: Likewise.
37347 * script/lua/ltm.c: Likewise.
37348 * script/lua/ltm.h: Likewise.
37349 * script/lua/lua.h: Likewise.
37350 * script/lua/luaconf.h: Likewise.
37351 * script/lua/lualib.h: Likewise.
37352 * script/lua/lundump.c: Likewise.
37353 * script/lua/lundump.h: Likewise.
37354 * script/lua/lvm.c: Likewise.
37355 * script/lua/lvm.h: Likewise.
37356 * script/lua/lzio.c: Likewise.
37357 * script/lua/lzio.h: Likewise.
37358
5e898c9d 373592009-05-16 Bean <bean123ch@gmail.com>
37360
37361 * include/grub/kernel.h (grub_module_header_types): Add type
37362 OBJ_TYPE_CONFIG.
37363
37364 * kern/main.c (grub_load_config): New function.
37365 (grub_main): Call grub_load_config to read boot config.
37366
37367 * grub-mkimage (generate_image): New parameter config_path.
37368 (options): New option --config.
37369 (main): Parse --config option, and pass it to generate_image.
37370
cf353a47 373712009-05-14 Christian Franke <franke@computer.org>
37372
37373 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37374 This fixes build on Cygwin.
37375
3834887f 373762009-05-14 Pavel Roskin <proski@gnu.org>
37377
37378 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37379 jump. This saves two bytes, so the typical case of 2 swapped
37380 drives would fit 32 bytes.
37381
8090fc01 373822009-05-13 Pavel Roskin <proski@gnu.org>
37383
ac963883 37384 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37385 grub_uint32_t to avoid a warning.
37386
8090fc01 37387 * loader/i386/linux.c (allocate_pages): When assigning
37388 real_mode_mem, cast through grub_size_t to fix a warning. The
37389 code already makes sure that the value would fit a pointer.
37390 (grub_linux_setup_video): Cast render_target->data to
37391 grub_size_t to fix a warning.
37392
18f547ad 373932009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37394
37395 * commands/i386/pc/drivemap.c: New file - implement drivemap
37396 command.
37397 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37398 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37399
6f6a8b28 374002009-05-13 Pavel Roskin <proski@gnu.org>
37401
37402 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37403 embedding_area_exists.
37404
15fbf4c4 374052009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37406
37407 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37408 it easier to understand / work with.
59978c8a 37409 Improve warning messages for cases where there's no embedding area,
37410 or when it is too small (or core.img too large).
15fbf4c4 37411
238e871f 374122009-05-13 Pavel Roskin <proski@gnu.org>
37413
0ab3a9a4 37414 * loader/i386/pc/multiboot2.c: Add necessary includes for
37415 grub_multiboot2_real_boot().
37416
a2c8c5f8 37417 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37418 PX record is always little-endian. We only need the lower 2
37419 bytes of the mode.
37420
faec96af 37421 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37422 facilitate code reuse.
37423 (grub_cpio_mount): Use "struct head", not a char buffer. This
37424 fixes a warning reported by gcc 4.4.
37425
238e871f 37426 * kernel/disk.c (grub_disk_read): Use void pointer for the
37427 buffer.
37428 (grub_disk_write): Use const void pointer for the buffer.
37429 Adjust all callers. Remove unnecessary casts.
37430
901d2f0c 374312009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37432
37433 * util/i386/pc/grub-install.in: Update copyright year.
37434
18f547ad 374352009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37436
37437 gptsync
37438
37439 * commands/gptsync.c: new file
37440 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37441 (gptsync_mod_SOURCES): new variable
37442 (gptsync_mod_CFLAGS): likewise
37443 (gptsync_mod_LDFLAGS): likewise
18f547ad 37444 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37445 new definition
37446 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37447 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37448 * conf/i386-ieee1275.rmk: likewise
37449 * conf/i386-pc.rmk: likewise
37450 * conf/powerpc-ieee1275.rmk: likewise
37451
b4ba690a 374522009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37453
37454 Fixed grub-emu
37455
37456 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37457 (grub_dl_ref): likewise
37458
317e1a44 374592009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37460
37461 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37462 split in two functions (one for msdos and one for gpt).
37463
041b8094 374642009-05-08 Pavel Roskin <proski@gnu.org>
37465
752473c2 37466 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37467 not modified.
37468
041b8094 37469 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37470 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37471 Initialize them with -1. Add sanity check for bad1. Eliminate
37472 nerr variable.
37473
172800ce 374742009-05-08 David S. Miller <davem@davemloft.net>
37475
37476 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37477
29aa5e81 374782009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37479
37480 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37481 existence.
29aa5e81 37482
96613b62 374832009-05-05 Felix Zielcke <fzielcke@z-51.de>
37484
37485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37486 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37487
eef73c8a 374882009-05-05 David S. Miller <davem@davemloft.net>
37489
37490 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37491
119494b5 374922009-05-05 Pavel Roskin <proski@gnu.org>
37493
37494 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37495 of grub_dl_ref() and grub_dl_unref().
37496 * commands/parttool.c: Remove preprocessor conditionals around
37497 grub_dl_ref() and grub_dl_unref().
37498 * fs/affs.c: Likewise.
37499 * fs/afs.c: Likewise.
37500 * fs/cpio.c: Likewise.
37501 * fs/ext2.c: Likewise.
37502 * fs/fat.c: Likewise.
37503 * fs/hfs.c: Likewise.
37504 * fs/hfsplus.c: Likewise.
37505 * fs/iso9660.c: Likewise.
37506 * fs/jfs.c: Likewise.
37507 * fs/minix.c: Likewise.
37508 * fs/ntfs.c: Likewise.
37509 * fs/reiserfs.c: Likewise.
37510 * fs/sfs.c: Likewise.
37511 * fs/udf.c: Likewise.
37512 * fs/ufs.c: Likewise.
37513 * fs/xfs.c: Likewise.
37514 * include/grub/dl.h: Likewise.
37515 * loader/xnu.c: Likewise.
37516
de5fd76e 375172009-05-04 Pavel Roskin <proski@gnu.org>
37518
37519 * commands/acpi.c: Remove unused variable my_mod.
37520 * partmap/amiga.c: Likewise.
37521 * partmap/apple.c: Likewise.
37522 * partmap/gpt.c: Likewise.
37523 * partmap/pc.c: Likewise.
37524 * partmap/sun.c: Likewise.
37525 * term/gfxterm.c: Likewise.
37526 * term/i386/pc/vesafb.c: Likewise.
37527 * term/i386/pc/vga.c: Likewise.
37528
983598ad 375292009-05-04 David S. Miller <davem@davemloft.net>
37530
37531 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37532 pointer args to grub_ieee1275_get_property().
37533
8aadec43 37534 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37535
9554b15e 37536 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37537 devices, and do not traverse down under controller nodes.
37538
67e23c90 37539 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37540 (grub_ofdisk_open): Use it to un-escape "," characters.
37541 * kern/disk.c (find_part_sep): New.
37542 (grub_disk_open): Use it to find the first non-escaped ','
37543 character in the disk name.
37544 * util/ieee1275/devicemap.c (escape_of_path): New.
37545 (grub_util_emit_devicemap_entry): Use it.
37546 * util/sparc64/ieee1275/grub-install.in: Update script to
37547 strip partition specifiers properly by not triggering on
37548 '\' escaped ',' characters.
37549
74bfdd2f 375502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37551
37552 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37553 to 0x300.
37554 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37555 resolutions.
37556 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37557 on documentation from Wikipedia).
37558
4241d2b1 375592009-05-04 Pavel Roskin <proski@gnu.org>
37560
37561 * disk/ata.c: Spelling fixes.
37562 * disk/raid.c: Likewise.
37563 * disk/usbms.c: Likewise.
37564 * disk/dmraid_nvidia.c: Likewise.
37565 * kern/ieee1275/openfw.c: Likewise.
37566 * kern/ieee1275/init.c: Likewise.
37567 * kern/ieee1275/cmain.c: Likewise.
37568 * boot/i386/pc/cdboot.S: Likewise.
37569 * video/readers/png.c: Likewise.
37570 * video/i386/pc/vbe.c: Likewise.
37571 * fs/udf.c: Likewise.
37572 * fs/hfs.c: Likewise.
37573 * fs/reiserfs.c: Likewise.
37574 * efiemu/runtime/efiemu.c: Likewise.
37575 * efiemu/main.c: Likewise.
37576 * efiemu/mm.c: Likewise.
37577 * include/grub/elf.h: Likewise.
37578 * include/grub/xnu.h: Likewise.
37579 * include/grub/usbdesc.h: Likewise.
37580 * include/grub/usb.h: Likewise.
37581 * include/grub/script_sh.h: Likewise.
37582 * include/grub/lib/LzmaEnc.h: Likewise.
37583 * include/grub/efiemu/efiemu.h: Likewise.
37584 * include/grub/command.h: Likewise.
37585 * normal/menu.c: Likewise.
37586 * normal/main.c: Likewise.
37587 * normal/datetime.c: Likewise.
37588 * bus/usb/uhci.c: Likewise.
37589 * mmap/i386/uppermem.c: Likewise.
37590 * mmap/mmap.c: Likewise.
37591 * commands/acpi.c: Likewise.
37592 * commands/test.c: Likewise.
37593 * partmap/apple.c: Likewise.
37594 * font/font.c: Likewise.
37595 * loader/sparc64/ieee1275/linux.c: Likewise.
37596 * loader/macho.c: Likewise.
37597 * loader/i386/bsd_trampoline.S: Likewise.
37598 * loader/i386/bsd.c: Likewise.
37599 * loader/xnu.c: Likewise.
37600 * term/i386/pc/vesafb.c: Likewise.
37601 * term/usb_keyboard.c: Likewise.
37602 * util/resolve.c: Likewise.
37603 * util/getroot.c: Likewise.
37604
0cfc0083 376052009-05-04 Felix Zielcke <fzielcke@z-51.de>
37606
37607 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37608
7c1d00cd 376092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37610
37611 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37612 build error.
37613
b01f0548 376142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37615
37616 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37617 parameter only available on BIOS.
37618
ecc3eb22 376192009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37620
37621 Removed wrong semicolon in declaration
37622
37623 * grub/misc.h (grub_dprintf): remove semicolon
37624
112972a9 376252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37626
37627 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37628 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37629 is done by grub_cmd_linux() now).
37630 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37631 restore video to text mode.
37632 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37633 indicates lack of "vga=" parameter. "vga=0" is mapped to
37634 `GRUB_LINUX_VID_MODE_NORMAL'.
37635
afd5c115 376362009-05-04 Felix Zielcke <fzielcke@z-51.de>
37637
37638 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37639 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37640 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37641 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37642 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37643 `grub_script.tab.c'.
37644
37645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37646 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37648 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37650
faa517ce 37651 * Makefile.in: Remove duplicated 2008 in Copyright line.
37652
ae0c0bdc 376532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37654
473d1e45 37655 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37656 unconditionally.
37657 * include/grub/util/misc.h (grub_util_warn): New declaration.
37658
37659 * util/i386/pc/grub-install.in: Understand --force and pass it down
37660 to grub-setup.
37661
37662 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37663 down to setup().
37664 (setup): Improve error messages and add warnings when requested to
37665 install in odd layouts. Refuse to install using blocklists unless
37666 --force was set.
37667
18f547ad 376682009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37669
37670 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37671
6d260daa 376722009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37673
37674 Updated copyright year
37675
37676 * fs/hfsplus.c: updated copyright year
18f547ad 37677
69f853f8 376782009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37679
37680 HFS+ UUID
37681
18f547ad 37682 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37683 in the space previously used by unused3
37684 (grub_hfsplus_uuid): new function
37685 (grub_hfsplus_fs): added uuid field
37686
4c402e73 376872009-05-03 Pavel Roskin <proski@gnu.org>
37688
37689 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37690 suppress warnings. It's no longer needed.
37691 * disk/host.c: Likewise.
37692 * disk/ata_pthru.c: Likewise.
37693 * disk/loopback.c: Likewise.
37694 * hook/datehook.c: Likewise.
37695 * parttool/pcpart.c: Likewise.
37696 * fs/i386/pc/pxe.c: Likewise.
37697 * fs/ntfscomp.c: Likewise.
37698 * efiemu/main.c: Likewise.
37699 * mmap/mmap.c: Likewise.
37700 * commands/crc.c: Likewise.
37701 * commands/hexdump.c: Likewise.
37702 * commands/hdparm.c: Likewise.
37703 * commands/acpi.c: Likewise.
37704 * commands/echo.c: Likewise.
37705 * commands/minicmd.c: Likewise.
37706 * commands/blocklist.c: Likewise.
37707 * commands/memrw.c: Likewise.
37708 * commands/loadenv.c: Likewise.
37709 * commands/usbtest.c: Likewise.
37710 * commands/lsmmap.c: Likewise.
37711 * commands/boot.c: Likewise.
37712 * commands/parttool.c: Likewise.
37713 * commands/configfile.c: Likewise.
37714 * commands/search.c: Likewise.
37715 * commands/ieee1275/suspend.c: Likewise.
37716 * commands/cat.c: Likewise.
37717 * commands/i386/pc/pxecmd.c: Likewise.
37718 * commands/i386/pc/play.c: Likewise.
37719 * commands/i386/pc/halt.c: Likewise.
37720 * commands/i386/pc/vbeinfo.c: Likewise.
37721 * commands/i386/pc/vbetest.c: Likewise.
37722 * commands/lspci.c: Likewise.
37723 * commands/date.c: Likewise.
37724 * commands/handler.c: Likewise.
37725 * commands/ls.c: Likewise.
37726 * commands/test.c: Likewise.
37727 * commands/cmp.c: Likewise.
37728 * commands/efi/loadbios.c: Likewise.
37729 * commands/efi/fixvideo.c: Likewise.
37730 * commands/halt.c: Likewise.
37731 * commands/help.c: Likewise.
37732 * commands/reboot.c: Likewise.
37733 * hello/hello.c: Likewise.
37734 * script/sh/main.c: Likewise.
37735 * loader/xnu.c: Likewise.
37736 * term/terminfo.c: Likewise.
37737 * term/i386/pc/serial.c: Likewise.
37738 * term/usb_keyboard.c: Likewise.
37739
515b5079 377402009-05-03 David S. Miller <davem@davemloft.net>
37741
37742 * normal/menu.c: Include grub/parser.h
37743
dfc31a22 377442009-05-03 Pavel Roskin <proski@gnu.org>
37745
2fee74f1 37746 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37747 not char*.
37748 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37749 Suggested by Javier Martín <lordhabbit@gmail.com>
37750
dfc31a22 37751 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37752 efiemu??.o doesn't exist.
37753 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37754 copying.
37755
18f547ad 377562009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37757
37758 FreeBSD 64-bit support
37759
18f547ad 37760 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37761 and loader/i386/bsd_trampoline.S
37762 (bsd_mod_ASFLAGS): new variable
37763 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37764 (FREEBSD_MODTYPE_KERNEL64): likewise
37765 (grub_bsd64_trampoline_start): likewise
37766 (grub_bsd64_trampoline_end): likewise
37767 (grub_bsd64_trampoline_selfjump): likewise
37768 (grub_bsd64_trampoline_gdt): likewise
37769 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37770 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37771 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37772 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37773 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37774 of "attrib" member
37775 * loader/i386/bsd_pagetable.c: new file
37776 * loader/i386/bsd_trampoline.S: likewise
37777 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37778 (ALIGN_VAR): likewise
37779 (entry_hi): new variable
37780 (kern_end_mdofs): likewise
37781 (is_64bit): likewise
37782 (grub_freebsd_add_meta): use ALIGN_VAR
37783 (grub_e820_mmap): new declaration
37784 (grub_freebsd_add_mmap): new function
37785 (grub_freebsd_add_meta_module): support 64 bit kernels
37786 (grub_freebsd_list_modules): use ALIGN_VAR
37787 (gdt_descriptor): new declaration
37788 (grub_freebsd_boot): support 64 bit kernels
37789 (grub_bsd_elf64_hook): new function
37790 (grub_bsd_load_elf): support elf64
37791
038c5720 377922009-05-03 Bean <bean123ch@gmail.com>
37793
37794 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37795 after we get the result of if statement.
37796
fc45fb58 377972009-05-03 Bean <bean123ch@gmail.com>
37798
37799 * Makefile.in (enable_efiemu): New variable.
37800
37801 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37802 set.
37803 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37804 path.
37805 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37806 path, add -mno-red-zone option.
37807 (efiemu64_s.o): Likewise.
37808 (efiemu64.o): Use macro $^ for source file.
37809
37810 * configure.ac (--enable-efiemu): New option.
37811
bbee0f2b 378122009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37813
37814 xnu support
37815
37816 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37817 (pkglib_MODULES): add xnu.mod
37818 (xnu_mod_SOURCES): new variable
37819 (xnu_mod_CFLAGS): likewise
37820 (xnu_mod_LDFLAGS): likewise
37821 (xnu_mod_ASFLAGS): likewise
37822 * conf/i386-pc.rmk: likewise
37823 * conf/x86_64-efi.rmk: likewise
7dd4a573 37824 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37825 new declaration
37826 * include/grub/i386/macho.h: new file
37827 * include/grub/i386/xnu.h: likewise
37828 * include/grub/macho.h: likewise
37829 * include/grub/machoload.h: likewise
37830 * include/grub/x86_64/macho.h: likewise
37831 * include/grub/x86_64/xnu.h: likewise
37832 * include/grub/xnu.h: likewise
37833 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37834 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37835 * loader/i386/efi/xnu.c: new file
37836 * loader/i386/pc/xnu.c: likewise
37837 * loader/i386/xnu.c: likewise
37838 * loader/i386/xnu_helper.S: likewise
37839 * loader/macho.c: likewise
37840 * loader/xnu.c: likewise
37841 * loader/xnu_resume.c: likewise
37842 * util/grub-dumpdevtree: likewise
37843 * include/grub/i386/pit.h: include grub/err.h
37844 (grub_pit_wait): export
37845 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37846
5caf964d 378472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37848
37849 Efiemu
7dd4a573 37850
5caf964d 37851 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37852 _linux_efi, linux_efi.
37853 new files in grub-emu
5caf964d 37854 new targets efiemu32.o and efiemu64.o
37855 * loader/linux_normal_efiemu.c: likewise
37856 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37857 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37858 files to copy
37859 * include/grub/autoefi.h: new file
7dd4a573 37860 * include/grub/i386/efiemu.h: likewise
5caf964d 37861 * include/grub/i386/pc/efiemu.h: likewise
37862 * include/grub/efi/api.h: add LL suffix when necessary
37863 new definitions relating to tables
37864 * include/grub/efiemu/efiemu.h: new file
37865 * include/grub/efiemu/runtime.h: likewise
37866 * efiemu/prepare.c: likewise
37867 * efiemu/loadcore_common.c: likewise
37868 * efiemu/loadcore64.c: likewise
37869 * efiemu/runtime/efiemu.sh: likewise
37870 * efiemu/runtime/efiemu.S: likewise
37871 * efiemu/runtime/efiemu.c: likewise
37872 * efiemu/runtime/config.h: likewise
37873 * efiemu/prepare32.c: likewise
37874 * efiemu/main.c: likewise
37875 * efiemu/modules/pnvram.c: likewise
37876 * efiemu/modules/i386: likewise
37877 * efiemu/modules/i386/pc: likewise
37878 * efiemu/modules/acpi.c: likewise
37879 * efiemu/i386/pc/cfgtables.c: likewise
37880 * efiemu/i386/loadcore64.c: likewise
37881 * efiemu/i386/loadcore32.c: likewise
37882 * efiemu/prepare64.c: likewise
37883 * efiemu/loadcore.c: likewise
37884 * efiemu/symbols.c: likewise
37885 * efiemu/mm.c: likewise
37886 * efiemu/loadcore32.c: likewise
7dd4a573 37887
378882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37889
37890 ACPI spoofing
37891
37892 * commands/acpi.c: new file
37893 * commands/i386/pc/acpi.c: likewise
37894 * commands/efi/acpi.c: likewise
37895 * include/grub/acpi.h: likewise
37896 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37897 (acpi_mod_SOURCES): new variable
37898 (acpi_mod_CFLAGS): likewise
37899 (acpi_mod_LDFLAGS): likewise
37900 * conf/i386-efi.rmk: likewise
37901 * conf/x86_64-efi.rmk: likewise
37902
7dd4a573 379032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37904
37905 Missing part from mmap patch
37906
37907 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37908 (grub_mmap_unregister)
37909 (grub_mmap_free_and_unregister): use grub_mmap_register
37910
7dd4a573 379112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37912
37913 Mmap services
37914
37915 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37916 * loader/i386/linux.c (find_mmap_size): likewise
37917 (allocate_pages): likewise
37918 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37919 (grub_fill_multiboot_mmap): likewise
37920 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37921 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37922 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37923 (OPENBSD_MMAP_RESERVED): likewise
37924 * include/grub/i386/pc/memory.h: include grub/memory.h
37925 (grub_lower_mem): removed
37926 (grub_upper_mem): likewise
37927 (GRUB_MACHINE_MEMORY_ACPI): new definition
37928 (GRUB_MACHINE_MEMORY_NVS): likewise
37929 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37930 (GRUB_MACHINE_MEMORY_HOLE): likewise
37931 (grub_machine_mmap_register): likewise
37932 (grub_machine_mmap_unregister): likewise
37933 (grub_machine_get_upper): likewise
37934 (grub_machine_get_lower): likewise
37935 (grub_machine_get_post64): likewise
37936 * include/grub/i386/efi/memory.h: new file
37937 * include/grub/x86_64/efi/memory.h: likewise
37938 * include/grub/efi/memory.h: likewise
37939 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37940 (mmap_mod_SOURCES): new variable
37941 (mmap_mod_LDFLAGS): likewise
37942 (mmap_mod_ASFLAGS): likewise
37943 * conf/i386-coreboot.rmk: likewise
37944 * conf/i386-ieee1275.rmk: likewise
37945 * conf/i386-efi.rmk: likewise
37946 * conf/x86_64-efi.rmk: likewise
37947 * include/grub/types.h (UINT_TO_PTR): new macro
37948 (PTR_TO_UINT32): likewise
37949 (PTR_TO_UINT64): likewise
37950 * include/grub/memory.h: new file
37951 * mmap/i386/pc/mmap.c: likewise
37952 * mmap/i386/pc/mmap_helper.S: likewise
37953 * mmap/i386/uppermem.c: likewise
37954 * mmap/mmap.c: likewise
37955 * mmap/efi/mmap.c: likewise
7dd4a573 37956 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37957 grub_upper_mem
37958 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37959 (grub_upper_mem): likewise
37960 (grub_machine_init): don't use grub_upper_mem,
37961 make grub_lower_mem local
37962 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37963 grub_mmap_iterate and grub_mmap_get_upper
37964 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37965
d558e6b5 379662009-05-02 Bean <bean123ch@gmail.com>
37967
37968 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37969 script/sh/parser.y.
37970 (pkglib_MODULES): Add normal.mod and sh.mod.
37971 (normal_SOURCES): New variable.
37972 (normal_mod_CFLAGS): Likewise.
37973 (normal_mod_LDFLAGS): Likewise.
37974 (sh_mod_SOURCES): Likewise.
37975 (sh_mod_CFLAGS): Likewise.
37976 (sh_mod_LDFLAGS): Likewise.
37977
37978 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37979 script/sh/lexer.c_DEPENDENCIES.
37980 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37981 kern/rescue_reader.c and kern/rescue_parser.c.
37982 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37983 (grub_emu_SOURCES): Change source files.
37984 (pkglib_MODULES): Remove normal.mod.
37985 (normal_SOURCES): Removed.
37986 (normal_mod_CFLAGS): Likewise.
37987 (normal_mod_LDFLAGS): Likewise.
37988 * conf/i386-coreboot.rmk: Likewise.
37989 * conf/i386-efi.rmk: Likewise.
37990 * conf/i386-ieee1276.rmk: Likewise.
37991 * conf/powerpc-ieee1275.rmk: Likewise.
37992 * conf/sparc64-ieee1275.rmk: Likewise.
37993 * conf/x86_64-efi.rmk: Likewise.
37994
37995 * include/grub/command.h (grub_command_execute): New inline function.
37996
37997 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37998
37999 * include/grub/normal.h: Remove <grub/setjmp.h>.
38000 (grub_fs_module_list): Moved to normal/autofs.c.
38001 (grub_exit_env): Removed.
38002 (grub_command_execute): Likewise.
38003 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38004 parameter script.
38005 (read_command_list): New function declaration.
38006 (read_fs_list): Likewise.
38007
38008 * include/parser.h: Include <grub/reader.h>.
38009 (grub_parser_split_cmdline): Change type of getline parameter.
38010 (grub_parser): New structure.
38011 (grub_parser_class): New variable.
38012 (grub_parser_execute): New function declaration.
38013 (grub_register_rescue_parser): Likewise.
38014 (grub_parser_register): New inline function.
38015 (grub_parser_unregister): Likewise.
38016 (grub_parser_get_current): Likewise.
38017 (grub_parser_set_current): Likewise.
38018
38019 * include/grub/reader.h: New file.
38020 * kern/reader.c: Likewise.
38021 * kern/rescue_parser.c: Likewise.
38022 * kern/rescue_reader.c: Likewise.
38023 * normal/autofs.c: Likewise.
38024 * normal/dyncmd.c: Likewise.
38025
38026 * include/grub/rescue.h: Removed.
38027 * normal/command.h: Likewise.
38028
38029 * include/grub/script.h: Moved to ...
38030 * include/grub/script_sh.h: ... Moved here.
38031 * normal/execute.c: Moved to ...
38032 * script/sh/execute.c: ... Moved here.
38033 * normal/function.c: Moved to ...
38034 * script/sh/function.c: ... Moved here.
38035 * normal/lexer.c: Moved to ...
38036 * script/sh/lexer.c: ... Moved here.
38037 * normal/parser.y: Moved to ...
38038 * script/sh/parser.y: ... Moved here.
38039 * normal/script.c: Moved to ...
38040 * script/sh/script.c: ... Moved here.
38041
38042 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38043 <grub/reader.h>.
38044 (grub_exit_env): Removed.
38045 (fs_module_list): Moved to normal/autofs.c.
38046 (grub_file_getline): Don't handle comment here.
38047 (free_menu): Skip removed field entry->commands.
38048 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38049 script parameter.
38050 (read_config_file): Removed nested parameter, change getline function.
38051 (grub_enter_normal_mode): Removed.
38052 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38053 (read_command_list): Likewise.
38054 (autoload_fs_module): Moved to normal/autofs.c.
38055 (read_fs_list): Likewise.
38056 (reader_nested): New variable.
38057 (grub_normal_execute): Run parser.sh to switch to sh parser.
38058 (grub_cmd_rescue): Removed.
38059 (cmd_normal): Removed.
38060 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38061 rescue command.
38062 (grub_cmdline_run): New function.
38063 (grub_normal_reader_init): Likewise.
38064 (grub_normal_read_line): Likewise.
38065 (grub_env_write_pager): Likewise.
38066 (cmdline): New variable.
38067 (grub_normal_reader): Likewise.
38068 (GRUB_MOD_INIT): Register normal reader and set as current, register
38069 pager hook, register normal command with grub_register_command_prio,
38070 so that it won't show up in command.lst.
38071 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38072 grub_fs_autoload_hook.
38073
38074 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38075 (grub_menu_execute_entry): Replace grub_script_execute with
38076 grub_parser_execute, change parameter to grub_command_execute.
38077
38078 * normal/menu_text.c: Remove <grub/script.h>.
38079
38080 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38081 and <grub/parser.h>.
38082 (run): Change editor_getline to use new parser interface. Change
38083 parameter to grub_command_execute.
38084
38085 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38086 <grub/reader.h> and <grub/parser.h>.
38087 (grub_load_normal_mode): Execute normal command.
38088 (grub_main): Call grub_register_core_commands,
38089 grub_register_rescue_parser and grub_register_rescue_reader, use
38090 grub_reader_loop to enter input loop.
38091
7dd4a573 38092 * kern/parser.c (grub_parser_split_cmdline): Change type of
38093 getline parameter.
d558e6b5 38094 (grub_parser_class): New variable.
38095 (grub_parser_execute): New function.
38096
38097 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38098 * loader/multiboot2.c: Likewise.
38099 * loader/sparc64/ieee1275/linux.c: Likewise.
38100
38101 * util/grub-emu.c (read_command_list): New dummy function.
38102
18db813d 381032009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38104
38105 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38106 count to 16 for CCISS and IDA.
38107
6c67de15 381082009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38109
38110 * normal/menu_text.c (grub_wait_after_message): Print a newline
38111 after waiting for user input.
38112
38113 * loader/i386/linux.c: Include `<grub/normal.h>'.
38114 (grub_cmd_linux): Improve the error message about `ask' mode, by
38115 waiting for user input so it's not missed (we can do this, since
38116 user requested interaction).
38117
d9dc87b0 381182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38119
38120 Added missing lst to grub-mkrescue
38121
38122 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38123 and ${input_dir}/parttool.lst
38124
ac8a2baa 381252009-04-30 David S. Miller <davem@davemloft.net>
38126
ad22a610 38127 * util/hostdisk.c (device_is_wholedisk): New function.
38128 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38129 zero only if device_is_wholedisk() returns true.
38130
6966215d 38131 * util/hostdisk.c (convert_system_partition_to_system_disk):
38132 Handle virtual disk devices named /dev/vdiskX as found on sparc
38133 and powerpc.
38134
ac8a2baa 38135 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38136 lettered partition specifier is found, convert to numbered.
38137
979b4fb4 381382009-04-29 David S. Miller <davem@davemloft.net>
38139
e2bf39b2 38140 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38141 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38142
3c64e104 38143 * normal/command.c: Add missing newline at end of file.
38144
979b4fb4 38145 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38146 warnings.
38147 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38148 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38149 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38150 ihandles have a 32-bit type but need to be stored in a "void *".
38151
136d9f82 381522009-04-28 Pavel Roskin <proski@gnu.org>
38153
9459c306 38154 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38155 not disk. Adjust all dependencies.
2e08a26a 38156 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38157 grub_disk_close().
38158
136d9f82 38159 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38160 parent's partition, don't copy it by reference, as it gets freed
38161 on close.
38162
7dd4a573 381632009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38164
38165 Preboot hooks support
38166
38167 * commands/boot.c (struct grub_preboot_t): new declaration
38168 (preboots_head): new variable
38169 (preboots_tail): likewise
38170 (grub_loader_register_preboot_hook): new function
38171 (grub_loader_unregister_preboot_hook): likewise
38172 (grub_loader_set): launch preboot hooks
38173 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38174 (grub_loader_register_preboot_hook): new declaration
38175 (grub_loader_unregister_preboot_hook): likewise
38176
5af922b5 381772009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38178
38179 Warning fix
38180
7dd4a573 38181 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38182 calling grub_dprintf
38183
a5562c30 381842009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38185
38186 Bug and warning fixes
38187
7dd4a573 38188 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38189 declaration
38190 * commands/test.c (test_parse): fixed bug with file tests and corrected
38191 declaration of find_file
38192
4006f85c 381932009-04-26 Pavel Roskin <proski@gnu.org>
38194
38195 * Makefile.in: Don't install empty manual pages if help2man is
38196 missing. Use help2man option for output, not shell redirection.
38197
5c77c3de 381982009-04-26 David S. Miller <davem@davemloft.net>
38199
38200 * util/grub-mkdevicemap.c (make_device_map): Add missing
38201 NESTED_FUNC_ATTR to process_device().
38202
033b10a8 382032009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38204
38205 Test command
38206
38207 * commands/test.c: rewritten to use bash-like test
38208
e4343593 382092009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38210
38211 Parttool autoloading and improvements
38212
7dd4a573 38213 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38214 (parttool.lst): new target
38215 * genmk.rb: generate parttool-*
38216 (CLEANFILES): add #{parttool}
38217 (PARTTOOLFILES): new variable
38218 * genparttoollist.sh: new file
7dd4a573 38219 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38220 (grub_pcpart_type): likewise
38221 * commands/parttool.c (helpmsg): new variable
38222 (grub_cmd_parttool): output help if not enough arguments are supplied
38223 autoload modules
38224 (GRUB_MOD_INIT(parttool)): use helpmsg
38225
0d312500 382262009-04-24 David S. Miller <davem@davemloft.net>
38227
7dd4a573 38228 Avoiding opening same device multiple times in device iterator.
0d312500 38229
38230 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38231 and use it to build a list of partitions in iterate_disk() and
0d312500 38232 iterate_partition().
38233
ac20caff 38234 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38235 on disk->data.
38236
0dcf7495 38237 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38238 grub_devalias_iterate() result instead of unconditional 0.
38239 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38240 Also, capture hook return value, either directly or via
38241 grub_children_iterate(), and propagate to caller.
38242 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38243 grub_children_iterate): Return value is now 'int' instead of
38244 'grub_err_t'.
38245 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38246 like a proper iterator, stopping when hooks return non-zero.
38247 (grub_devalias_iterate): Likewise.
38248
c8c08833 382492009-04-23 David S. Miller <davem@davemloft.net>
38250
38251 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38252
f01005a8 382532009-04-22 David S. Miller <davem@davemloft.net>
38254
38255 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38256 is larger than address_cells, use that value for address_cells too.
38257
4e8269da 38258 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38259 IEEE1275_MAX_PATH_LEN): Define.
38260 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38261 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38262 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38263 'devtype'. Explicitly NULL terminate devalias expansion.
38264
a1447506 38265 * util/sparc64/ieee1275/misc.c: New file.
38266 * util/sparc64/ieee1275/grub-setup.c: New file.
38267 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38268 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38269 * util/sparc64/ieee1275/grub-install.in: New file.
38270 * util/ieee1275/ofpath.c: New file.
38271 * util/ieee1275/devicemap.c: New file.
38272 * util/devicemap.c: New file.
38273 * util/deviceiter.c: New file.
38274 * kern/sparc64/ieee1275/init.c: New file.
38275 * include/grub/util/ofpath.h: New file.
38276 * include/grub/util/deviceiter.h: New file.
38277 * util/grub-mkdevicemap.c: Include deviceiter.h.
38278 Implement using grub_util_emit_devicemap_entry and
38279 grub_util_iterate_devices.
38280 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38281 util/devicemap.c into grub-mkdevicemap
38282 * conf/i386-efi.rmk: Likewise.
38283 * conf/i386-ieee1275.rmk: Likewise.
38284 * conf/i386-pc.rmk: Likewise.
38285 * conf/powerpc-ieee1275.rmk: Likewise.
38286 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38287 images and installation utilities. Build kernel as image
38288 instead of as elf binary. Use common rules as much as possible.
38289
7dd4a573 382902009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38291
38292 Correct GPT definition
38293
7dd4a573 38294 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38295 of "attrib" member
38296
c6c5219f 382972009-04-19 Felix Zielcke <fzielcke@z-51.de>
38298
38299 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38300
0552ff9f 383012009-04-19 David S. Miller <davem@davemloft.net>
38302
38303 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38304 (grub_rescue_cmd_linux): Rename to...
38305 (grub_cmd_linux): and fix prototype.
38306 (grub_rescue_cmd_initrd): Rename to...
38307 (grub_cmd_initrd): and fix prototype.
38308 (cmd_linux, cmd_initrd): New.
38309 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38310 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38311
d1a282fc 383122009-04-17 Pavel Roskin <proski@gnu.org>
38313
07c5039f 38314 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38315 format.
38316 (grub_ohci_transfer): Likewise.
38317
b012002d 38318 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38319
1bc09c35 38320 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38321 return without a value. Fix inconsistent indentation.
38322
e0ff9126 38323 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38324 match struct grub_fs.
38325
d1a282fc 38326 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38327 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38328 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38329 * commands/lspci.c (grub_lspci_iter): Likewise.
38330
a96df3f2 383312009-04-16 Bean <bean123ch@gmail.com>
38332
38333 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38334 value.
38335
41bb0fe9 383362009-04-15 Pavel Roskin <proski@gnu.org>
38337
38338 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38339 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38340 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38341 definitions.
38342
596c6970 383432009-04-15 Felix Zielcke <fzielcke@z-51.de>
38344
38345 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38346 that no multiple data or metadata areas are supported and `Unknown
596c6970 38347 metadata header'.
38348
7dd4a573 383492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38350
38351 Move loader out of the kernel
38352
38353 * kern/loader.c: moved to ...
38354 * commands/boot.c: ... moved here
38355 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38356 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38357 * include/grub/kernel.h (grub_machine_fini): export
38358 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38359 (grub_loader_set): likewise
38360 (grub_loader_unset): likewise
38361 (grub_loader_boot): likewise
38362 * conf/common.rmk: new module boot.mod
38363 (pkglib_MODULES): add boot.mod
38364 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38365 (grub_emu_SOURCES): likewise
38366 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38367 (grub_emu_SOURCES): likewise
38368 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38369 (grub_emu_SOURCES): likewise
38370 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38371 (grub_emu_SOURCES): likewise
38372 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38373 (grub_emu_SOURCES): likewise
7dd4a573 38374 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38375 (grub_emu_SOURCES): likewise
0d5d5653 38376 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38377 (grub_emu_SOURCES): likewise
0d5d5653 38378
7dd4a573 383792009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38380
38381 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38382
5999d619 38383 * kern/misc.c (grub_itoa): Removed function
38384 (grub_ltoa): likewise
38385 (grub_vsprintf): use grub_lltoa
38386
7dd4a573 383872009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38388
38389 Restore grub-emu
38390
38391 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38392 * conf/i386-coreboot.rmk: likewise
38393 * conf/i386-ieee1275.rmk: likewise
38394 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38395
20318222 383962009-04-15 Felix Zielcke <fzielcke@z-51.de>
38397
38398 * INSTALL: Add that `./autogen.sh' needs to be run before
38399 `./configure.'.
38400
d05f0df3 384012009-04-14 Bean <bean123ch@gmail.com>
38402
38403 * Makefile.in (pkglib_DATA): Add handler.lst.
38404 (handler.lst): New rule.
38405
38406 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38407 * conf/i386-coreboot.rmk: Likewise.
38408 * conf/i386-ieee1275.rmk: Likewise.
38409 * conf/i386-efi.rmk: Likewise.
38410 * conf/x86_64-efi.rmk: Likewise.
38411 * conf/powerpc-ieee1275.rmk: Likewise.
38412 * conf/sparc64-ieee1275.rmk: Likewise.
38413
38414 * genhandlerlist.sh: New file.
38415
38416 * genmk.rb: Add rules to generate handler.lst.
38417
38418 * include/grub/normal.h (grub_file_getline): New function definition.
38419 (read_handler_list): Likewise.
38420 (free_handler_list): Likewise.
38421
38422 * include/grub/term.h (grub_term_register_input): Add name parameter
38423 for auto generation of handler.lst.
38424 (grub_term_register_output): Likewise.
38425
38426 * normal/handler.c: New file.
38427
38428 * normal/main.c (get_line): Renamed to grub_file_getline.
38429 (read_config_file): Use the newly renamed grub_file_getline.
38430 (read_command_list): Likewise.
38431 (read_fs_list): Likewise.
38432 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38433 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38434
38435 * term/efi/console.c (grub_console_init): Add name parameter for auto
38436 generation of handler.lst.
38437 * term/gfxterm.c: Likewise.
38438 * term/i386/pc/at_keyboard.c: Likewise.
38439 * term/i386/pc/console.c: Likewise.
38440 * term/i386/pc/serial.c: Likewise.
38441 * term/i386/pc/vesafb.c: Likewise.
38442 * term/i386/pc/vga.c: Likewise.
38443 * term/i386/pc/vga_text.c: Likewise.
38444 * term/ieee1275/ofconsole.c: Likewise.
38445 * term/usb_keyboard.c: Likewise.
38446
33c846be 384472009-04-14 Bean <bean123ch@gmail.com>
38448
38449 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38450 properly with null character.
38451
4484e01e 384522009-04-14 Felix Zielcke <fzielcke@z-51.de>
38453
38454 * configure: Remove.
38455 * config.h.in: Likewise.
f93d668e 38456 * stamp-h.in: Likewise.
4484e01e 38457 * DISTLIST: Likewise.
38458 * conf/common.mk: Likewise.
38459 * conf/i386-coreboot.mk: Likewise.
38460 * conf/i386-efi.mk: Likewise.
38461 * conf/i386-ieee1275.mk: Likewise.
38462 * conf/i386.mk: Likewise.
38463 * conf/i386-pc.mk: Likewise.
38464 * conf/powerpc-ieee1275.mk: Likewise.
38465 * conf/sparc64-ieee1275.mk: Likewise.
38466 * conf/x86_64-efi.mk: Likewise.
38467
38468 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38469 develop on GRUB.
38470
7dd4a573 384712009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38472 David S. Miller <davem@davemloft.net>
38473
38474 * util/hostdisk.c (make_device_name): Fix buffer length
38475 calculations.
38476
e25b5a8c 384772009-04-14 Felix Zielcke <fzielcke@z-51.de>
38478
38479 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38480 <sys/param.h> and <sys/sysctl.h>.
38481 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38482 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38483 opening the device and reset them afterwards.
38484
1f1f580c 384852009-04-13 Pavel Roskin <proski@gnu.org>
38486
38487 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38488 Reported by John Stanley <jpsinthemix@verizon.net>
38489
7ebc2d6b 384902009-04-13 Robert Millan <rmh@aybabtu.com>
38491
38492 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38493 that name for menuentries when appropriate.
7ebc2d6b 38494
d8ba3667 384952009-04-13 Felix Zielcke <fzielcke@z-51.de>
38496
38497 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38498
cba416eb 384992009-04-13 Robert Millan <rmh@aybabtu.com>
38500
38501 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38502 to Linux, simply abort telling the user it's no longer supported.
38503
a547a745 385042009-04-13 Felix Zielcke <fzielcke@z-51.de>
38505
38506 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38507 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38508 `freebsd_loadenv' only when devices.hints exist.
38509
232a769c 385102009-04-13 Pavel Roskin <proski@gnu.org>
38511
38512 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38513
c3012039 385142009-04-13 Felix Zielcke <fzielcke@z-51.de>
38515
38516 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38517 partition number.
38518 (grub_drive): Likewise.
38519
234022fe 385202009-04-13 David S. Miller <davem@davemloft.net>
38521
38522 * kern/sparc64/ieee1275/ieee1275.c: New file.
38523 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38524 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38525 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38526 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38527 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38528 grub_ieee1275_alloc_physmem): Declare new exported functions.
38529
d8e1836c 38530 * include/grub/sparc64/ieee1275/loader.h: New file.
38531 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38532 * include/grub/sparc64/kernel.h: Likewise.
38533 * loader/sparc64/ieee1275/linux.c: Likewise.
38534
96bd81ec 38535 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38536 (grub_fstest_SOURCES): Likewise.
38537
6a4737e5 38538 * util/hostdisk.c (make_device_name): Do not make any assumptions
38539 about the length of drive names.
38540
1d7a72fd 38541 * kern/dl.c (grub_dl_load_file): Close file immediately when
38542 we are done using it.
38543
56bc2471 385442009-04-12 David S. Miller <davem@davemloft.net>
38545
38546 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38547 values. Noticed by Pavel Roskin.
38548
df38d0bb 38549 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38550 target compiler.
7dd4a573 38551
e382e93a 38552 * genmk.rb: Add more flexible image type specification, also
38553 pass --strip-unneeded to objcopy.
38554 * conf/i386-pc.rmk: Use *_FORMAT.
38555 * conf/i386-pc.mk: Rebuilt.
38556
f5dbbca9 38557 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38558 (OFDISK_HASH_SZ): Define.
38559 (ofdisk_hash): New hash table.
38560 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38561 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38562 instead of device phandle which is not unique.
38563
91c88b12 38564 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38565 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38566 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38567 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38568 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38569 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38570 GRUB_KERNEL_MACHINE_DATA_END): Define.
38571 (grub_kernel_image_size, grub_total_module_size): Declare.
38572
5b5d4aa5 385732009-04-12 Pavel Roskin <proski@gnu.org>
38574
7dd4a573 38575 * configure.ac: Change the logic when we check for target tools.
38576 Do it when the target is specified and it's different from the
38577 specified value of the host.
5b5d4aa5 38578
c91e1793 385792009-04-11 Felix Zielcke <fzielcke@z-51.de>
38580
38581 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38582 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38583 GNU/kFreeBSD. Check if a device is a character device. Use
38584 DIOCGMEDIASIZE to get the size.
38585 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38586 support for GNU/kFreeBSD.
38587 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38588 is a character device instead of a block device. Add support for
38589 FreeBSD device names.
38590
38591 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38592 is a character device instead of a block device.
38593
38594 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38595 is a character device instead of a block device.
38596
b1ac8644 385972009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38598
38599 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38600 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38601 FreeBSD. Check if a device is a character device. Use
38602 DIOCGMEDIASIZE to get the size.
38603 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38604 support for FreeBSD.
38605 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38606 is a character device instead of a block device. Add support for
38607 FreeBSD device names.
38608
38609 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38610 a character device instead of a block device.
38611 (grub_util_check_char_device): New function.
38612
38613 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38614 a character device instead of a block device.
38615
38616 * include/grub/util/getroot.h (grub_util_check_char_device): New
38617 prototype.
38618
a3f7515a 386192009-04-11 David S. Miller <davem@davemloft.net>
38620
38621 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38622 static libgcc.
38623 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38624 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38625 function, if present.
38626 (__bswapdi2): Likewise.
38627
0d44993d 38628 * include/grub/sparc64/ieee1275/boot.h: New file.
38629 * boot/sparc64/ieee1275/boot.S: Likewise.
38630 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38631
ed3d2bc2 38632 * kern/misc.c (grub_ltoa): New function.
38633 (grub_vsprintf): Use it to format 'long' integers.
38634
d3bfb59c 386352009-04-10 David S. Miller <davem@davemloft.net>
38636
38637 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38638 slots are of type grub_ieee1275_cell_t.
38639 (grub_nand_read): Likewise.
38640 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38641 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38642 macros are used to compare values in arg/ret block of the call.
38643 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38644 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38645 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38646 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38647 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38648 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38649 grub_ieee1275_close, grub_ieee1275_set_property,
38650 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38651 grub_ieee1275_cell_t.
38652 * kern/ieee1275/openfw.c (grub_map): Likewise.
38653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38654 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38655
450e2238 38656 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38657 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38658 (grub_devalias_iterate): Likewise.
38659
7dd4a573 386602009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38661
38662 UFS improvements
38663
38664 * fs/ufs.c (INODE_NBLOCKS): new definition
38665 (struct grub_ufs_dirent): added fields for non-BSD dirents
38666 (grub_ufs_get_file_block): fixed double indirect handling
38667 (grub_ufs_lookup_symlink): use more robust way to determine whether
38668 symlink is inline
38669 (grub_ufs_find_file): support for non-BSD dirents
38670 (grub_ufs_dir): support for non-BSD dirents
38671
e7e6862a 386722009-04-10 Bean <bean123ch@gnail.com>
38673
38674 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38675 attribute, otherwise the size would be wrong for i386 platform.
38676
38677 * include/grub/pci.h (grub_pci_read_word): New inline function.
38678 (grub_pci_read_byte): Likewise.
38679 (grub_pci_write): Likewise.
38680 (grub_pci_write_word): Likewise.
38681 (grub_pci_write_byte): Likewise.
38682
38683 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38684
38685 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38686 (find_framebuf): Scan pci to locate the frame buffer address.
38687
38688 * commands/efi/fixvideo.c: New file.
38689
38690 * commands/efi/loadbios.c: Likewise.
38691
38692 * commands/memrw.c: Likewise.
38693
38694 * util/grub-dumpbios.in: Likewise.
38695
38696 * conf/common.rmk (grub-dumpbios): New utility.
38697 (pkglib_MODULES): New module memrw.mod.
38698 (memrw_mod_SOURCE): New macro.
38699 (memrw_mod_CFLAGS): Likewise.
38700 (memrw_mod_LDFLAGS): Likewise.
38701
7dd4a573 38702 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38703 fixvideo.mod.
38704 (loadbios_mod_SOURCE): New macro.
38705 (loadbios_mod_CFLAGS): Likewise.
38706 (loadbios_mod_LDFLAGS): Likewise.
38707 (fixvideo_mod_SOURCE): Likewise.
38708 (fixvideo_mod_CFLAGS): Likewise.
38709 (fixvideo_mod_LDFLAGS): Likewise.
38710
7dd4a573 38711 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38712 fixvideo.mod.
38713 (loadbios_mod_SOURCE): New macro.
38714 (loadbios_mod_CFLAGS): Likewise.
38715 (loadbios_mod_LDFLAGS): Likewise.
38716 (fixvideo_mod_SOURCE): Likewise.
38717 (fixvideo_mod_CFLAGS): Likewise.
38718 (fixvideo_mod_LDFLAGS): Likewise.
38719
af63ada2 387202009-04-08 Felix Zielcke <fzielcke@z-51.de>
38721
38722 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38723
c2cdde70 387242009-04-07 David S. Miller <davem@davemloft.net>
38725
38726 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38727 support for R_SPARC_OLO10 relocations. Fix compile warning for
38728 R_SPARC_WDISP30 case.
ea3f72cf 38729 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38730
761319cf 387312009-04-06 Pavel Roskin <proski@gnu.org>
38732
1007d1f5 38733 * include/grub/misc.h (ARRAY_SIZE): New macro.
38734 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38735 New macro.
38736 * loader/i386/linux.c (allocate_pages): Use free_pages().
38737 (grub_linux_unload): Don't use free_pages().
38738 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38739 wrong index. Treat all other modes as text modes.
38740 (grub_cmd_linux): Initialize vid_mode unconditionally to
38741 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38742
761319cf 38743 * commands/help.c (print_command_help): Use cmd->prio, not
38744 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38745
ea761d40 387462009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38747
ea761d40 38748 Parttool
38749
38750 * parttool/pcpart.c: new file
38751 * commands/parttool.c: likewise
38752 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38753 (parttool_mod_SOURCES): new variable
38754 (parttool_mod_CFLAGS): likewise
38755 (parttool_mod_LDFLAGS): likewise
38756 (pcpart_mod_SOURCES): likewise
38757 (pcpart_mod_CFLAGS): likewise
38758 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38760 and parttool/pcpart.c
38761 * conf/i386-efi.rmk: likewise
38762 * conf/i386-ieee1275.rmk: likewise
38763 * conf/i386-pc.rmk: likewise
38764 * conf/powerpc-ieee1275.rmk: likewise
38765 * conf/sparc64-ieee1275.rmk: likewise
38766 * conf/x86_64-ieee1275.rmk: likewise
38767
05aaebfb 387682009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38769
38770 Support for mtime and further expandability of dir command
38771
38772 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38773 * include/grub/datetime.h: ... moved here and added
05aaebfb 38774 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38775 * include/grub/fs.h: new syntax for dir and mtime functions in
38776 struct grub_fs
05aaebfb 38777 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38778 and GRUB_FSHELP_FLAGS_MASK
38779 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38780 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38781 (grub_ext2_mtime): new function
38782 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38783 (grub_hfsplus_mtime): new function
38784 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38785 (GRUB_UFS_ATTR_FILE): likewise
38786 (GRUB_UFS_ATTR_LNK): likewise
38787 (struct grub_ufs_sblock): new fields mtime
38788 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38789 all users updated
38790 (grub_ufs_dir): mtime support
38791 (grub_ufs_mtime): new function
38792 * fs/affs.c (grub_affs_dir): use new dir syntax
38793 * fs/afs.c (grub_afs_dir): likewise
38794 * fs/cpio.c (grub_cpio_dir): likewise
38795 * fs/fat.c (grub_fat_find_dir): likewise
38796 * fs/hfs.c (grub_hfs_dir): likewise
38797 * fs/iso9660.c (grub_iso9660_dir): likewise
38798 * fs/jfs.c (grub_jfs_dir): likewise
38799 * fs/minix.c (grub_minix_dir): likewise
38800 * fs/ntfs.c (grub_ntfs_dir): likewise
38801 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38802 * fs/sfs.c (grub_sfs_dir): likewise
38803 * fs/xfs.c (grub_xfs_dir): likewise
38804 * util/hostfs.c (grub_hostfs_dir): likewise
38805 * lib/datetime.c: moved to ...
38806 * normal/datetime.c: ... moved here
38807 (grub_unixtime2datetime): new function
38808 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38809 * normal/completion.c (iterate_dir): use new dir syntax
38810 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38811 last modification time of a volume
7dd4a573 38812 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38813 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38815 (normal_mod_SOURCES): likewise
38816 (datetime_mod_SOURCES): Removed lib/datetime.c
38817 * conf/i386-efi.rmk: likewise
7dd4a573 38818 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38819 * conf/i386-pc.rmk: likewise
38820 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38821 * conf/sparc64-ieee1275.rmk: likewise
38822 * conf/x86_64-efi.rmk: likewise
05aaebfb 38823
8a7e1a14 388242009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38825
38826 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38827
38828 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38829 on grub_fat_find_dir
38830 (grub_fat_find_dir): use grub_fat_iterate_dir
38831 (grub_fat_label): likewise
38832
04186a9c 388332009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38834
7dd4a573 38835 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38836 and command.h
38837 remove extraneous kernel_elf_HEADERS
38838
da4c0bb6 388392009-04-04 Bean <bean123ch@gnail.com>
38840
38841 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38842
38843 * util/misc.c: Likewise.
38844
54ad9555 388452009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38846
38847 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38848 instead of grub_printf.
38849
7a6bf9f2 388502009-04-03 Robert Millan <rmh@aybabtu.com>
38851
38852 * loader/i386/linux.c (grub_linux_setup_video): Fill
38853 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38854 values from `mode info' structure instead of hardcoded
38855 values.
38856
3fcc2083 388572009-04-01 Pavel Roskin <proski@gnu.org>
38858
38859 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38860 unused now.
38861 * genmk.rb: Likewise.
38862 * configure.ac: Likewise.
38863
5ec9740b 388642009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38865
38866 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38867 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38868
5270cec8 388692009-04-01 David S. Miller <davem@davemloft.net>
38870
38871 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38872 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38873 (grub_setjmp): Mark with 'returns_twice' attribute.
38874 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38875 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38876 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38877
9c3dd854 388782009-04-01 Robert Millan <rmh@aybabtu.com>
38879
38880 Reapply fix from 2008-07-28 which was accidentally reverted; also
38881 perform the same fix to a similar check in same function.
38882
38883 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38884 with the same number are found, just use issue a warning with
38885 grub_dprintf(), as this error has been reported to be non-fatal.
38886
0d818b7e 388872009-03-31 Pavel Roskin <proski@gnu.org>
38888
38889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38890 for cross-compilation.
38891
95646d92 388922009-03-30 Robert Millan <rmh@aybabtu.com>
38893
38894 Fix i386-ieee1275 build.
38895
38896 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38897 Remove declaration.
38898
6a003ed1 388992009-03-30 Pavel Roskin <proski@gnu.org>
38900
38901 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38902 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38903 zero-terminated, rely only on the strlen value. Fix comparison
38904 of strings differing in length.
38905
92f33540 389062009-03-30 Robert Millan <rmh@aybabtu.com>
38907
38908 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38909 checking for abi version. Improve error messages on BIOS to notify
38910 user about `linux16' command.
38911
a8c48fd5 389122009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38913
f968172e 38914 Leak fixes
a8c48fd5 38915
f968172e 38916 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38917 in case of collision
38918 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38919
9c323f09 389202009-03-29 Robert Millan <rmh@aybabtu.com>
38921
38922 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38923 set `vid_mode' accordingly.
38924 (grub_linux_boot): Process `vid_mode' and set video mode.
38925
ae68f423 389262009-03-29 Robert Millan <rmh@aybabtu.com>
38927
38928 * util/grub.d/10_linux.in (linux_entry): New function.
38929 Factorize generation of Linux boot entries.
38930
5709cfc4 389312009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38932
38933 Make the format of Environment Block plain text. The boot loader
38934 part is not tested well yet.
7dd4a573 38935
5709cfc4 38936 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38937 (buffer): Removed.
38938 (envblk): Likewise.
38939 (usage): Remove "info" and "clear". Add "unset". Update the
38940 description of "set", as this does not delete variables any
38941 longer.
38942 (create_envblk_file): Complete rewrite.
38943 (open_envblk_file): Likewise.
38944 (cmd_info): Removed.
38945 (cmd_list): Likewise.
38946 (cmd_set): Likewise.
38947 (cmd_clear): Likewise.
38948 (list_variables): New function.
38949 (write_envblk): Likewise.
38950 (set_variables): Likewise.
38951 (unset_variables): Likewise.
38952 (main): Complete rewrite.
38953
38954 * commands/loadenv.c (buffer): Removed.
38955 (envblk): Likewise.
38956 (open_envblk_file): New function.
38957 (read_envblk_file): Complete rewrite.
38958 (grub_cmd_load_env): Likewise.
38959 (grub_cmd_list_env): Likewise.
38960 (struct blocklist): New struct.
38961 (free_blocklists): New function.
38962 (check_blocklists): Likewise.
38963 (write_blocklists): Likewise.
38964 (grub_cmd_save_env): Complete rewrite.
38965
38966 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38967 a plain text signature.
38968 (GRUB_ENVBLK_MAXLEN): Removed.
38969 (struct grub_envblk): Complete rewrite.
38970 (grub_envblk_find): Removed.
38971 (grub_envblk_insert): Likewise.
38972 (grub_envblk_open): New prototype.
38973 (grub_envblk_set): Likewise.
38974 (grub_envblk_delete): Put const to VALUE.
38975 (grub_envblk_iterate): Put const to NAME and VALUE.
38976 (grub_envblk_close): New prototype.
38977 (grub_envblk_buffer): New inline function.
38978 (grub_envblk_size): Likewise.
38979
38980 * lib/envblk.c: Include grub/mm.h.
38981 (grub_env_find): Removed.
38982 (grub_envblk_open): New function.
38983 (grub_envblk_close): Likewise.
38984 (escaped_value_len): Likewise.
38985 (find_next_line): Likewise.
38986 (grub_envblk_insert): Removed.
38987 (grub_envblk_set): New function.
38988 (grub_envblk_delete): Complete rewrite.
38989 (grub_envblk_iterate): Likewise.
38990
a9368fd3 389912009-03-28 Robert Millan <rmh@aybabtu.com>
38992
38993 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38994 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38995 variables. Use 16-bit loader.
38996 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38997 loader.
38998 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38999 (grub_linux16_boot): ... this. Update all users.
39000 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39001 (grub_linux_boot): ... this. Update all users.
39002
39003 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39004 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39005 commands to `linux16' and `initrd16'.
39006 (GRUB_MOD_FINI(linux)): Rename to ...
39007 (GRUB_MOD_FINI(linux16)): ... this.
39008
e4dd5a7e 390092009-03-24 Pavel Roskin <proski@gnu.org>
39010
39011 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39012 not just for compilation.
39013
c04d6e05 390142009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39015
39016 Move multiboot helper out of kernel
39017
39018 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39019 `loader/i386/multiboot_helper.S'.
39020 * conf/i386-coreboot.rmk: Likewise
39021 * conf/i386-ieee1275.rmk: Likewise
39022
39023 * kern/i386/loader.S: Move multiboot helpers from here...
39024 * loader/i386/multiboot_helper.S: ...moved here
39025 * include/grub/i386/loader.h: Move declarations of multiboot
39026 helpers from here...
39027 * include/grub/i386/multiboot.h: ...moved here
39028 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39029
42a5b3fc 390302009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39031
39032 * kern/env.c (grub_env_context_open): Added an argument to specify
39033 whether a new context inherits exported variables from current
39034 one. This is useful when making a sandbox to interpret a config
39035 file.
39036 All callers updated.
39037
39038 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39039
b28bbc4e 390402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39041
39042 * kern/env.c (grub_env_context_close): Fix memory leaks.
39043
f04f02e4 390442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39045
39046 * normal/main.c (grub_normal_execute): Added an argument
39047 BATCH to specify if an interactive interface should be provided
39048 after reading a config file.
39049 All callers updated.
39050 (read_command_list): Prevent being executed twice.
39051 (read_fs_list): Likewise.
39052
42a5b3fc 39053 * include/grub/normal.h (grub_normal_execute): Updated the
39054 prototype.
f04f02e4 39055
41473ac2 390562009-03-22 Pavel Roskin <proski@gno.org>
39057
fbc00b0c 39058 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39059 _start.
39060 * kern/i386/pc/startup.S: Likewise.
39061 * kern/i386/efi/startup.S: Likewise.
39062 * kern/i386/ieee1275/startup.S: Likewise.
39063 * kern/i386/coreboot/startup.S: Likewise.
39064 * kern/x86_64/efi/startup.S: Likewise.
39065
41473ac2 39066 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39067 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39068 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39069
2274cc8f 390702009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39071
39072 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39073
39074 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39075 limit detection.
39076 Use vaddr of correct segment for entry_point.
39077
b1b797cb 390782009-03-21 Bean <bean123ch@gmail.com>
39079
39080 * commands/blocklist.c: Add include file <grub/command.h>, remove
39081 <grub/normal.h> and <grub/arg.h>.
39082 (grub_cmd_blocklist): Use the new command interface.
39083 (GRUB_MOD_INIT): Likewise.
39084 (GRUB_MOD_FINI): Likewise.
39085 * commands/boot.c: Likewise.
39086 * commands/cat.c: Likewise.
39087 * commands/cmp.c: Likewise.
39088 * commands/configfile.c: Likewise.
39089 * commands/crc.c: Likewise.
39090 * commands/echo.c: Likewise.
39091 * commands/halt.c: Likewise.
39092 * commands/handler.c: Likewise.
39093 * commands/hdparm.c: Likewise.
39094 * commands/help.c: Likewise.
39095 * commands/hexdump.c: Likewise.
39096 * commands/loadenv.c: Likewise.
39097 * commands/ls.c: Likewise.
39098 * commands/lsmmap.c: Likewise.
39099 * commands/lspci.c: Likewise.
39100 * commands/loadenv.c: Likewise.
39101 * commands/read.c: Likewise.
39102 * commands/reboot.c: Likewise.
39103 * commands/search.c: Likewise.
39104 * commands/sleep.c: Likewise.
39105 * commands/test.c: Likewise.
39106 * commands/usbtest.c: Likewise.
39107 * commands/videotest.c: Likewise.
39108 * commands/i386/cpuid.c: Likewise.
39109 * commands/i386/pc/halt.c: Likewise.
39110 * commands/i386/pc/play.c: Likewise.
39111 * commands/i386/pc/pxecmd.c: Likewise.
39112 * commands/i386/pc/vbeinfo.c: Likewise.
39113 * commands/i386/pc/vbetest.c: Likewise.
39114 * commands/ieee1275/suspend.c: Likewise.
39115 * disk/loopback.c: Likewise.
39116 * font/font_cmd.c: Likewise.
39117 * hello/hello.c: Likewise.
39118 * loader/efi/appleloader.c: Likewise.
39119 * loader/efi/chainloader.c: Likewise.
39120 * loader/i386/bsd.c: Likewise.
39121 * loader/i386/efi/linux.c: Likewise.
39122 * loader/i386/ieee1275/linux.c: Likewise.
39123 * loader/i386/linux.c: Likewise.
39124 * loader/i386/pc/chainloader.c: Likewise.
39125 * loader/i386/pc/linux.c: Likewise.
39126 * loader/powerpc/ieee1275/linux.c: Likewise.
39127 * loader/multiboot_loader.c: Likewise.
39128 * term/gfxterm.c: Likewise.
39129 * term/i386/pc/serial.c: Likewise.
39130 * term/terminfo.c: Likewise.
39131
39132 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39133 * term/i386/pc/vga.c: Likewise.
39134 * video/readers/jpeg.c: Likewise.
39135 * video/readers/png.c: Likewise.
39136 * video/readers/tga.c: Likewise.
39137
39138 * util/grub-fstest (cmd_loopback): Removed.
39139 (cmd_blocklist): Likewise.
39140 (cmd_ls): Likewise.
39141 (grub_register_command): Likewise.
39142 (grub_unregister_command): Likewise.
39143 (execute_command): Use grub_command_find to locate command and execute
39144 it.
39145
39146 * include/grub/efi/chainloader.h: Removed.
39147 * loader/efi/chainloader_normal.c: Likewise.
39148 * loader/i386/bsd_normal.c: Likewise.
39149 * loader/i386/pc/chainloader_normal.c: Likewise.
39150 * loader/i386/pc/multiboot_normal.c: Likewise.
39151 * loader/linux_normal.c: Likewise.
39152 * loader/multiboot_loader_normal.c: Likewise.
39153 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39154
39155 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39156 and grub_register_command_p1.
39157
39158 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39159 kern/command.c, lib/arg.c and commands/extcmd.c.
39160 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39161 (minicmd_mod_SOURCES): New variable.
39162 (minicmd_mod_CFLAGS): Likewise.
39163 (minicmd_mod_LDFLAGS): Likewise.
39164 (extcmd_mod_SOURCES): Likewise.
39165 (extcmd_mod_CFLAGS): Likewise.
39166 (extcmd_mod_LDFLAGS): Likewise.
39167 (boot_mod_SOURCES): Removed.
39168 (boot_mod_CFLAGS): Likewise.
39169 (boot_mod_LDFLAGS): Likewise.
39170
39171 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39172 kern/corecmd.c.
39173 (kernel_img_HEADERS): Add command.h.
39174 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39175 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39176 and lib/arg.c.
39177 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39178 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39179 remove the corresponding normal mode command.
39180 (normal_mod_SOURCES): Remove normal/arg.c.
39181 * conf/i386-coreboot.rmk: Likewise.
39182 * conf/i386-efi.rmk: Likewise.
39183 * conf/i386-ieee1275.rmk: Likewise.
39184 * conf/powerpc-ieee1275.rmk: Likewise.
39185 * conf/x86_64-efi.rmk: Likewise.
39186
39187 * include/grub/arg.h: Move from here ...
39188 * include/grub/lib/arg.h: ... to here.
39189
39190 * normal/arg.c: Move from here ...
39191 * lib/arg.c: ... to here.
39192
39193 * commands/extcmd.c: New file.
39194 * commands/minicmd.c: Likewise.
39195 * include/grub/command.h: Likewise.
39196 * include/grub/extcmd.h: Likewise.
39197 * kern/command.c: Likewise.
39198 * kern/corecmd.c: Likewise.
39199
39200 * kern/list.c (grub_list_iterate): Return int instead of void.
39201 (grub_list_insert): New function.
39202 (grub_prio_list_insert): Likewise.
39203
39204 * kern/rescue.c (grub_rescue_command): Removed.
39205 (grub_rescue_command_list): Likewise.
39206 (grub_rescue_register_command): Likewise.
39207 (grub_rescue_unregister_command): Likewise.
39208 (grub_rescue_cmd_boot): Move to minicmd.c
39209 (grub_rescue_cmd_help): Likewise.
39210 (grub_rescue_cmd_info): Likewise.
39211 (grub_rescue_cmd_boot): Likewise.
39212 (grub_rescue_cmd_testload): Likewise.
39213 (grub_rescue_cmd_dump): Likewise.
39214 (grub_rescue_cmd_rmmod): Likewise.
39215 (grub_rescue_cmd_lsmod): Likewise.
39216 (grub_rescue_cmd_exit): Likewise.
39217 (grub_rescue_print_devices): Moved to corecmd.c.
39218 (grub_rescue_print_files): Likewise.
39219 (grub_rescue_cmd_ls): Likewise.
39220 (grub_rescue_cmd_insmod): Likewise.
39221 (grub_rescue_cmd_set): Likewise.
39222 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39223 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39224 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39225 commands, remove grub_rescue_register_command calls.
b1b797cb 39226
7d074e3c 39227 * normal/command.c (grub_register_command): Removed.
b1b797cb 39228 (grub_unregister_command): Likewise.
39229 (grub_command_find): Likewise.
39230 (grub_iterate_commands): Likewise.
39231 (rescue_command): Likewise.
39232 (export_command): Moved to corecmd.c.
39233 (set_command): Removed.
39234 (unset_command): Likewise.
39235 (insmod_command): Likewise.
39236 (rmmod_command): Likewise.
39237 (lsmod_command): Likewise.
39238 (grub_command_init): Likewise.
39239
39240 * normal/completion.c (iterate_command): Use cmd->prio to check for
39241 active command.
39242 (complete_arguments): Use grub_extcmd_t structure to find options.
39243 (grub_normal_do_completion): Change function grub_iterate_commands to
39244 grub_command_iterate.
39245
39246 * normal/execute.c (grub_script_execute_cmd): No need to parse
39247 argument here.
39248
39249 * normal/main.c (grub_dyncmd_dispatcher): New function.
39250 (read_command_list): Register unload commands as dyncmd.
39251 (grub_cmd_normal): Use new command interface, register rescue,
39252 unregister normal at entry, register normal, unregister rescue at exit.
39253
39254 * include/grub/list.h (grub_list_test_t): New type.
39255 (grub_list_iterate): Return int instead of void.
39256 (grub_list_insert): New function.
39257 (GRUB_AS_NAMED_LIST_P): New macro.
39258 (GRUB_AS_PRIO_LIST): Likewise.
39259 (GRUB_AS_PRIO_LIST_P): Likewise.
39260 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39261 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39262 (grub_prio_list): New structure.
39263 (grub_prio_list_insert): New function.
39264 (grub_prio_list_remove): New inline function.
39265
39266 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39267 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39268 (GRUB_COMMAND_FLAG_MENU): Likewise.
39269 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39270 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39271 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39272 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39273 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39274 (grub_command): Likewise.
39275 (grub_register_command): Likewise.
39276 (grub_command_find): Likewise.
39277 (grub_iterate_commands): Likewise.
39278 (grub_command_init): Likewise.
39279 (grub_arg_parse): Likewise.
39280 (grub_arg_show_help): Likewise.
39281
39282 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39283 (grub_rescue_unregister_command): Likewise.
39284
39285 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39286 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39287 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39288
39289 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39290 grub_rescue_cmd_initrd.
39291 * include/grub/i386/loader.h: Likewise.
39292 * include/grub/x86_64/loader.h: Likewise.
39293
39294 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39295
1f4147aa 392962009-03-21 Bean <bean123ch@gmail.com>
39297
39298 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39299 instead of stat in mingw environment.
39300
39301 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39302
39303 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39304
39305 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39306 AC_CONFIG_LINKS.
39307
2156d5ba 393082009-03-21 Bean <bean123ch@gmail.com>
39309
39310 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39311 out of range error.
39312
177b82ca 393132009-03-18 Michel Dänzer <michel@daenzer.net>
39314
39315 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39316 checking inode flags for EXT4_EXTENTS_FLAG.
39317
14aad807 393182009-03-18 Robert Millan <rmh@aybabtu.com>
39319
39320 * loader/i386/linux.c: Include `<grub/video.h>' and
39321 `<grub/i386/pc/vbe.h>'..
39322 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39323 (grub_linux32_boot): Attempt to configure video settings with
39324 grub_linux_setup_video().
39325 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39326 to avoid grub_console_fini() which would step out of graphical mode
39327 unconditionally.
39328
8cf83a27 393292009-03-14 Robert Millan <rmh@aybabtu.com>
39330
39331 Fix build on powerpc.
39332 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39333
40164e75 393342009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39335
39336 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39337 background image command.
39338
c58bc32a 393392009-03-12 Colin D Bennett <colin@gibibit.com>
39340
39341 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39342 (grub_gfxterm_putchar): Extract pairs of identical calls to
39343 draw_cursor out of conditional blocks.
39344
5415144a 393452009-03-11 Pavel Roskin <proski@gnu.org>
39346
39347 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39348 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39349
6394042e 393502009-03-11 Robert Millan <rmh@aybabtu.com>
39351
39352 * loader/i386/multiboot_elfxx.c
39353 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39354
b7b50e5f 393552009-03-11 Felix Zielcke <fzielcke@z-51.de>
39356
39357 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39358 `kern/handler.c'.
39359
1ca7fc96 393602009-03-11 Robert Millan <rmh@aybabtu.com>
39361
39362 * loader/i386/multiboot.c (code_size): New variable.
39363 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39364 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39365 4-byte alignment to MBI and others by increasing
7d074e3c 39366 `boot_loader_name_length' appropriately.
1ca7fc96 39367
39368 * loader/i386/multiboot_elfxx.c
39369 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39370
a83ea1d2 393712009-03-09 Felix Zielcke <fzielcke@z-51.de>
39372
39373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39374 `fs/ext2.c'.
39375
aa9f3bff 393762009-03-08 Robert Millan <rmh@aybabtu.com>
39377
39378 Make loader/i386/linux.c usable on i386-pc again.
39379
39380 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39381 memory to heap.
39382 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39383 `#error' stanza.
39384
d8b3b60e 393852009-03-07 Bean <bean123ch@gmail.com>
39386
39387 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39388 allocation.
39389
b362c9e9 393902009-03-06 Robert Millan <rmh@aybabtu.com>
39391
39392 Fix display issue on terminals with screen size other than 80x25
39393 (e.g. gfxterm with resolution higher than 640x480).
39394
39395 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39396 position relative to the center of the terminal instead of relying
b362c9e9 39397 on a hardcoded offset.
39398
9304eef1 393992009-03-04 Robert Millan <rmh@aybabtu.com>
39400
39401 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39402 installed.
39403
39404 * Makefile.in (host_kernel): New variable.
39405 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39406 scripts instead of just the windows one.
39407 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39408
eabc95fb 394092009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39410
39411 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39412 `kern/handler.c'.
39413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39414 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39419
ceb1223c 394202009-03-04 Felix Zielcke <fzielcke@z-51.de>
39421
39422 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39423 or if there's no space for the disk label and print the partition number on a
39424 invalid magic.
39425
4910684a 394262009-03-04 Felix Zielcke <fzielcke@z-51.de>
39427
39428 * util/misc.c: Include <time.h>.
39429 (grub_millisleep): New function.
39430
7e9ca17a 394312009-03-04 Bean <bean123ch@gmail.com>
39432
39433 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39434 another option -mno-red-zone.
39435
39436 * commands/handler.c: Change module description.
39437
39438 * kern/handler.c: Add missing space at the end of description line.
39439
39440 * kern/list.c: Likewise.
39441
f501677c 394422009-03-03 Robert Millan <rmh@aybabtu.com>
39443
39444 Move more components to the relocation area, and fix mbi pointer
39445 handling to use the destination rather than the origin (thanks to
39446 Vladimir Serbinenko for spotting).
39447
39448 * loader/i386/multiboot.c (mbi_dest): New variable.
39449 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39450 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39451 relocation area.
39452
9902d047 394532009-03-01 Bean <bean123ch@gmail.com>
39454
50fb7002 39455 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39456 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39457 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39458 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39459
39460 * loader/i386/efi/linux.c (acpi_guid): New variable.
39461 (acpi_guid): Likewise.
39462 (EBDA_SEG_ADDR): New constant.
39463 (LOW_MEM_ADDR): Likewise.
39464 (FAKE_EBDA_SEG): Likewise.
39465 (fake_bios_data): New function.
39466 (grub_linux_boot): Call fake_bios_data.
39467
71b9f361 394682009-03-01 Bean <bean123ch@gmail.com>
39469
39470 * commands/terminal.c: Removed.
39471
39472 * commands/handler.c: New file.
39473
39474 * include/grub/list.h: Likewise.
39475
39476 * include/grub/handler.h: Likewise.
39477
39478 * kern/list.c: Likewise.
39479
39480 * kern/handler.c: Likewise.
39481
39482 * kern/term.h: Include header file <grub/handler.h>.
39483 (grub_term_input): Move next field to the beginning.
39484 (grub_term_output): Likewise.
39485 (grub_term_input_class): New variable.
39486 (grub_term_output_class): Likewise.
39487 (grub_term_register_input): Changed to inline function.
39488 (grub_term_register_output): Likewise.
39489 (grub_term_unregister_input): Likewise.
39490 (grub_term_unregister_output): Likewise.
39491 (grub_term_set_current_input): Likewise.
39492 (grub_term_set_current_output): Likewise.
39493 (grub_term_get_current_input): Likewise.
39494 (grub_term_get_current_output): Likewise.
39495 (grub_term_iterate_input): Removed.
39496 (grub_term_iterate_output): Likewise.
39497
39498 * kern/term.c (grub_term_list_input): Removed.
39499 (grub_term_list_output): Likewise.
39500 (grub_term_input_class): New variable.
39501 (grub_term_output_class): Likewise.
50fb7002 39502 (grub_cur_term_input): Change variable as macro.
71b9f361 39503 (grub_cur_term_output): Likewise.
39504 (grub_term_register_input): Removed.
39505 (grub_term_register_output): Likewise.
39506 (grub_term_unregister_input): Likewise.
39507 (grub_term_unregister_output): Likewise.
39508 (grub_term_set_current_input): Likewise.
39509 (grub_term_set_current_output): Likewise.
39510 (grub_term_iterate_input): Likewise.
39511 (grub_term_iterate_output): Likewise.
39512 (grub_term_get_current_input): Likewise.
39513 (grub_term_get_current_output): Likewise.
39514
39515 * util/grub-editenv.c: Include header file <grub/handler.h>.
39516 (grub_term_get_current_input): Removed.
39517 (grub_term_get_current_output): Likewise.
39518 (grub_term_input_class): New variable.
50fb7002 39519 (grub_term_output_class): Likewise.
71b9f361 39520
39521 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39522 (grub_term_get_current_output): Likewise.
39523 (grub_term_input_class): New variable.
50fb7002 39524 (grub_term_output_class): Likewise.
71b9f361 39525
39526 * util/grub-probe.c (grub_term_get_current_input): Removed.
39527 (grub_term_get_current_output): Likewise.
39528 (grub_term_input_class): New variable.
50fb7002 39529 (grub_term_output_class): Likewise.
71b9f361 39530
39531 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39532 (grub_term_get_current_output): Likewise.
39533 (grub_term_input_class): New variable.
50fb7002 39534 (grub_term_output_class): Likewise.
71b9f361 39535
39536 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39537 (terminal_mod_SOURCES): Likewise.
39538 (terminal_mod_CFLAGS): Likewise.
39539 (terminal_mod_LDFLAGS): Likewise.
39540
39541 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39542 handler.c.
39543 (kernel_img_SOURCES): Add list.c and handler.c.
39544 (kernel_img_HEADERS): Add list.h and handler.h.
39545
39546 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39547 handler.c.
39548 (kernel_mod_SOURCES): Add list.c and handler.c.
39549 (kernel_mod_HEADERS): Add list.h and handler.h.
39550
39551 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39552 handler.c.
39553 (kernel_elf_SOURCES): Add list.c and handler.c.
39554 (kernel_elf_HEADERS): Add list.h and handler.h.
39555
39556 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39557 handler.c.
39558 (kernel_elf_SOURCES): Add list.c and handler.c.
39559 (kernel_elf_HEADERS): Add list.h and handler.h.
39560
39561 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39562 handler.c.
39563 (kernel_mod_SOURCES): Add list.c and handler.c.
39564 (kernel_mod_HEADERS): Add list.h and handler.h.
39565
39566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39567 handler.c.
39568 (kernel_elf_SOURCES): Add list.c and handler.c.
39569 (kernel_elf_HEADERS): Add list.h and handler.h.
39570
8a31787f 395712009-02-27 Robert Millan <rmh@aybabtu.com>
39572
39573 Factorize elf32 / elf64 code in Multiboot loader. This will
39574 prevent it from getting out of sync again.
39575
39576 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39577 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39578 grub_multiboot_load_elf64): Move from here ...
39579 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39580 grub_multiboot_load_elf): ... to here (new file).
39581
51cd3dfc 395822009-02-27 Robert Millan <rmh@aybabtu.com>
39583
39584 * util/grub.d/10_linux.in: Rename "single-user mode" to
39585 "recovery mode".
39586
6e8c9c3a 395872009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39588
39589 Don't leak in SCSI code.
39590 * disk/scsi.c (grub_scsi_close): free `scsi'.
39591
4b6bf4f9 395922009-02-27 Robert Millan <rmh@aybabtu.com>
39593
39594 * loader/i386/pc/multiboot.c: Move from here ...
39595 * loader/i386/multiboot.c: ... to here. Update all users.
39596
b9413424 395972009-02-27 Robert Millan <rmh@aybabtu.com>
39598
39599 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39600 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39601
50fb7002 396022009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39603
39604 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39605 b-tree.
39606
8cc50345 396072009-02-27 Robert Millan <rmh@aybabtu.com>
39608
39609 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39610 `0x' qualifier as 0 when base is specified as parameter).
39611
6e09b8b7 396122009-02-24 Bean <bean123ch@gmail.com>
39613
39614 * configure.ac: Check for -mcmodel=large in x86_64 target.
39615
39616 * include/grub/efi/api.h (efi_call_10): New macro.
39617 (efi_wrap_10): New function.
39618
39619 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39620 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39621 (GRUB_PE32_REL_BASED_LOW): Likewise.
39622 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39623 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39624 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39625 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39626 (GRUB_PE32_REL_BASED_REL): Likewise.
39627 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39628 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39629 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39630
39631 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39632 issue.
39633
39634 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39635 (efi_wrap_10): New function.
39636
39637 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39638
39639 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39640 MB/MBP model (NV chipset).
39641 (devdata_devs): Add devpath_5 to the list.
39642
39643 * load/i386/efi/linux.c (video_base): Remove variable.
39644 (RGB_MASK): New macro.
39645 (RGB_MAGIC): Likewise.
39646 (LINE_MIN): Likewise.
39647 (LINE_MAX): Likewise.
39648 (FBTEST_STEP): Likewise.
39649 (FBTEST_COUNT): Likewise.
39650 (fb_list): New variable.
39651 (grub_find_video_card): Remove function.
39652 (find_framebuf): New function.
39653 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39654 line length.
39655
39656 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39657 problem for x86_64.
39658
74b21bee 396592009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39660
39661 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39662
39663 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39664 coding tool name.
39665
a455f472 396662009-02-22 Robert Millan <rmh@aybabtu.com>
39667
39668 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39669 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39670 in our relocation, instead of using it directly from heap. Also
39671 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39672
6374daf3 396732009-02-21 Robert Millan <rmh@aybabtu.com>
39674
39675 Implement USB keyboard support (based on patch by Marco Gerards)
39676
39677 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39678 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39679 (usb_keyboard_mod_LDFLAGS): New variables.
39680
39681 * term/usb_keyboard.c: New file.
39682
8fa4ea70 396832009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39684
39685 Corrected wrong declaration
39686
39687 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39688
353976ac 396892009-02-14 Christian Franke <franke@computer.org>
39690
39691 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39692 (grub_lspci_iter): Print class code and programming interface byte.
39693
6aa1169b 396942009-02-14 Christian Franke <franke@computer.org>
39695
39696 * gendistlist.sh: Ignore `.svn' directories.
39697
265372ca 396982009-02-14 Felix Zielcke <fzielcke@z-51.de>
39699
39700 * fs/fat.c: Add 2009 to Copyright line.
39701
9ff516f3 397022009-02-14 Christian Franke <franke@computer.org>
39703
39704 * commands/hdparm.c: New file. Provides `hdparm' command
39705 which sends ATA commands via grub_disk_ata_pass_through ().
39706
39707 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39708
39709 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39710 and <grub/cpu/io.h> to include/grub/ata.h.
39711 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39712 (GRUB_CDROM_SECTOR_SIZE): Remove.
39713 (GRUB_ATA_*): Move to include/grub/ata.h.
39714 (GRUB_ATAPI_*): Likewise.
39715 (enum grub_ata_commands): Likewise.
39716 (enum grub_ata_timeout_milliseconds): Likewise.
39717 (struct grub_ata_device): Likewise.
39718 (grub_ata_regset): Likewise.
39719 (grub_ata_regget): Likewise.
39720 (grub_ata_regset2): Likewise.
39721 (grub_ata_regget2): Likewise.
39722 (grub_ata_check_ready): Likewise.
39723 (grub_ata_wait_not_busy): Remove static, exported in
39724 include/grub/ata.h.
39725 (grub_ata_wait_drq): Likewise.
39726 (grub_ata_pio_read): Likewise.
39727
39728 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39729 function for hdparm.mod.
39730
39731 * include/grub/ata.h: New file, contains declarations from
39732 disk/ata.c.
39733 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39734
39735 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39736 (grub_disk_ata_pass_through): New exported variable.
39737
39738 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39739
772e23da 397402009-02-13 Colin D Bennett <colin@gibibit.com>
39741
39742 Support multiple fallback entries, and provide an API to support
39743 executing default+fallback menu entries. Renamed the `terminal' menu
39744 viewer to `text'.
39745
39746 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39747 variable declaration.
39748 (grub_menu_execute_callback): New structure declaration.
39749 (grub_menu_execute_callback_t): New typedef.
39750 (grub_menu_execute_with_fallback): New function declaration.
39751 (grub_menu_get_entry): Likewise.
39752 (grub_menu_get_timeout): Likewise.
39753 (grub_menu_set_timeout): Likewise.
39754
39755 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39756
39757 * normal/menu.c (grub_wait_after_message): Moved to
39758 `normal/menu_text.c'.
39759 (draw_border): Likewise.
39760 (print_message): Likewise.
39761 (print_entry): Likewise.
39762 (print_entries): Likewise.
39763 (grub_menu_init_page): Likewise.
39764 (get_entry_number): Likewise.
39765 (print_timeout): Likewise.
39766 (run_menu): Likewise.
39767 (grub_menu_execute_entry): Likewise.
39768 (show_text_menu): Likewise.
39769 (get_and_remove_first_entry_number): New function.
39770 (grub_menu_execute_with_fallback): Likewise.
39771 (get_entry): Renamed to ...
39772 (grub_menu_get_entry): .. this and made it global.
39773 (get_timeout): Renamed to ...
39774 (grub_menu_get_timeout): ... this and made it global.
39775 (set_timeout): Renamed to ...
39776 (grub_menu_set_timeout): ... this and made it global.
39777 (grub_normal_terminal_menu_viewer): Renamed to ...
39778 (grub_normal_text_menu_viewer): ... this.
39779
39780 * normal/menu_text.c: New file. Extracted text-menu-specific code
39781 from normal/menu.c.
39782
39783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39784 (normal_mod_SOURCES): Likewise.
39785
39786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39787 (normal_mod_SOURCES): Likewise.
39788
39789 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39790 (normal_mod_SOURCES): Likewise.
39791
39792 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39793 (normal_mod_SOURCES): Likewise.
39794
39795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39796 (normal_mod_SOURCES): Likewise.
39797
39798 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39799 (normal_mod_SOURCES): Likewise.
39800
39801 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39802 (normal_mod_SOURCES): Likewise.
39803
16ac430e 398042009-02-11 Robert Millan <rmh@aybabtu.com>
39805
39806 * util/grub.d/00_header.in: Update old reference to `font' command.
39807
06ff20fc 398082009-02-10 Felix Zielcke <fzielcke@z-51.de>
39809
39810 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39811
39812 Based on patch from Javier Martín.
39813
96da9407 398142009-02-09 Felix Zielcke <fzielcke@z-51.de>
39815
39816 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39817 to avoid false positives with FAT.
96da9407 39818 (grub_fstest_SOURCES): Likewise.
39819 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39823 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39825
6dca6fe4 398262009-02-09 Felix Zielcke <fzielcke@z-51.de>
39827
06ff20fc 39828 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39829 bpb.version_specific.fat12_or_fat16.fstype and
39830 bpb.version_specific.fat32.fstype.
39831
2550c62f 398322009-02-08 Robert Millan <rmh@aybabtu.com>
39833
be110b30 39834 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39835
56978920 398362009-02-08 Robert Millan <rmh@aybabtu.com>
39837
39838 * Makefile.in (host_os, host_cpu): New variables.
39839 (target_os): Remove. Update all users.
39840
d64399b5 398412009-02-08 Marco Gerards <marco@gnu.org>
39842
39843 * Makefile.in (enable_grub_emu_usb): New variable.
39844 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39845 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39846 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39847 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39848 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39849 `usbtest.mod' and `usbms.mod'.
39850 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39851 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39852 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39853 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39854 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39855 variables.
39856
39857 * disk/usbms.c: New file.
39858
39859 * include/grub/usb.h: Likewise.
39860
39861 * include/grub/usbtrans.h: Likewise.
39862
39863 * include/grub/usbdesc.h: Likewise.
39864
39865 * bus/usb/usbtrans.c: Likewise.
39866
39867 * bus/usb/ohci.c: Likewise.
39868
39869 * bus/usb/uhci.c: Likewise.
39870
39871 * bus/usb/usbhub.c: Likewise.
39872
39873 * bus/usb/usb.c: Likewise.
39874
39875 * commands/usbtest.c: Likewise.
39876
39877 * util/usb.c: Likewise.
50fb7002 39878
d64399b5 39879 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39880
39881 * configure.ac: Test for libusb presence.
50fb7002 39882
d64399b5 39883 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39884
2b40d6bb 398852009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39886
39887 * kern/mm.c: Add more comments.
39888
73a4ce81 398892009-02-08 Robert Millan <rmh@aybabtu.com>
39890
39891 Patch from Javier Martín.
39892 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39893 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39894
f821ce59 398952009-02-08 Robert Millan <rmh@aybabtu.com>
39896
39897 * fs/cpio.c: Split tar functionality to ...
39898 * fs/tar.c: ... here (new file). Update all users.
39899
aebfc4b0 399002009-02-07 Robert Millan <rmh@aybabtu.com>
39901
39902 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39903 backward-incompatible features.
39904
39905 Based on patch from Javier Martín, with some adjustments.
39906
50fb7002 399072009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39908
39909 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39910
0bb5115e 399112009-02-07 Robert Millan <rmh@aybabtu.com>
39912
39913 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39914 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39915 after the RAID stuff.
39916
38a0f8e7 399172009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39918
50fb7002 39919 Fixes problem when running vbetest command as reported by
38a0f8e7 39920 Vladimir Serbinenko <phcoder@gmail.com>.
39921
39922 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39923
3143cc1c 399242009-02-04 Felix Zielcke <fzielcke@z-51.de>
39925
39926 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39927 /dev/md/NpN style mdraid devices.
39928
9cba6fce 399292009-02-03 Felix Zielcke <fzielcke@z-51.de>
39930
39931 * util/unifont2pff.rb: Remove.
39932
e507a2c1 399332009-02-03 Felix Zielcke <fzielcke@z-51.de>
39934
39935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39936 `#'.
39937
d2c2b4cd 399382009-02-03 Felix Zielcke <fzielcke@z-51.de>
39939
39940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39941 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39943 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39947
b4315fb0 399482009-02-02 Christian Franke <franke@computer.org>
39949
39950 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39951
de3aa260 399522009-02-01 Felix Zielcke <fzielcke@z-51.de>
39953
7c3ff286 39954 * INSTALL: Note that we now require at least autoconf 2.59 and
39955 that LZO is optional.
de3aa260 39956
825a182b 399572009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39958
39959 Base on patch on bug #24154 created by Tomas Tintera
39960 <trosos@seznam.cz>.
39961
39962 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39963
a69ef770 399642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39965
7c3ff286 39966 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39967 <bero@arklinux.org>.
39968
39969 * normal/parser.y (script_init): Add missing semicolon.
39970
6fa42fa6 399712009-01-31 Colin D Bennett <colin@gibibit.com>
39972
7c3ff286 39973 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39974 (free_menu_entry_classes): Added.
39975 (grub_normal_menu_addentry): Added class property handling.
39976 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39977 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39978
39979 * normal/menu_viewer.c: New file.
39980
39981 * normal/menu.c (run_menu_entry): Renamed to ...
39982 (grub_menu_execute_entry): ... this and made it as global.
39983 (grub_menu_run): Renamed to ...
39984 (show_text_menu): ... this and made it local.
39985 (show_text_menu): Adapt to new function names.
39986 (grub_normal_terminal_menu_viewer): New global variable.
39987
39988 * include/grub/menu.h: New file.
39989
39990 * include/grub/menu_viewer.h: New file.
39991
39992 * include/grub/normal.h: Added include to grub/menu.h.
39993 (grub_menu_entry): Moved to include/grub/menu.h.
39994 (grub_menu_entry_t): Likewise.
39995 (grub_menu): Likewise.
39996 (grub_menu_t): Likewise.
39997 (grub_normal_terminal_menu_viewer): Added.
39998 (grub_menu_execute_entry): Likewise.
39999 (grub_menu_run): Removed.
40000
40001 * DISTLIST: Added include/grub/menu.h.
40002 Added include/grub/menu_viewer.h.
40003 Added normal/menu_viewer.c.
40004
400052009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40006
40007 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40008 arglist for menutitle arguments.
40009
40010 * normal/main.c (grub_normal_menu_addentry): Likewise.
40011
40012 * normal/parser.y (menuentry): Likewise.
40013
40014 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40015
40016 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40017 (grub_script_create_cmdmenu): Likewise.
40018
40019 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40020
40021 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40022 changes.
40023
40024 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40025
40026 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40027
40028 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40029
40030 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40031
40032 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40033
40034 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40035
56192c23 400362009-01-30 Christian Franke <franke@computer.org>
40037
40038 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40039 in option help text.
40040
d72521b3 400412009-01-27 Pavel Roskin <proski@gnu.org>
40042
40043 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40044
994b5e84 400452009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40046
40047 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40048
40049 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40050
40051 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40052 unregister function.
40053
6a7eab2c 400542009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40055
40056 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40057
40058 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40059
40060 * util/grub-mkfont.c (usage): Fix typo.
40061
40062 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40063
1806b56e 400642009-01-26 Daniel Mierswa <impulze@impulze.org>
40065
3fb18f09 40066 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40067
336e1fb9 40068 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40069
1806b56e 40070 * kern/misc.c (grub_strcasecmp): New function.
40071 (grub_strcasecmp): Use grub_size_t instead of int for length.
40072 Fix return value.
40073 * include/grub/misc.h: Update function prototypes.
40074
580b2a0f 400752009-01-26 Robert Millan <rmh@aybabtu.com>
40076
40077 * configure.ac: Fix cross-compilation check.
ef257b36 40078
d31c24f1 400792009-01-22 Christian Franke <franke@computer.org>
40080
40081 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40082 (precision) digit string. Allow `.format2' without `format1' (width).
40083 Limit input chars for `%s' output to `format2' if specified. This is
40084 compatible with standard printf ().
40085
3138b44c 400862009-01-22 Christian Franke <franke@computer.org>
40087
40088 * disk/ata.c (grub_ata_wait_status): Replace by ...
40089 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40090 other status bits may be invalid while BSY is asserted.
40091 (grub_ata_check_ready): New function.
40092 (grub_ata_cmd): Removed.
40093 (grub_ata_wait_drq): New function.
40094 (grub_ata_strncpy): Remove inline.
40095 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40096 and error check now done by grub_ata_wait_drq ().
40097 (grub_ata_pio_write): Likewise.
40098 (grub_atapi_identify): Set DEV before check for !BSY. Use
40099 grub_ata_wait_drq () to wait for data.
40100 (grub_ata_device_initialize): Add status register check to
40101 detect missing SATA slave devices. Add debug messages.
40102 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40103 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40104 transfer loop by grub_ata_pio_write ().
40105 (grub_ata_identify): Set DEV before check for !BSY. Use
40106 grub_ata_wait_drq () to wait for data.
ef257b36 40107 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40108 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40109 read/write in one loop. Fix invalid command on write. Fix incomplete
40110 command on (size % batch) == 0. Add missing error check after write of
40111 last block. Add debug messages.
40112 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40113
59a64ef6 401142009-01-19 Christian Franke <franke@computer.org>
40115
40116 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40117 (GRUB_ATAPI_IREASON_*): Likewise.
40118 (grub_ata_pio_write): Fix timeout error return.
40119 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40120 (grub_atapi_wait_drq): New function.
40121 (grub_atapi_packet): New parameter `size'.
40122 Use grub_atapi_wait_drq () and direct write instead of
40123 grub_ata_pio_write ().
40124 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40125 reads the number of bytes requested by the device for each DRQ
40126 assertion.
40127 (grub_atapi_write): Remove old implementation, return not
40128 implemented instead.
40129
1cfe20b3 401302009-01-19 Christian Franke <franke@computer.org>
40131
40132 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40133 of 512 to calculate data size.
40134 (grub_scsi_read12): Likewise.
40135 (grub_scsi_write10): Likewise.
40136 (grub_scsi_write12): Likewise.
40137 (grub_scsi_read): Adjust size according to blocksize.
40138 Add checks for invalid blocksize and unaligned transfer.
40139
bee5fe5d 401402009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40141
40142 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40143
ef257b36 40144 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40145 width glyphs.
40146
3e643f8c 401472009-01-19 Robert Millan <rmh@aybabtu.com>
40148
40149 * config.guess: Update to latest version from config git.
40150 * config.sub: Likewise.
40151
4fa80998 401522009-01-17 Felix Zielcke <fzielcke@z-51.de>
40153
40154 * Makefile.in: Change font compilation to use new grub-mkfont instead
40155 of java version.
40156
40157 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40158 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40159 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40160 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40161 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40162 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40163 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40164 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40165 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40166
7086085b 401672009-01-16 Christian Franke <franke@computer.org>
40168
40169 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40170 (enum grub_ata_timeout_milliseconds): New enum.
40171 (grub_ata_wait_status): Add parameter milliseconds.
40172 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40173 recovery from timed-out commands.
40174 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40175 return grub_errno instead of REG_ERROR.
40176 (grub_ata_pio_write): Add parameter milliseconds.
40177 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40178 Pass milliseconds to grub_ata_wait_status () and
40179 grub_ata_pio_read ().
40180 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40181 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40182 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40183 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40184 It is not suitable for device detection, because DEV bit is ignored,
40185 the command may run too long, and not all devices set the signature
40186 properly.
40187 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40188 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40189 Fix device selection, DEV bit must be set first to address the registers
40190 of the correct device.
40191 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40192 grub_ata_pio_read/write ().
40193 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40194 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40195
4a412913 401962009-01-13 Carles Pina i Estany <carles@pina.cat>
40197
40198 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40199
7795c55e 402002009-01-13 Bean <bean123ch@gmail.com>
d913988c 40201
40202 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40203
7795c55e 402042009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40205
40206 * Makefile.in: (enable_grub_mkfont): New variable.
40207 (freetype_cflags): Likewise.
40208 (freetype_libs): Likewise.
40209
40210 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40211 (grub_mkfont_SOURCES): New variable.
40212 (grub_mkfont_CFLAGS): Likewise.
40213 (grub_mkfont_LDFLAGS): Likewise.
40214
40215 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40216 library if `--enable-grub-mkfont' is requested.
40217 (enable_grub_mkfont): New variable.
40218 (freetype_cflags): Likewise.
40219 (freetype_libs): Likewise.
40220
40221 * util/grub-mkfont.c: New file.
40222
093af1fe 402232009-01-12 Christian Franke <franke@computer.org>
40224
40225 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40226 mode check. Fix setting of compat_use[].
40227
f36cc108 402282009-01-10 Robert Millan <rmh@aybabtu.com>
40229
40230 Update a few copyright years which we forgot to do in 2008 (only for
40231 files whose changes made in 2008 were copyright-significant)
40232
40233 * Makefile.in: Add 2008 to Copyright line.
40234 * disk/ieee1275/ofdisk.c: Likewise.
40235 * disk/efi/efidisk.c: Likewise.
40236 * kern/dl.c: Likewise.
40237 * kern/sparc64/ieee1275/init.c: Likewise.
40238 * kern/mm.c: Likewise.
40239 * kern/efi/mm.c: Likewise.
40240 * boot/i386/pc/boot.S: Likewise.
40241 * genfslist.sh: Likewise.
40242 * fs/iso9660.c: Likewise.
40243 * fs/hfs.c: Likewise.
40244 * fs/jfs.c: Likewise.
40245 * fs/minix.c: Likewise.
40246 * fs/ufs.c: Likewise.
40247 * gensymlist.sh.in: Likewise.
40248 * genkernsyms.sh.in: Likewise.
40249 * include/grub/misc.h: Likewise.
40250 * include/grub/types.h: Likewise.
40251 * include/grub/symbol.h: Likewise.
40252 * include/grub/elf.h: Likewise.
40253 * include/grub/kernel.h: Likewise.
40254 * include/grub/disk.h: Likewise.
40255 * include/grub/dl.h: Likewise.
40256 * include/grub/i386/linux.h: Likewise.
40257 * include/grub/i386/pc/biosdisk.h: Likewise.
40258 * include/grub/efi/api.h: Likewise.
40259 * include/grub/efi/pe32.h: Likewise.
40260 * include/grub/util/misc.h: Likewise.
40261 * normal/execute.c: Likewise.
40262 * normal/arg.c: Likewise.
40263 * normal/completion.c: Likewise.
40264 * normal/lexer.c: Likewise.
40265 * normal/parser.y: Likewise.
40266 * normal/misc.c: Likewise.
40267 * commands/i386/pc/vbeinfo.c: Likewise.
40268 * commands/hexdump.c: Likewise.
40269 * commands/terminal.c: Likewise.
40270 * commands/ls.c: Likewise.
40271 * commands/help.c: Likewise.
40272 * partmap/pc.c: Likewise.
40273 * loader/efi/chainloader.c: Likewise.
40274 * loader/multiboot_loader.c: Likewise.
40275 * loader/i386/pc/multiboot2.c: Likewise.
40276 * term/efi/console.c: Likewise.
40277 * term/i386/pc/serial.c: Likewise.
40278 * util/lvm.c: Likewise.
40279 * util/console.c: Likewise.
40280 * util/i386/efi/grub-mkimage.c: Likewise.
40281 * util/raid.c: Likewise.
40282
7f02114b 402832009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40284
40285 * commands/videotest.c: Removed include to grub/machine/memory.h.
40286
40287 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40288 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40289 (video_mod_SOURCES): Removed.
40290 (video_mod_CFLAGS): Likewise.
40291 (video_mod_LDFLAGS): Likewise.
40292 (gfxterm_mod_SOURCES): Likewise.
40293 (gfxterm_mod_CFLAGS): Likewise.
40294 (gfxterm_mod_LDFLAGS): Likewise.
40295 (videotest_mod_SOURCES): Likewise.
40296 (videotest_mod_CFLAGS): Likewise.
40297 (videotest_mod_LDFLAGS): Likewise.
40298 (bitmap_mod_SOURCES): Likewise.
40299 (bitmap_mod_CFLAGS): Likewise.
40300 (bitmap_mod_LDFLAGS): Likewise.
40301 (tga_mod_SOURCES): Likewise.
40302 (tga_mod_CFLAGS): Likewise.
40303 (tga_mod_LDFLAGS): Likewise.
40304 (jpeg_mod_SOURCES): Likewise.
40305 (jpeg_mod_CFLAGS): Likewise.
40306 (jpeg_mod_LDFLAGS): Likewise.
40307 (png_mod_SOURCES): Likewise.
40308 (png_mod_CFLAGS): Likewise.
40309 (png_mod_LDFLAGS): Likewise.
40310
40311 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40312 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40313 (video_mod_SOURCES): Added.
40314 (video_mod_CFLAGS): Likewise.
40315 (video_mod_LDFLAGS): Likewise.
40316 (videotest_mod_SOURCES): Likewise.
40317 (videotest_mod_CFLAGS): Likewise.
40318 (videotest_mod_LDFLAGS): Likewise.
40319 (bitmap_mod_SOURCES): Likewise.
40320 (bitmap_mod_CFLAGS): Likewise.
40321 (bitmap_mod_LDFLAGS): Likewise.
40322 (tga_mod_SOURCES): Likewise.
40323 (tga_mod_CFLAGS): Likewise.
40324 (tga_mod_LDFLAGS): Likewise.
40325 (jpeg_mod_SOURCES): Likewise.
40326 (jpeg_mod_CFLAGS): Likewise.
40327 (jpeg_mod_LDFLAGS): Likewise.
40328 (png_mod_SOURCES): Likewise.
40329 (png_mod_CFLAGS): Likewise.
40330 (png_mod_LDFLAGS): Likewise.
40331 (gfxterm_mod_SOURCES): Likewise.
40332 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40333 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40334
40335 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40336 grub/machine/console.h.
40337
644fff97 403382009-01-04 Jerone Young <jerone@gmail.com>
40339
40340 Make on screen instructions clearer
40341
40342 Based on patch created by Jidanni <jidanni@jidanni.org>
40343
40344 * normal/menu.c: print clearer instructions on the screen
40345
1e901a75 403462009-01-02 Colin D Bennett <colin@gibibit.com>
40347
40348 New font engine.
34c44600 40349
1e901a75 40350 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40351 build system and fixed gfxterm.c to work with different sized fonts.
40352
40353 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40354
1e901a75 40355 * configure: Re-generated.
34c44600 40356
1e901a75 40357 * DISTLIST: Removed font/manager.c.
40358 Added font/font.c.
40359 Added font/font_cmd.c.
34c44600 40360
1e901a75 40361 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40362 compilation.
34c44600 40363
1e901a75 40364 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40365
40366 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40367
40368 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40369
1e901a75 40370 * normal/menu.c: Likewise.
34c44600 40371
1e901a75 40372 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40373 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40374
1e901a75 40375 * include/grub/font.h: Replaced with new file.
34c44600 40376
1e901a75 40377 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40378 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40379 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40380 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40381 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40382 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40383 fg_red, fg_green, fg_blue, fg_alpha.
40384 (grub_video_adapter): Removed blit_glyph.
34c44600 40385 (grub_video_blit_glyph): Removed.
40386
1e901a75 40387 * font/manager.c: Removed file.
34c44600 40388
40389 * font/font.c: New file.
40390
1e901a75 40391 * font/font_cmd.c: Likewise.
34c44600 40392
1e901a75 40393 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40394
1e901a75 40395 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40396 (grub_video_vbe_map_rgba): Likewise.
40397 (grub_video_vbe_unmap_color_int): Likewise.
40398 (grub_video_vbe_blit_glyph): Removed.
40399 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40400
1e901a75 40401 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40402 (get_pixel): Likewise.
34c44600 40403 (set_pixel): Likewise.
40404
1e901a75 40405 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40406
1e901a75 40407 * term/gfxterm.c: Adapted to new font engine.
34c44600 40408
1e901a75 40409 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40410
1e901a75 40411 * term/i386/pc/vga.c: Likewise.
34c44600 40412
1e901a75 40413 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40414
1e901a75 40415 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40416
1e901a75 40417 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40418
1e901a75 40419 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40420
1e901a75 40421 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40422
1e901a75 40423 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40424
1e901a75 40425 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40426
1e901a75 40427 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40428
1e901a75 40429 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40430
40431 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40432
1e901a75 40433 * util/grub-mkconfig_lib.in: Changed font extension.
40434
278922e8 404352008-12-28 Felix Zielcke <fzielcke@z-51.de>
40436
40437 * util/getroot.c (grub_util_get_grub_dev): Add support for
40438 /dev/md/dNNpNN style partitionable mdraid devices.
40439
3ced05cf 404402008-12-12 Alex Smith <alex@alex-smith.me.uk>
40441
40442 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40443 at a time limit of the PXE TFTP API correctly.
40444 (grub_pxefs_close): Likewise.
40445
7fd0ee30 404462008-11-29 Robert Millan <rmh@aybabtu.com>
40447
34c44600 40448 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40449 grub_ata_device_initialize() calls.
40450
34c44600 404512008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40452
40453 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40454 iteration failed.
40455 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40456
89313780 404572008-11-28 Robert Millan <rmh@aybabtu.com>
40458
40459 Fix build on powerpc-ieee1275. Based on patch created by
40460 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40461 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40462 `kern/ieee1275/mmap.c'.
40463 * include/grub/powerpc/ieee1275/memory.h: New file.
40464
15257703 40465 Provide grub-install on coreboot.
40466 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40467 (grub_install_SOURCES): New variable.
40468 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40469 usable on coreboot.
40470
9fc5388a 404712008-11-25 Felix Zielcke <fzielcke@z-51.de>
40472
40473 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40474 to `grub_term_input_t'.
40475 (grub_term_get_current_output): Change return type to
40476 `grub_term_output_t'.
40477
bc3a2f31 404782008-11-22 Robert Millan <rmh@aybabtu.com>
40479
34c44600 40480 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40481 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40482 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40483 grub_vga_text_cls().
40484
80fc88f2 40485 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40486 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40487
cbf36fd3 40488 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40489 to 0x200000 (avoids trouble with some OFW implementations, and matches
40490 with the one in Yaboot).
40491 Reported by Manoel Abranches
40492
73e8e268 404932008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40494
40495 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40496 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40497
73e8e268 40498 * util/grub-mkconfig_lib.in (grub_warn): New function.
40499 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40500 warnings, to obtain consistent formatting.
40501 * util/grub.d/00_header.in: Likewise.
40502 * util/update-grub_lib.in: Likewise.
40503
e94045a1 40504 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40505 Move comment text to `#error' stanza.
e94045a1 40506
79d29fd7 40507 Harmonize ieee1275's grub_available_iterate() with the generic
40508 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40509 build problem on i386-ieee1275):
40510 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40511 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40512 parameter `type'. Update all users of this function.
40513 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40514 `kern/ieee1275/mmap.c'.
40515 * kern/ieee1275/init.c
40516 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40517 with ...
40518 (grub_machine_mmap_iterate): ... this.
40519 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40520 return type to `grub_err_t'. Update all implementations of this
40521 function prototype.
40522 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40523 Likewise.
40524
60d6b16e 40525 Add `lsmmap' command (lists firmware-provided memory map):
40526 * commands/lsmmap.c: New file.
40527 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40528 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40529 variables.
40530 * conf/powerpc-ieee1275.rmk: Likewise.
40531 * conf/i386-coreboot.rmk: Likewise.
40532 * conf/i386-ieee1275.rmk: Likewise.
40533
ebaaf49b 405342008-11-19 Robert Millan <rmh@aybabtu.com>
40535
40536 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40537 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40538 constraints to initrd allocation (based on code from
40539 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40540 for Linux to find it.
ebaaf49b 40541
dfab719f 405422008-11-14 Robert Millan <rmh@aybabtu.com>
40543
40544 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40545 order to cope with duplicate slashes.
40546
10fc3eb9 405472008-11-14 Robert Millan <rmh@aybabtu.com>
40548
40549 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40550 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40551 don't want to mess with lower memory, because it is used in the Linux
40552 loader.
40553
40554 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40555 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40556 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40557 is in our heap (probably as a result of it being corrupted during
2f2a3442 40558 decompression). Add #error instance with comment to explain why this
40559 loader isn't currently usable on PC/BIOS.
10fc3eb9 40560
e2e07847 405612008-11-14 Robert Millan <rmh@aybabtu.com>
40562
40563 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40564 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40565
fe8e8d69 405662008-11-12 Robert Millan <rmh@aybabtu.com>
40567
40568 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40569
40570 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40571 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40572 from here ...
40573 * include/grub/i386/pc/memory.h: ... to here.
40574
976b07d0 405752008-11-12 Robert Millan <rmh@aybabtu.com>
40576
40577 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40578 split).
40579
40580 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40581 (grub_console_cur_color, grub_console_real_putchar)
40582 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40583 (grub_console_setcolorstate, grub_console_setcolor)
40584 (grub_console_getcolor): Move from here ...
40585 * include/grub/i386/vga_common.h: ... to here (new file).
40586
40587 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40588 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40589 `<grub/i386/io.h>'.
40590 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40591 `<grub/i386/vga_common.h>'.
40592
76679cd3 405932008-11-12 Robert Millan <rmh@aybabtu.com>
40594
40595 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40596 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40597 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40598 variables.
40599 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40600 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40601
40602 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40603 grub_console_init() with call to grub_vga_text_init().
40604 (grub_machine_fini): Replace call to
40605 grub_console_fini() with call to grub_vga_text_fini() and
40606 grub_at_keyboard_fini().
40607
40608 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40609 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40610 (grub_console_setcolorstate, grub_console_setcolor)
40611 (grub_console_getcolor): New function prototypes.
40612
40613 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40614 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40615 (grub_vga_text_setcursor): Static-ize.
40616 (grub_vga_text_term): New structure.
40617 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40618
40619 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40620 (grub_console_cur_color, grub_console_standard_color)
40621 (grub_console_normal_color, grub_console_highlight_color)
40622 (map_char, grub_console_putchar, grub_console_getcharwidth)
40623 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40624 (grub_console_getcolor): Move from here ...
40625 * term/i386/vga_common.c: ... to here (same function names).
40626
95b841d3 406272008-11-12 Robert Millan <rmh@aybabtu.com>
40628
40629 Use newly-added Multiboot support in coreboot.
40630
40631 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40632 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40633
40634 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40635 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40636 (codestart): Store the MBI in `startup_multiboot_info' when we're
40637 being loaded using Multiboot.
40638
40639 * kern/i386/coreboot/init.c (grub_machine_init): Move
40640 grub_at_keyboard_init() call to beginning of function (useful for
40641 debugging). Call grub_machine_mmap_init() before attempting to use
40642 grub_machine_mmap_iterate().
40643 (grub_lower_mem, grub_upper_mem): Move from here ...
40644 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40645 here (new file).
40646
40647 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40648 function prototype.
40649
761ca975 406502008-11-12 Robert Millan <rmh@aybabtu.com>
40651
40652 Fix a regression introduced by the at_keyboard.mod split. Because
40653 some terminals are default on some platforms and non-default on
40654 others, the first terminal being registered determines which is
40655 going to be default.
40656
40657 * kern/term.c (grub_term_register_input): If this is the first
40658 terminal being registered, set it as the current one.
40659 (grub_term_register_output): Likewise.
40660
40661 * term/efi/console.c (grub_console_init): Do not call
40662 grub_term_set_current_output() or grub_term_set_current_input().
40663 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40664 * term/i386/pc/console.c (grub_console_init): Likewise.
40665 (grub_console_fini): Do not call grub_term_set_current_input()
40666 (but leave grub_term_set_current_output() to restore text mode).
40667
6c529df7 406682008-11-10 Robert Millan <rmh@aybabtu.com>
40669
40670 * util/grub.d/00_header.in: Add backward compatibility check for
40671 versions of terminal.mod that don't understand `terminal_input' or
40672 `terminal_output'.
40673
132e4113 406742008-11-09 Robert Millan <rmh@aybabtu.com>
40675
40676 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40677 `terminal_input' / `terminal_output', not `terminal'.
40678
ac293d50 406792008-11-08 Robert Millan <rmh@aybabtu.com>
40680
40681 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40682 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40683
0025933a 406842008-11-08 Robert Millan <rmh@aybabtu.com>
40685
40686 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40687 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40688 members. Update all users.
40689 * util/console.c (grub_ncurses_term): Split in ...
40690 (grub_ncurses_term_input): ... this, and ...
40691 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40692 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40693
37c86336 406942008-11-08 Robert Millan <rmh@aybabtu.com>
40695
40696 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40697 (PKGDATA): Add $(pkgdata_SRCDIR).
40698 (pkglib_BUILDDIR): New variable.
40699 (pkgdata_SRCDIR): New variable.
40700 (build_env.mk): New target.
40701 (include_DATA): New variable.
40702 (install-local): Install $(include_DATA) files in $(includedir).
40703
b6c15a2d 407042008-11-07 Pavel Roskin <proski@gnu.org>
40705
d99d46f1 40706 * gendistlist.sh: Use C locale for sorting to ensure consistent
40707 output on all systems.
40708
b6c15a2d 40709 * util/grub.d/00_header.in: Remove incorrect space before
40710 "serial".
40711
c32ee8c9 407122008-11-07 Robert Millan <rmh@aybabtu.com>
40713
40714 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40715 per specification.
40716 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40717 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40718 (based on find_multi_boot1_header).
40719 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40720 using find_multi_boot2_header(), and abort if neither Multiboot or
40721 Multiboot headers were found.
40722
651c29b7 407232008-11-07 Robert Millan <rmh@aybabtu.com>
40724
40725 Modularize at_keyboard.mod:
40726
40727 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40728 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40729 (at_keyboard_mod_LDFLAGS): New variables.
40730
40731 Actual terminal split:
40732
40733 * include/grub/term.h (struct grub_term): Split in ...
40734 (struct grub_term_input): ... this, and ...
40735 (struct grub_term_output): ... this. Update all users.
40736 (grub_term_set_current): Split in ...
40737 (grub_term_set_current_input): ... this, and ...
40738 (grub_term_set_current_output): ... this.
40739 (grub_term_get_current): Split in ...
40740 (grub_term_get_current_input): ... this, and ...
40741 (grub_term_get_current_output): ... this.
40742 (grub_term_register): Split in ...
40743 (grub_term_register_input): ... this, and ...
40744 (grub_term_register_output): ... this.
40745 (grub_term_unregister): Split in ...
40746 (grub_term_unregister_input): ... this, and ...
40747 (grub_term_unregister_output): ... this.
40748 (grub_term_iterate): Split in ...
40749 (grub_term_iterate_input): ... this, and ...
40750 (grub_term_iterate_output): ... this.
40751
40752 * kern/term.c (grub_term_list): Split in ...
40753 (grub_term_list_input): ... this, and ...
40754 (grub_term_list_output): ... this. Update all users.
40755 (grub_cur_term): Split in ...
40756 (grub_cur_term_input): ... this, and ...
40757 (grub_cur_term_output): ... this. Update all users.
40758 (grub_term_set_current): Split in ...
40759 (grub_term_set_current_input): ... this, and ...
40760 (grub_term_set_current_output): ... this.
40761 (grub_term_get_current): Split in ...
40762 (grub_term_get_current_input): ... this, and ...
40763 (grub_term_get_current_output): ... this.
40764 (grub_term_register): Split in ...
40765 (grub_term_register_input): ... this, and ...
40766 (grub_term_register_output): ... this.
40767 (grub_term_unregister): Split in ...
40768 (grub_term_unregister_input): ... this, and ...
40769 (grub_term_unregister_output): ... this.
40770 (grub_term_iterate): Split in ...
40771 (grub_term_iterate_input): ... this, and ...
40772 (grub_term_iterate_output): ... this.
40773
40774 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40775 a check for input and one for output (and only attempt to get keys
40776 from user when input works).
40777
40778 * util/grub-probe.c (grub_term_get_current): Split in ...
40779 (grub_term_get_current_input): ... this, and ...
40780 (grub_term_get_current_output): ... this.
40781 * util/grub-fstest.c: Likewise.
40782 * util/i386/pc/grub-setup.c: Likewise.
40783 * util/grub-editenv.c: Likewise.
40784
40785 Portability adjustments:
40786
40787 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40788 `term/i386/pc/at_keyboard.c'.
40789 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40790 grub_keyboard_controller_init() (now handled by terminal .init).
40791 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40792 grub_at_keyboard_init().
40793 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40794 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40795 at_keyboard.mod via input terminal interface).
40796 * include/grub/i386/coreboot/console.h: Convert into a stub for
40797 `<grub/i386/pc/console.h>'.
40798
40799 Migrate full terminals to new API:
40800
40801 * term/efi/console.c (grub_console_term): Split into ...
40802 (grub_console_term_input): ... this, and ...
40803 (grub_console_term_output): ... this. Update all users.
40804 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40805 (grub_ofconsole_init): Split into ...
40806 (grub_ofconsole_init_input): ... this, and ...
40807 (grub_ofconsole_init_output): ... this.
40808 (grub_ofconsole_term): Split into ...
40809 (grub_ofconsole_term_input): ... this, and ...
40810 (grub_ofconsole_term_output): ... this. Update all users.
40811 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40812 (grub_serial_term_input): ... this, and ...
40813 (grub_serial_term_output): ... this. Update all users.
40814 * term/i386/pc/console.c (grub_console_term): Split into ...
40815 (grub_console_term_input): ... this, and ...
40816 (grub_console_term_output): ... this. Update all users.
40817 (grub_console_term_input): Only enable it on PC/BIOS platform.
40818 (grub_console_init): Remove grub_keyboard_controller_init() call.
40819
40820 Migrate input terminals to new API:
40821
40822 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40823 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40824 i386-specific anyway).
40825 (grub_console_checkkey): Rename to ...
40826 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40827 users.
40828 (grub_keyboard_controller_orig): New variable.
40829 (grub_console_getkey): Rename to ...
40830 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40831 users.
40832 (grub_keyboard_controller_init): Static-ize. Save original
40833 controller value so that it can be restored ...
40834 (grub_keyboard_controller_fini): ... here (new function).
40835 (grub_at_keyboard_term): New structure.
40836 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40837 functions.
40838
40839 Migrate output terminals to new API:
40840
40841 * term/i386/pc/vga.c (grub_vga_term): Change type to
40842 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40843 members. Update all users.
40844 * term/gfxterm.c (grub_video_term): Change type to
40845 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40846 members. Update all users.
40847 * include/grub/i386/pc/console.h (grub_console_checkkey)
40848 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40849 etc).
40850
40851 Migrate `terminal' command and userland tools to new API:
40852
40853 * commands/terminal.c (grub_cmd_terminal): Split into ...
40854 (grub_cmd_terminal_input): ... this, and ...
40855 (grub_cmd_terminal_output): ... this.
40856 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40857 `terminal_input' and `terminal_output'.
40858 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40859 `terminal_input' / `terminal_output' API.
40860 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40861 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40862 provided ${GRUB_TERMINAL}, convert it).
40863
96e5d876 408642008-11-04 Robert Millan <rmh@aybabtu.com>
40865
40866 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40867 for FreeBSD.
40868 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40869
556f3775 408702008-11-03 Bean <bean123ch@gmail.com>
40871
40872 * kern/elf.c (grub_elf32_load): Revert to previous code.
40873 (grub_elf64_load): Likewise.
40874
40875 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40876
926b9823 408772008-11-01 Robert Millan <rmh@aybabtu.com>
40878
40879 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40880 (TARGET_CPPFLAGS): Likewise.
40881 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40882
1432e958 408832008-11-01 Carles Pina i Estany <carles@pina.cat>
40884
40885 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40886
dba3f844 408872008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40888
40889 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40890 addition of objects until the code is not going to be able to fail.
40891
dba3f844 408922008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40893
40894 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40895 (add a missing NULL check, and correct them by moving the pointer
40896 operations after the actual check).
40897
7ab28c21 408982008-10-29 Robert Millan <rmh@aybabtu.com>
40899
40900 * util/i386/pc/grub-install.in: Handle empty string as output from
40901 make_system_path_relative_to_its_root().
40902
1b7748eb 409032008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40904
40905 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40906 circular metadata worst case scenario. If the metadata is circular
40907 then copy the wrap in place.
40908 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40909 project lib/format_text/layout.h
40910 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40911
c9618ab2 409122008-10-03 Felix Zielcke <fzielcke@z-51.de>
40913
7a36edca 40914 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40915
bf981c62 409162008-10-03 Felix Zielcke <fzielcke@z-51.de>
40917
40918 * util/update-grub_lib.in: Mention filename in warning message.
40919
6d994591 409202008-09-29 Felix Zielcke <fzielcke@z-51.de>
40921
40922 * NEWS: Update for rename of update-grub to grub-mkconfig.
40923
18ade780 409242008-09-29 Felix Zielcke <fzielcke@z-51.de>
40925
40926 * util/update-grub_lib.in: Copy to ...
40927 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40928 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40929 * util/update-grub.in: Rename to ...
40930 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40931 option. Add `--output' option to allow users to specify the generated
40932 configuration file. Default to stdout.
40933 (update_grub_dir): Rename to ...
40934 (grub_mkconfig_dir): ... this.
40935 (grub_cfg): Default to an empty string.
40936 * conf/common.rmk (update-grub): Rename to ...
40937 (grub-mkconfig): ... this.
40938 (update-grub_lib): Copy to ...
40939 (grub-mkconfig_lib): ... this.
40940 (update-grub_SCRIPTS): Copy to ...
40941 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40942 (update-grub_DATA): Rename to ...
40943 (grub-mkconfig_DATA): ... this.
40944
556ce6ac 409452008-09-28 Robert Millan <rmh@aybabtu.com>
40946
40947 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40948 to `modified'. Add the real `created' field.
40949 (grub_iso9660_uuid): Use `modified' rather than `created' for
40950 constructing the UUID.
40951
409522008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40953
40954 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40955 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40956
92274e85 409572008-09-28 Bean <bean123ch@gmail.com>
40958
40959 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40960 Thanks to Christian Franke for finding this bug.
40961
add6f17a 409622008-09-25 Robert Millan <rmh@aybabtu.com>
40963
40964 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40965 instances of grub_util_get_disk_name() (see previous commit).
40966
d2a367b8 409672008-09-25 Robert Millan <rmh@aybabtu.com>
40968
40969 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40970 `util/i386/get_disk_name.c'.
40971 * conf/i386-efi.rmk: Likewise.
40972 * conf/x86_64-efi.rmk: Likewise.
40973 * conf/i386-coreboot.rmk: Likewise.
40974 * conf/i386-ieee1275.rmk: Likewise.
40975 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40976 `util/ieee1275/get_disk_name.c'.
40977 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40978 * util/ieee1275/get_disk_name.c: Remove file.
40979 * util/i386/get_disk_name.c: Remove file.
40980 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40981 "hd%d" for device.map entries, rather than using
40982 grub_util_get_disk_name().
40983
81a06771 409842008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40985
40986 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40987 warning.
40988 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40989
5a004279 409902008-09-24 Carles Pina i Estany <carles@pina.cat>
40991
40992 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40993 Changed to 0x5100.
40994 (GRUB_TERM_PPAGE): Changed to 0x4900.
40995
397093d3 409962008-09-24 Robert Millan <rmh@aybabtu.com>
40997
40998 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40999 macros (they were i386-pc specific).
41000 * include/grub/sparc64/ieee1275/console.h: Likewise.
41001 * include/grub/efi/console.h: Likewise.
41002
a91b6c7c 410032008-09-22 Bean <bean123ch@gmail.com>
41004
41005 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41006 resident and in attribute list.
41007
41008 * include/grub/ntfs.h (BMP_LEN): Removed.
41009
c40fd116 410102008-09-22 Bean <bean123ch@gmail.com>
41011
81a06771 41012 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41013 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41014
41015 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41016 error occurs, as grub_disk_open will call grub_disk_close, which will
41017 call p->close (scsi).
41018
81a06771 410192008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41020
41021 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41022 (AC_PREREQ): Bumped to 2.59.
41023 (AC_TRY_COMPILE): Replace obsolete macro with ...
41024 (AC_COMPILE_IFELSE): ... this.
41025 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41026 (AC_LINK_IFELSE): ... this.
41027
5dc43410 410282008-09-21 Felix Zielcke <fzielcke@z-51.de>
41029
41030 * autogen.sh: Add a call to `gendistlist.sh'.
41031
9035dce4 410322008-09-19 Christian Franke <franke@computer.org>
41033
41034 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41035 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41036 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41037 Export __enable_execute_stack() to modules.
41038 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41039 New function.
41040
7fd75377 410412008-09-09 Felix Zielcke <fzielcke@z-51.de>
41042
040030b3 41043 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41044 Sort the list.
41045
410462008-09-09 Felix Zielcke <fzielcke@z-51.de>
41047
41048 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41049 #include <grub/util/hostdisk.h>.
41050
89d5ffcf 410512008-09-08 Robert Millan <rmh@aybabtu.com>
41052
41053 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41054 segments when their filesz is zero (grub_file_read() interprets
81a06771 41055 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41056 Use `lowest_segment' rather than 0 for calculating the current
41057 segment load address.
41058
40da438f 410592008-09-08 Robert Millan <rmh@aybabtu.com>
41060
41061 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41062 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41063 clobbered useful information.
41064
ddbf5556 410652008-09-08 Robert Millan <rmh@aybabtu.com>
41066
41067 * include/grub/util/biosdisk.h: Move to ...
41068 * include/grub/util/hostdisk.h: ... here. Update all users.
41069 * util/biosdisk.c: Move to ...
41070 * util/hostdisk.c: ... here. Update all users.
41071
783d0f48 410722008-09-07 Robert Millan <rmh@aybabtu.com>
41073
41074 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41075 variables.
41076 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41077 and length can be stored directly in the `mbi->mmap_addr' and
41078 `mbi->mmap_length' struct fields.
41079
548e2ea5 410802008-09-07 Robert Millan <rmh@aybabtu.com>
41081
41082 * conf/i386.rmk: New file. Provides declaration for building
41083 `cpuid.mod'.
41084 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41085 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41086 variables.
41087 Include `conf/i386.mk'.
41088 * conf/i386-efi.rmk: Likewise.
41089 * conf/x86_64-efi.rmk: Likewise.
41090 * conf/i386-coreboot.rmk: Likewise.
41091 * conf/i386-ieee1275.rmk: Likewise.
41092
0ea85a37 410932008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41094
41095 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41096 Adds optimization support for BGR based modes.
41097
41098 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41099 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41100 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41101 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41102 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41103 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41104 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41105 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41106 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41107 (grub_video_i386_vbeblit_index_index): Likewise.
41108 (grub_video_i386_vbeblit_replace_directN): Added.
41109 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41110 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41111 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41112 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41113 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41114 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41115 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41116 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41117 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41118 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41119 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41120 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41121 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41122
41123 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41124 (grub_video_i386_vbefill_R8G8B8): Likewise.
41125 (grub_video_i386_vbefill_index): Likewise.
41126 (grub_video_i386_vbefill_direct32): Added.
41127 (grub_video_i386_vbefill_direct24): Likewise.
41128 (grub_video_i386_vbefill_direct16): Likewise.
41129 (grub_video_i386_vbefill_direct8): Likewise.
41130
81a06771 41131 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41132 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41133 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41134 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41135 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41136 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41137
0ea85a37 41138 * video/video.c (grub_video_get_blit_format): Updated to use new
41139 blit formats. Added handling for 16 bit color modes.
81a06771 41140
41141 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41142 fillers.
41143 (common_blitter): Updated to use new blitters.
41144
41145 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41146 Removed.
41147 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41148 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41149 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41150 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41151 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41152 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41153 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41154 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41155 (grub_video_i386_vbeblit_index_index): Likewise.
41156 (grub_video_i386_vbeblit_replace_directN): Added.
41157 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41158 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41159 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41160 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41161 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41162 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41163 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41164 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41165 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41166 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41167 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41168 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41169 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41170
0ea85a37 41171 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41172 (grub_video_i386_vbefill_R8G8B8): Likewise.
41173 (grub_video_i386_vbefill_index): Likewise.
41174 (grub_video_i386_vbefill_direct32): Added.
41175 (grub_video_i386_vbefill_direct24): Likewise.
41176 (grub_video_i386_vbefill_direct16): Likewise.
41177 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41178
0ea85a37 41179 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41180 types.
81a06771 41181
0ea85a37 41182 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41183 types.
81a06771 41184
0ea85a37 41185 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41186 blitter types.
81a06771 41187
0ea85a37 41188 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41189 types.
41190
e8a83df6 411912008-09-06 Felix Zielcke <fzielcke@z-51.de>
41192
41193 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41194 RAID level 1.
41195
6bcd8ee5 411962008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41197
6bcd8ee5 41198 * fs/iso9660.c (grub_iso9660_date): New structure.
41199 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41200 (grub_iso9660_uuid): New function.
c375ae58 41201
59261157 412022008-09-05 Bean <bean123ch@gmail.com>
41203
41204 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41205
41206 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41207 insensitive bit for names in Win32 and Win32 & DOS namespace.
41208
41209 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41210
41211 * include/grub/types.h (LONG_MAX): Likewise.
41212
58b6645a 412132008-09-04 Felix Zielcke <fzielcke@z-51.de>
41214
4ee55921 41215 * util/getroot.c: Include <config.h>.
41216 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41217 add support for /dev/md/N devices and handle LVM double dash escaping.
41218
412192008-09-04 Felix Zielcke <fzielcke@z-51.de>
41220
41221 * config.guess: Update to latest version from config git.
41222 * config.sub: Likewise.
58b6645a 41223
9124f65d 412242008-09-03 Robert Millan <rmh@aybabtu.com>
41225
41226 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41227 `disk->total_sectors'.
41228
81a06771 412292008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41230
41231 * include/grub/normal.h: Fixed incorrect comment for
41232 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41233
81a06771 412342008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41235
41236 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41237 values with defines.
41238
41239 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41240 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41241 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41242 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41243 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41244 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41245 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41246 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41247 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41248 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41249 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41250 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41251 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41252 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41253 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41254 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41255 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41256 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41257 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41258
93d5cbf8 412592008-08-31 Robert Millan <rmh@aybabtu.com>
41260
41261 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41262 declaration.
41263 (grub_multiboot): Fix a few warnings.
41264
21751d50 412652008-08-31 Robert Millan <rmh@aybabtu.com>
41266
41267 * loader/i386/pc/multiboot.c: Update comment not to say that
41268 boot_device support is unimplemented.
41269
e27a75c5 412702008-08-31 Robert Millan <rmh@aybabtu.com>
41271
41272 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41273 or memory map support are unimplemented.
41274
81a06771 412752008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41276
41277 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41278
81a06771 412792008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41280
41281 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41282 total video memory in 'vbeinfo' output; show color format details for
41283 each video mode.
41284
7c5d8d95 412852008-08-30 Pavel Roskin <proski@gnu.org>
41286
41287 * util/genmoddep.c: Remove for real this time.
41288 * DISTLIST: Remove util/genmoddep.c.
41289
4cebd25a 412902008-08-30 Robert Millan <rmh@aybabtu.com>
41291
41292 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41293 as required by Multiboot spec (it was already 4-byte aligned, but
41294 only by chance).
41295
b497a269 412962008-08-29 Pavel Roskin <proski@gnu.org>
41297
e3925185 41298 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41299 * kern/powerpc/ieee1275/startup.S: ... this.
41300 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41301 * DISTLIST: Likewise.
41302
b497a269 41303 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41304 grub/cpu/kernel.h. Add start label for consistency with other
41305 platforms. Add grub_prefix immediately after start. Add jump
41306 to the code after grub_prefix.
41307 * include/grub/powerpc/kernel.h: Provide valid values for
41308 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41309
6e5a42fe 413102008-08-29 Bean <bean123ch@gmail.com>
41311
41312 * configure.ac: Change host_os to cygwin for mingw.
41313 (asprintf): New check for function.
41314
41315 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41316 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41317
41318 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41319 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41320 sync, sleep and grub_util_get_disk_size for mingw.
41321
41322 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41323 to get size in mingw.
41324 (open_device): Use flag O_BINARY if it's defined.
41325 (find_root_device): Add dummy code for mingw.
41326
41327 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41328 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41329 (get_scsi_disk_name): Return 0 for mingw.
41330
41331 * util/hostfs.c: #include <grub/util/misc.h>.
41332 (grub_hostfs_open): Use "rb" flag to open file, use
41333 grub_util_get_disk_size to get disk size for mingw.
41334
41335 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41336 (asprintf): New function if HAVE_ASPRINTF is not set.
41337 (sync): New function for mingw.
41338 (sleep): Likewise.
41339 (grub_util_get_disk_size): Likewise.
41340
ab3f2673 413412008-08-28 Pavel Roskin <proski@gnu.org>
41342
41343 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41344 kern/time.c.
41345
1c282483 413462008-08-28 Robert Millan <rmh@aybabtu.com>
41347
41348 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41349
678e849c 413502008-08-28 Robert Millan <rmh@aybabtu.com>
41351
41352 Change find_grub_drive() syntax so it doesn't prevent it from
41353 detecting NULL names as errors.
41354
41355 * util/biosdisk.c (find_grub_drive): Move free slot search code
41356 from here ...
41357 (find_free_slot): ... to here.
41358 (read_device_map): Use find_free_slot() to search for free slots.
41359
965c75ca 413602008-08-27 Marco Gerards <marco@gnu.org>
41361
41362 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41363 (scsi_mod_SOURCES): New variable.
41364 (scsi_mod_CFLAGS): Likewise
41365 (scsi_mod_LDFLAGS): Likewise.
41366
41367 * disk/scsi.c: New file.
41368
41369 * include/grub/scsi.h: Likewise.
41370
41371 * include/grub/scsicmd.h: Likewise.
41372
41373 * disk/ata.c: Include <grub/scsi.h>.
41374 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41375 instead.
41376 (grub_ata_iterate): Skip ATAPI devices.
41377 (grub_ata_open): Only handle ATAPI devices.
41378 (struct grub_atapi_read): Removed.
41379 (grub_atapi_readsector): Likewise.
41380 (grub_ata_read): No longer handle ATAPI devices.
41381 (grub_ata_write): Likewise.
41382 (grub_atapi_iterate): New function.
41383 (grub_atapi_read): Likewise.
41384 (grub_atapi_write): Likewise.
41385 (grub_atapi_open): Likewise.
41386 (grub_atapi_close): Likewise.
41387 (grub_atapi_dev): New variable.
41388 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41389 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41390
41391 * include/grub/disk.h (enum grub_disk_dev_id): Add
41392 `GRUB_DISK_DEVICE_SCSI_ID'.
41393
c07ae501 413942008-08-26 Robert Millan <rmh@aybabtu.com>
41395
41396 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41397 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41398 descriptive.
41399
5ed20adc 414002008-08-23 Bean <bean123ch@gmail.com>
41401
41402 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41403 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41404 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41405 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41406 dm_nv.mod.
41407 (raid5rec_mod_SOURCES): New macro.
41408 (raid5rec_mod_CFLAGS): Likewise.
41409 (raid5rec_mod_LDFLAGS): Likewise.
41410 (raid6rec_mod_SOURCES): Likewise.
41411 (raid6rec_mod_CFLAGS): Likewise.
41412 (raid6rec_mod_LDFLAGS): Likewise.
41413 (mdraid_mod_SOURCES): Likewise.
41414 (mdraid_mod_CFLAGS): Likewise.
41415 (mdraid_mod_LDFLAGS): Likewise.
41416 (dm_nv_mod_SOURCES): Likewise.
41417 (dm_nv_mod_CFLAGS): Likewise.
41418 (dm_nv_mod_LDFLAGS): Likewise.
41419
41420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41421 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41422 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41423
41424 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41425 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41426
41427 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41428
41429 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41430
41431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41432
41433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41434
41435 * disk/raid5_recover.c: New file.
41436
41437 * disk/raid6_recover.c: Likewise.
41438
41439 * disk/mdraid_linux.c: Likewise.
41440
41441 * disk/dmraid_nvidia.c: Likewise.
41442
41443 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41444 ULONG_MAX.
41445
41446 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41447 calculate the size of raid device.
41448 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41449 different layout of raid5.
41450 (grub_raid_scan_device): Remove code specific to mdraid.
41451 (grub_raid_list): New variable.
41452 (free_array): New function.
41453 (grub_raid_register): Likewise.
41454 (grub_raid_unregister): Likewise.
41455 (grub_raid_rescan): Likewise.
41456 (GRUB_MOD_INIT): Don't iterate device here.
41457 (GRUB_MOD_FINI): Use free_array to release resource.
41458
41459 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41460 (grub_raid5_recover_func_t): New function variable type.
41461 (grub_raid6_recover_func_t): Likewise.
41462 (grub_raid5_recover_func): New variable.
41463 (grub_raid6_recover_func): Likewise.
41464 (grub_raid_register): New function.
41465 (grub_raid_unregister): Likewise.
41466 (grub_raid_rescan): Likewise.
41467 (grub_raid_block_xor): Likewise.
41468
41469 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41470 (CMD_CRC): New macro.
41471 (part): Removed.
41472 (read_file): Handle device as well as file.
41473 (cmd_crc): New function.
41474 (fstest): Handle multiple disks.
41475 (options): Remove part, raw and long, add root and diskcount.
41476 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41477 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41478 add handling for the new options, support multiple disks.
41479
41480 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41481
29c18915 414822008-08-23 Bean <bean123ch@gmail.com>
41483
41484 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41485
41486 * genfslist.sh: Ignore kernel.mod.
41487
41488 * genpartmaplist.sh: Likewise.
41489
8415f261 414902008-08-23 Robert Millan <rmh@aybabtu.com>
41491
41492 * util/getroot.c (find_root_device): Skip anything that starts with
41493 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41494
d5a7dc5b 414952008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41496
d5a7dc5b 41497 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41498 * util/grub.d/00_header.in: Allow the administrator to change default
41499 gfxmode via ${GRUB_GFXMODE}.
41500
380cfbb4 415012008-08-21 Felix Zielcke <fzielcke@z-51.de>
41502
41503 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41504
c9baafe7 415052008-08-21 Robert Millan <rmh@aybabtu.com>
41506
41507 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41508 loader.
41509 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41510 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41511
e290bef2 415122008-08-20 Carles Pina i Estany <carles@pina.cat>
41513
41514 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41515 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41516
f9dbfc96 415172008-08-19 Robert Millan <rmh@aybabtu.com>
41518
41519 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41520 (struct grub_virtual_screen): Remove `cursor_color'.
41521 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41522 initialization.
41523 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41524
dd6bd6ab 415252008-08-18 Robert Millan <rmh@aybabtu.com>
41526
41527 Unify (identical) linux_normal.c files.
41528 * loader/i386/efi/linux_normal.c: Move from here ...
41529 * loader/linux_normal.c: ... to here. Update all users.
41530 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41531 * loader/i386/ieee1275/linux_normal.c: Likewise.
41532
7f42f83e 415332008-08-18 Robert Millan <rmh@aybabtu.com>
41534
41535 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41536 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41537 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41538 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41539 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41540 New macros.
41541 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41542 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41543 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41544 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41545 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41546 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41547 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41548 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41549 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41550 portably using grub_getxy().
41551 Replace `-EFI' with `-bzImage' in boot message.
41552
38487ddb 415532008-08-17 Robert Millan <rmh@aybabtu.com>
41554
41555 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41556
deceb3ec 415572008-08-17 Robert Millan <rmh@aybabtu.com>
41558
41559 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41560
41561 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41562 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41563 (grub_machine_mmap_iterate): New function declaration.
41564 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41565 structure.
41566 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41567 macros.
41568
41569 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41570 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41571 Move e820 parsing from here ...
41572 * kern/i386/pc/mmap.c: New file.
41573 (grub_machine_mmap_iterate): ... to here.
41574
41575 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41576 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41577 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41578 (grub_available_iterate): Redeclare to return `void', and redeclare
41579 its hook to use grub_uint64_t as addr and size parameters, and rename
41580 to ...
41581 (grub_machine_mmap_iterate): ... this. Update all users.
41582
41583 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41584 to make it more readable. Rename to ...
41585 (grub_machine_mmap_iterate): ... this.
41586
41587 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41588 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41589 (grub_multiboot): Allocate an extra region after the payload, and fill
41590 it with a Multiboot memory map. Adjust a.out loader to calculate size
41591 with the extra space.
41592 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41593 with the extra space.
41594
f8aa0f43 415952008-08-17 Carles Pina i Estany <carles@pina.cat>
41596
9807deb9 41597 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41598
605f5bb6 415992008-08-17 Felix Zielcke <fzielcke@z-51.de>
41600
41601 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41602 mdate-sh to the list `find' searches for.
41603 * DISTLIST: Regenerated.
41604
210db6c6 416052008-08-16 Felix Zielcke <fzielcke@z-51.de>
41606
41607 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41608 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41609 genmoddep.awk, gensymlist.sh.in.
41610 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41611 * DISTLIST: Regenerated.
48cdbfd4 41612 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41613
1082b929 416142008-08-16 Robert Millan <rmh@aybabtu.com>
41615
41616 * disk/raid.c (grub_raid_init): Handle/report errors set by
41617 grub_device_iterate().
41618 * disk/lvm.c (grub_lvm_init): Likewise.
41619
42ce5170 416202008-08-15 Bean <bean123ch@gmail.com>
41621
41622 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41623 and datehook.mod.
41624 (datetime_mod_SOURCES): New macro.
41625 (datetime_mod_CFLAGS): Likewise.
41626 (datetime_mod_LDFLAGS): Likewise.
41627 (date_mod_SOURCES): Likewise.
41628 (date_mod_CFLAGS): Likewise.
41629 (date_mod_LDFLAGS): Likewise.
41630 (datehook_mod_SOURCES): Likewise.
41631 (datehook_mod_CFLAGS): Likewise.
41632 (datehook_mod_LDFLAGS): Likewise.
41633
41634 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41635 and datehook.mod.
41636 (datetime_mod_SOURCES): New macro.
41637 (datetime_mod_CFLAGS): Likewise.
41638 (datetime_mod_LDFLAGS): Likewise.
41639 (date_mod_SOURCES): Likewise.
41640 (date_mod_CFLAGS): Likewise.
41641 (date_mod_LDFLAGS): Likewise.
41642 (datehook_mod_SOURCES): Likewise.
41643 (datehook_mod_CFLAGS): Likewise.
41644 (datehook_mod_LDFLAGS): Likewise.
41645
41646 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41647 and datehook.mod.
41648 (datetime_mod_SOURCES): New macro.
41649 (datetime_mod_CFLAGS): Likewise.
41650 (datetime_mod_LDFLAGS): Likewise.
41651 (date_mod_SOURCES): Likewise.
41652 (date_mod_CFLAGS): Likewise.
41653 (date_mod_LDFLAGS): Likewise.
41654 (datehook_mod_SOURCES): Likewise.
41655 (datehook_mod_CFLAGS): Likewise.
41656 (datehook_mod_LDFLAGS): Likewise.
41657
41658 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41659 and datehook.mod.
41660 (datetime_mod_SOURCES): New macro.
41661 (datetime_mod_CFLAGS): Likewise.
41662 (datetime_mod_LDFLAGS): Likewise.
41663 (date_mod_SOURCES): Likewise.
41664 (date_mod_CFLAGS): Likewise.
41665 (date_mod_LDFLAGS): Likewise.
41666 (datehook_mod_SOURCES): Likewise.
41667 (datehook_mod_CFLAGS): Likewise.
41668 (datehook_mod_LDFLAGS): Likewise.
41669
41670 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41671 and datehook.mod.
41672 (datetime_mod_SOURCES): New macro.
41673 (datetime_mod_CFLAGS): Likewise.
41674 (datetime_mod_LDFLAGS): Likewise.
41675 (date_mod_SOURCES): Likewise.
41676 (date_mod_CFLAGS): Likewise.
41677 (date_mod_LDFLAGS): Likewise.
41678 (datehook_mod_SOURCES): Likewise.
41679 (datehook_mod_CFLAGS): Likewise.
41680 (datehook_mod_LDFLAGS): Likewise.
41681
41682 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41683
41684 * commands/date.c: New file.
41685
41686 * hook/datehook.c: Likewise.
41687
41688 * include/grub/lib/datetime.h: Likewise.
41689
41690 * include/grub/i386/cmos.h: Likewise.
41691
41692 * lib/datetime.c: Likewise.
41693
41694 * lib/i386/datetime.c: Likewise.
41695
41696 * lib/efi/datetime.c: Likewise.
41697
0e9242da 416982008-08-14 Robert Millan <rmh@aybabtu.com>
41699
41700 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41701 (grub_mkelfimage_SOURCES): New variable.
41702 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41703
41704 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41705 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41706 * conf/powerpc-ieee1275.rmk: Likewise.
41707 * conf/i386-ieee1275.rmk: Likewise.
41708
41709 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41710 * kern/i386/coreboot/init.c: Likewise.
41711
41712 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41713 with `<grub/cpu/kernel.h>'.
41714 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41715 to ...
41716 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41717 * kern/i386/coreboot/startup.S: Likewise.
41718
41719 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41720 (GRUB_MOD_GAP): Remove.
41721 * include/grub/powerpc/kernel.h: New file.
41722 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41723 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41724 * include/grub/i386/kernel.h: New file.
41725 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41726 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41727 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41728
41729 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41730 `grub-mkelfimage'.
41731 Use --directory when invoking grub_mkimage.
41732
41733 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41734 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41735 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41736 and GRUB_KERNEL_CPU_PREFIX.
41737
b86408f8 417382008-08-14 Felix Zielcke <fzielcke@z-51.de>
41739
d5e619ca 41740 * include/grub/err.h (grub_err_printf): New function prototype.
41741 * util/misc.c (grub_err_printf): New function.
41742 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41743 grub_printf.
41744 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41745
7161f0e0 417462008-08-13 Robert Millan <rmh@aybabtu.com>
41747
41748 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41749
a1967522 417502008-08-13 Robert Millan <rmh@aybabtu.com>
41751
41752 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41753 boot entry.
41754
371458b5 417552008-08-12 Robert Millan <rmh@aybabtu.com>
41756
41757 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41758 of the relocation code from here ...
41759 (grub_multiboot): ... to here.
41760 (forward_relocator, backward_relocator): Move from here ...
41761 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41762 (grub_multiboot_backward_relocator): ... to here.
41763 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41764 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41765 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41766 (grub_multiboot_forward_relocator_end)
41767 (grub_multiboot_backward_relocator)
41768 (grub_multiboot_backward_relocator_end): New variables.
41769
05f9452b 417702008-08-12 Bean <bean123ch@gmail.com>
41771
41772 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41773
20024ab0 417742008-08-11 Robert Millan <rmh@aybabtu.com>
41775
41776 * kern/i386/linuxbios/startup.S: Move from here ...
41777 * kern/i386/coreboot/startup.S: ... to here.
41778
41779 * kern/i386/linuxbios/init.c: Move from here ...
41780 * kern/i386/coreboot/init.c: ... to here.
41781
41782 * kern/i386/linuxbios/table.c: Move from here ...
41783 * kern/i386/coreboot/mmap.c: ... to here.
41784
41785 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41786
e352e9cd 417872008-08-11 Robert Millan <rmh@aybabtu.com>
41788
41789 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41790 errors. Leave it to the upper layer to handle them.
41791
2d05bc6a 417922008-08-09 Christian Franke <franke@computer.org>
41793
41794 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41795 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41796 Install `grub.d/10_windows' only on Cygwin.
41797 * configure.ac: Add subst of `target_os'.
41798 Check `target_os' also before setting TARGET_OBJ2ELF.
41799 Add `--enable-grub-pe2elf'.
41800
042bd419 418012008-08-08 Robert Millan <rmh@aybabtu.com>
41802
41803 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41804 (grub_last_time): Change type to grub_uint64_t.
41805 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41806 (grub_disk_close): Likewise.
41807
41808 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41809 (run_menu): Migrate code from to using grub_get_time_ms().
41810
41811 * util/misc.c (grub_get_time_ms): New function.
41812
7f280db5 418132008-08-08 Marco Gerards <marco@gnu.org>
41814
41815 * disk/ata.c (grub_ata_regget): Change return type to
41816 `grub_uint8_t'.
41817 (grub_ata_regget2): Likewise.
41818 (grub_ata_wait_status): New function.
41819 (grub_ata_wait_busy): Removed function, updated all users to use
41820 `grub_ata_wait_status'.
41821 (grub_ata_wait_drq): Likewise.
41822 (grub_ata_cmd): New function.
41823 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41824 error handling.
41825 (grub_ata_pio_write): Add error handling.
41826 (grub_atapi_identify): Likewise.
41827 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41828 handling.
41829 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41830 handling. Actually use the detected registers. Reorder the
41831 detection logic such that it is easier to read.
41832 (grub_ata_pciinit): Do not assign the same ID to each controller.
41833 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41834 handling.
41835 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41836
41837 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41838
1fbc5e66 418392008-08-08 Marco Gerards <marco@gnu.org>
41840
41841 * NEWS: Update.
41842
819ce6c0 418432008-08-07 Bean <bean123ch@gmail.com>
41844
41845 * include/grub/x86_64/pci.h: New file.
41846
5c41d44d 418472008-08-07 Christian Franke <franke@computer.org>
41848
41849 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41850 (TIMER2_GATE): Likewise.
41851 (grub_pit_wait): Add enable/disable of the timer2 gate
41852 bit of port 0x61. This fixes a possible infinite loop.
41853
5ebc275d 418542008-08-07 Bean <bean123ch@gmail.com>
41855
41856 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41857 kern/i386/tsc.c and kern/i386/pit.c.
41858
41859 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41860 x86_64 platform.
41861
41862 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41863 <grub/i386/tsc.h>.
41864
41865 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41866
e383b3d0 418672008-08-07 Bean <bean123ch@gmail.com>
41868
41869 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41870
41871 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41872
41873 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41874 multiple inclusion. Add #include <grub/types.h>.
41875
1cbb58ac 418762008-08-06 Christian Franke <franke@computer.org>
41877
41878 * conf/common.rmk: Build and install `10_windows'.
41879 * util/grub.d/10_windows.in: New script.
41880
337f5a1e 418812008-08-06 Pavel Roskin <proski@gnu.org>
41882
41883 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41884
057bc4ac 418852008-08-06 Robert Millan <rmh@aybabtu.com>
41886
41887 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41888 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41889
2b99f123 418902008-08-06 Bean <bean123ch@gmail.com>
41891
41892 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41893 (grub_pxefs_fs_int): Remove dummy definition.
41894 (grub_pxefs_open): Use data->block_size to store the current block
41895 size setting.
41896 (grub_pxefs_read): Use block size stored in data->block_size. As the
41897 value of grub_pxe_blksize can be changed after the file is opened.
41898
9f0234cb 418992008-08-06 Bean <bean123ch@gmail.com>
41900
41901 * fs/i386/pc/pxe.c (curr_file): new variable.
41902 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41903 require the dummy internal file system anymore.
41904 (grub_pxefs_read): Removed.
41905 (grub_pxefs_close): Likewise.
41906 (grub_pxefs_fs_int): Likewise.
41907 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41908 connection when we switch file.
41909 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41910
a55d42e0 419112008-08-06 Robert Millan <rmh@aybabtu.com>
41912
41913 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41914 `halt.mod'.
41915 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41916 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41917
41918 * kern/i386/halt.c: New file.
41919 * kern/i386/reboot.c: Likewise.
41920 * include/grub/i386/reboot.h: Likewise.
41921 * include/grub/i386/halt.h: Likewise.
41922
41923 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41924 Include `<grub/cpu/halt.h>'.
41925 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41926 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41927
41928 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41929 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41930 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41931 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41932 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41933 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41934 from here ...
41935 * include/grub/i386/at_keyboard.h: ... to here.
41936
24371d26 419372008-08-05 Robert Millan <rmh@aybabtu.com>
41938
41939 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41940 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41941 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41942 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41943 `kern/generic/millisleep.c'.
41944
41945 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41946 instead of grub_get_rtc().
41947 (grub_tsc_init): Initialize `tsc_boot_time'.
41948
41949 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41950 (grub_machine_init): Use grub_tsc_init() rather than
41951 installing an RTC-based handler via grub_install_get_time_ms().
41952
41953 * kern/i386/pit.c: New file.
41954 * include/grub/i386/pit.h: Likewise.
41955
9e7007b3 419562008-08-05 Bean <bean123ch@gmail.com>
41957
41958 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41959
41960 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41961 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41962 (pxe_mod_SOURCES): New macro.
41963 (pxe_mod_CFLAGS): Likewise.
41964 (pxe_mod_LDFLAGS): Likewise.
41965 (pxecmd_mod_SOURCES): Likewise.
41966 (pxecmd_mod_CFLAGS): Likewise.
41967 (pxecmd_mod_LDFLAGS): Likewise.
41968
41969 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41970 (grub_pxe_call): Likewise.
41971
41972 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41973
41974 * commands/i386/pc/pxecmd.c: New file.
41975
9f0234cb 41976 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41977
41978 * include/grub/i386/pc/pxe.h: Likewise.
41979
6977d49f 419802008-08-05 Bean <bean123ch@gmail.com>
41981
41982 * util/console.c (grub_console_cur_color): New variable.
41983 (grub_console_standard_color): Likewise.
41984 (grub_console_normal_color): Likewise.
41985 (grub_console_highlight_color): Likewise.
41986 (color_map): Likewise.
41987 (use_color): Likewise.
41988 (NUM_COLORS): New macro.
41989 (grub_ncurses_setcolorstate): Handle color properly.
41990 (grub_ncurses_setcolor): Don't change color here, just remember the
41991 settings, color will be set in grub_ncurses_setcolorstate.
41992 (grub_ncurses_getcolor): New function.
41993 (grub_ncurses_init): Initialize color pairs.
41994 (grub_ncurses_term): New member grub_ncurses_getcolor.
41995
9c2ff3ee 419962008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41997
9c2ff3ee 41998 High resolution timer support. Implemented for x86 CPUs using TSC.
41999 Extracted generic grub_millisleep() so it's linked in only as needed.
42000 This requires a Pentium compatible CPU; if the RDTSC instruction is
42001 not supported, then it falls back on the generic grub_get_time_ms()
42002 implementation that uses the machine's RTC.
42003
42004 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42005 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42006 `kern/generic/millisleep.c'.
42007
42008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42009 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42010
42011 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42012 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42013
42014 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42015
42016 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42017 `kern/generic/millisleep.c'.
42018
42019 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42020
42021 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42022
42023 * kern/generic/rtc_get_time_ms.c: New file.
42024
42025 * kern/generic/millisleep.c: New file.
337f5a1e 42026
9c2ff3ee 42027 * kern/misc.c: Don't include
42028 <kern/time.h> anymore.
42029 (grub_millisleep_generic): Removed.
42030
42031 * commands/sleep.c (grub_interruptible_millisleep): Uses
42032 grub_get_time_ms() instead of grub_get_rtc().
42033
42034 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42035 function.
42036 (grub_cpu_is_cpuid_supported): New inline function.
42037 (grub_cpu_is_tsc_supported): New inline function.
42038 (grub_tsc_init): New function prototype.
42039 (grub_tsc_get_time_ms): New function prototype.
42040
42041 * kern/i386/tsc.c (grub_get_time_ms): New file.
42042
42043 * include/grub/time.h: Include <grub/types.h.
42044 (grub_millisleep_generic): Removed.
42045 (grub_get_time_ms): New prototype.
42046 (grub_install_get_time_ms): New prototype.
42047 (grub_rtc_get_time_ms): New prototype.
42048
42049 * kern/time.c (grub_get_time_ms): New function.
42050 (grub_install_get_time_ms): New function.
42051
42052 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42053 <grub/time.h> anymore.
42054 (grub_millisleep): Removed.
42055 (grub_machine_init): Call grub_tsc_init.
42056
42057 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42058 get_time_ms() implementation.
42059
42060 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42061 (ieee1275_get_time_ms): New function.
42062 (grub_machine_init): Install get_time_ms() implementation.
42063
42064 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42065 (grub_machine_init): Call grub_tsc_init().
42066 (grub_millisleep): Removed.
bf06a93f 42067
9c2ff3ee 42068 * kern/ieee1275/init.c (grub_millisleep): Removed.
42069 (grub_machine_init): Install ieee1275_get_time_ms()
42070 implementation.
42071 (ieee1275_get_time_ms): New function.
42072 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42073 real work.
42074
9ec92aaf 420752008-08-05 Marco Gerards <marco@gnu.org>
42076
42077 * disk/ata.c: Include <grub/pci.h>.
42078 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42079 (grub_ata_initialize): Rewritten.
42080 (grub_ata_device_initialize): New function.
42081
8d23f507 420822008-08-04 Pavel Roskin <proski@gnu.org>
42083
42084 * kern/main.c: Include grub/mm.h.
42085
5e15ee3d 420862008-08-04 Robert Millan <rmh@aybabtu.com>
42087
42088 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42089 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42090 corruption problem).
42091
a9053f8f 420922008-08-04 Robert Millan <rmh@aybabtu.com>
42093
42094 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42095 warnings introduced in my last commit.
42096
dd19c7d7 420972008-08-03 Robert Millan <rmh@aybabtu.com>
42098
42099 Make PCI available on all i386 architectures.
42100
42101 * include/grub/i386/pc/pci.h: Move from here ...
42102 * include/grub/i386/pci.h: ... to here.
42103
42104 * include/grub/i386/pc/pci.h: Remove.
42105 * include/grub/i386/efi/pci.h: Remove.
42106 * include/grub/x86_64/efi/pci.h: Remove.
42107
42108 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42109 `<grub/cpu/pci.h>'.
42110
42111 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42112 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42113 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42114
42115 * conf/i386-ieee1275.rmk: Likewise.
42116
e14a6184 421172008-08-03 Robert Millan <rmh@aybabtu.com>
42118
42119 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42120 (grub_console_setcursor): Make it possible to set cursor off.
42121
52768e37 421222008-08-03 Robert Millan <rmh@aybabtu.com>
42123
42124 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42125 of modules instead of assuming which platform provides what.
42126 * util/update-grub.in: Likewise.
42127
2d52f57f 421282008-08-03 Robert Millan <rmh@aybabtu.com>
42129
42130 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42131 instead of `grub_install_dos_part' to determine whether a drive needs
42132 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42133 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42134
2a5cd121 421352008-08-02 Robert Millan <rmh@aybabtu.com>
42136
42137 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42138
93808428 421392008-08-02 Robert Millan <rmh@aybabtu.com>
42140
42141 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42142 of informational grub_dprintf() calls.
42143
3bd0a12a 421442008-08-02 Robert Millan <rmh@aybabtu.com>
42145
42146 * disk/memdisk.c (memdisk_size): Don't initialize.
42147 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42148
42149 * include/grub/i386/pc/kernel.h
42150 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42151 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42152 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42153 (grub_arch_memdisk_size): Remove.
42154
42155 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42156 field (was only used to transfer a constant). Add `type' field to
42157 support multiple module types.
42158 (grub_module_iterate): New function.
42159
42160 * kern/device.c (grub_device_open): Do not hide error messages
42161 when grub_disk_open() fails. Use grub_print_error() instead.
42162
42163 * kern/i386/pc/init.c (grub_arch_modules_addr)
42164 (grub_arch_memdisk_size): Remove functions.
42165 (grub_arch_modules_addr): Return the module address in high memory
42166 (now that it isn't copied anymore).
42167
42168 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42169 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42170 decompression routine (grub_total_module_size already includes that
42171 now). Don't copy modules back to low memory.
42172
42173 * kern/main.c: Include `<grub/mm.h>'.
42174 (grub_load_modules): Split out (and use) ...
42175 (grub_module_iterate): ... this function, which iterates through
42176 module objects and runs a hook.
42177 Comment out grub_mm_init_region() call, as it would cause non-ELF
42178 modules to be overwritten.
42179
42180 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42181 the memdisk image in its own region, make it part of the module list.
42182 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42183 (main): Parse --memdisk|-m option, and pass user-provided path as
42184 parameter to generate_image().
42185 (add_segments): Pass `memdisk_path' down to load_modules().
42186 (load_modules): Embed memdisk image in module section when requested.
42187 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42188 `header.type' instead of `header.offset'.
42189
42190 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42191 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42192 (memdisk_mod_LDFLAGS): New variables.
42193 * conf/i386-coreboot.rmk: Likewise.
42194 * conf/i386-ieee1275.rmk: Likewise.
42195
a927cc73 421962008-08-02 Robert Millan <rmh@aybabtu.com>
42197
42198 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42199 (backward_relocator): New variables. Used to allocate and relocate
42200 the payload, respectively.
42201 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42202 address, install the appropriate relocator code in each bound of
a927cc73 42203 the payload, and set the entry point such that
42204 grub_multiboot_real_boot() will jump to one of them.
42205
42206 * kern/i386/loader.S (grub_multiboot_payload_size)
42207 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42208 (grub_multiboot_payload_entry_offset): New variables.
42209 (grub_multiboot_real_boot): Set cpu context to what the relocator
42210 expects, and jump to the relocator instead of the payload.
42211
42212 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42213 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42214 (grub_multiboot_payload_entry_offset): Export.
42215
b15d8a0c 422162008-08-01 Bean <bean123ch@gmail.com>
42217
42218 * normal/menu_entry.c (editor_getline): Don't return the original
42219 string as result, as it will be released by lexer once it has done
42220 using it.
42221
cdfb3d22 422222008-08-01 Robert Millan <rmh@aybabtu.com>
42223
42224 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42225 within menuentries, not before them.
42226 util/grub.d/10_hurd.in: Likewise.
42227
9175e93d 422282008-08-01 Bean <bean123ch@gmail.com>
42229
42230 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42231 (bufio_mod_SOURCES): New macro.
42232 (bufio_mod_CFLAGS): Likewise.
42233 (bufio_mod_LDFLAGS): Likewise.
42234
42235 * include/grub/bufio.h: New file.
42236
42237 * io/bufio.c: Likewise.
42238
42239 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42240 (grub_video_reader_png): Use grub_buffile_open to open file.
42241
42242 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42243 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42244
42245 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42246 (grub_video_reader_tga): Use grub_buffile_open to open file.
42247
42248 * font/manager.c: Include <grub/bufio.h>.
42249 (add_font): Use grub_buffile_open to open file.
42250
3d8383e7 422512008-07-31 Robert Millan <rmh@aybabtu.com>
42252
42253 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42254 ELF segments, use a macro for arbitrarily accessing any of them instead
42255 of preparing a pointer that allows access to one at a time.
42256 (grub_multiboot_load_elf64): Likewise.
42257
16e641b6 422582008-07-31 Bean <bean123ch@gmail.com>
42259
42260 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42261 GRUB_KERNEL_MACHINE_DATA_END.
42262
59198b72 422632008-07-30 Robert Millan <rmh@aybabtu.com>
42264
42265 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42266 Increase from 0x50 to 0x60.
42267 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42268 use UUIDs to identify the root drive for them. If that's not
42269 possible, abort.
42270 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42271 check, for cross-disk installs.
42272
ae88bca3 422732008-07-30 Robert Millan <rmh@aybabtu.com>
42274
42275 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42276 is non-empty, use it to set the `prefix' environment variable instead
42277 of the usual approach.
42278 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42279 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42280 environment variable instead of dummy make_install_device().
42281
42282 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42283 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42284 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42285
42286 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42287 New variable reference.
42288 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42289 New macro. Defines offset of `grub_prefix' within startup.S (relative
42290 to `start').
42291 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42292 section within startup.S (relative to `start').
42293 * include/grub/i386/coreboot/kernel.h: Likewise.
42294
42295 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42296 Overwrite grub_prefix with its contents, at the beginning of the
42297 first segment.
42298 (main): Understand -p|--prefix.
42299
14f41dd1 423002008-07-30 Robert Millan <rmh@aybabtu.com>
42301
42302 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42303
4ca049a3 423042008-07-30 Robert Millan <rmh@aybabtu.com>
42305
42306 * term/i386/pc/vga_text.c (grub_console_cls): Use
42307 grub_console_gotoxy() to go back to beginning of the screen.
42308 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42309
2921d337 423102008-07-29 Christian Franke <franke@computer.org>
42311
42312 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42313 Add conversion of emulated mount points on Cygwin.
42314
b609876d 423152008-07-29 Christian Franke <franke@computer.org>
42316
42317 * util/update-grub.in: Add a check for admin
42318 group on Cygwin.
42319 Remove old `grub.cfg.new' before creation.
42320 Add `-f' to `mv' to handle the different filesystem
42321 semantics of Windows.
42322
e93e4679 423232008-07-29 Bean <bean123ch@gmail.com>
42324
42325 * normal/main.c (get_line): Fix buffer overflow bug.
42326
41694fd0 423272008-07-28 Robert Millan <rmh@aybabtu.com>
42328
42329 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42330 (struct grub_apple_header): New struct. Describes the layout of
42331 the partmap header.
42332 (apple_partition_map_iterate): Check the header magic as well as the
42333 partition magic (which was already being checked).
42334
cfd0b4e6 423352008-07-28 Pavel Roskin <proski@gnu.org>
42336
42337 * genmk.rb: Add a warning to the beginning of the output that
42338 it's a generated file and should not be edited.
42339
93cce016 423402008-07-28 Robert Millan <rmh@aybabtu.com>
42341
42342 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42343 with the same number are found, just use issue a warning with
42344 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42345
cd1df915 423462008-07-27 Robert Millan <rmh@aybabtu.com>
42347
42348 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42349 information.
42350
b70a8427 423512008-07-27 Bean <bean123ch@gmail.com>
42352
42353 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42354 (grub_fat_find_dir): Ignore case when comparing filename.
42355
8f5e379f 423562008-07-27 Bean <bean123ch@gmail.com>
42357
42358 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42359 smallino, as it's more descriptive, and i8count can be confused with
42360 the other field count.
42361 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42362 inode type.
42363
a85cd5a0 423642008-07-27 Bean <bean123ch@gmail.com>
42365
42366 * commands/crc.c: New file.
42367
42368 * lib/crc.c: Likewise.
42369
42370 * include/grub/lib/crc.h: Likewise.
42371
42372 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42373
42374 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42375 (hexdump): Move this function to ...
42376
42377 * lib/hexdump.c: ... here.
42378
42379 * include/grub/hexdump.h: Renamed to ...
42380
42381 * include/grub/lib/hexdump.h: ... this.
42382
42383 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42384
42385 * util/grub-editenv.c: Likewise.
42386
42387 * include/envblk.h: Renamed to ...
42388
42389 * include/lib/envblk.h: ... this.
42390
42391 * util/envblk.c: Renamed to ...
42392
42393 * lib/envblk.c: ... this.
42394
42395 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42396 lib/hexdump.c.
42397 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42398 (pkglib_MODULES): Add crc.mod.
42399 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42400 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42401 (crc_mod_SOURCES): New macro.
42402 (crc_mod_CFLAGS): Likewise.
42403 (crc_mod_LDFLAGS): Likewise.
42404
42405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42406
42407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42408
42409 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42410
42411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42412
42413 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42414
c298def0 424152008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42416
42417 * commands/help.c: Include <grub/term.h>.
42418 (TERM_WIDTH): Removed. Updated all users.
42419
cc349fb3 424202008-07-27 Pavel Roskin <proski@gnu.org>
42421
42422 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42423 spurious warnings about a comment within a comment.
42424
9051607e 424252008-07-25 Robert Millan <rmh@aybabtu.com>
42426
42427 * util/getroot.c (find_root_device): Skip devices that match
42428 /dev/dm-[0-9]. This lets the real device be found for any type of
42429 abstraction (LVM, EVMS, RAID..).
42430 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42431 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42432 device is found first, find_root_device() will now skip it.
42433
01453bfc 424342008-07-24 Pavel Roskin <proski@gnu.org>
42435
42436 * include/grub/types.h: Use __builtin_bswap32() and
42437 __builtin_bswap64() with gcc 4.3 and newer.
42438
6af9849f 424392008-07-24 Christian Franke <franke@computer.org>
42440
3a0fa256 42441 * util/i386/pc/grub-install.in: If `--debug' is specified,
42442 pass `--verbose' to grub-setup.
42443 Abort script if make_system_path_relative_to_its_root() fails.
42444
7810e747 424452008-07-24 Bean <bean123ch@gmail.com>
42446
42447 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42448 variable `target_platform' should be `platform'.
42449
42290e17 424502008-07-24 Bean <bean123ch@gmail.com>
42451
51cc5193 42452 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42453 (grub_png_init_fixed_block): New function.
42454 (grub_png_decode_image_data): Handle fixed huffman code compression.
42455
2a8a80e4 424562008-07-24 Bean <bean123ch@gmail.com>
42457
42458 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42459 (grub_pe2elf_SOURCES): New macro.
42460 (CLEANFILES): Add grub-pe2elf.
42461
42462 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42463 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42464 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42465 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42466 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42467 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42468 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42469 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42470 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42471 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42472 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42473 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42474 (GRUB_PE32_DT_FUNCTION): Likewise.
42475 (GRUB_PE32_REL_I386_DIR32): Likewise.
42476 (GRUB_PE32_REL_I386_REL32): Likewise.
42477 (grub_pe32_symbol): New structure.
42478 (grub_pe32_reloc): Likewise.
42479
42480 * util/grub-pe2elf.c: New file.
42481
42482 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42483 start symbol in non pc platform.
42484
42485 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42486
42487 The following patches are from Christian Franke.
42488
42489 * include/grub/dl.h: Remove .previous, gas supports this only
42490 for ELF format.
42491
42492 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42493 Remove .type, gas supports this only for ELF format.
42494
42495 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42496 nullbytes in symbol table. This fixes an infinite loop if table is
42497 zero filled.
42498
42499 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42500 TARGET_IMG_LDFLAGS and EXEEXT.
42501
42502 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42503 TARGET_IMG_LDFLAGS_AC.
42504 (grub_CHECK_STACK_ARG_PROBE): New function.
42505
42506 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42507
42508 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42509
42510 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42511 to set TARGET_IMG_LD* accordingly.
42512 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42513 Add call to grub_CHECK_STACK_ARG_PROBE.
42514 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42515
42516 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42517
42518 * genmk.rb: Add EXEEXT to CLEANFILES.
42519
12ccdb75 425202008-07-23 Robert Millan <rmh@aybabtu.com>
42521
42522 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42523 define the codes for arrows and lines used for the menu).
42524 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42525 as well.
42526
42527 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42528 fonts, because the latter are too slow.
42529
18eeaf04 425302008-07-21 Bean <bean123ch@gmail.com>
42531
42532 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42533 a20. Run keyboard test last, as it will cause macbook to halt.
42534
b095e2ad 425352008-07-18 Pavel Roskin <proski@gnu.org>
42536
42537 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42538 load foreign architecture modules correctly anyway. Keep
42539 support for loading host architecture modules, whether we
42540 compile them or not.
42541
737feb35 425422008-07-17 Pavel Roskin <proski@gnu.org>
42543
3f4ce737 42544 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42545 change target_cpu. The compiler default can mismatch target_cpu
42546 in any case.
42547
4ad2d049 42548 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42549 * kern/efi/efi.c: Likewise.
42550
f6130a12 42551 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42552 target compiler is functional.
42553 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42554 are set up.
42555
58393a2d 42556 * configure.ac: Default to efi platform for x86_64-apple. Allow
42557 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42558 adjustments from the rest, only do them if target is not
42559 explicitly given. Merge other adjustments with the final sanity
42560 check. Remove an extraneous check for supported CPU. Be
42561 specific which CPU and which platform is not supported.
42562
737feb35 42563 * configure.ac: Default to pc platform for x86_64.
42564
546f966a 425652008-07-17 Robert Millan <rmh@aybabtu.com>
42566
42567 Partial LinuxBIOS -> Coreboot rename.
42568
42569 * conf/i386-linuxbios.rmk: Renamed to ...
42570 * conf/i386-coreboot.rmk: ... this.
42571 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42572 * configure.ac: Accept "coreboot" as input platform (but maintain
42573 compatibility with "linuxbios").
42574 * include/grub/i386/linuxbios: Renamed to ...
42575 * include/grub/i386/coreboot: ... this.
42576
20011694 425772008-07-17 Bean <bean123ch@gmail.com>
42578
42579 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42580 (appleldr_mod_SOURCE): New variable.
20011694 42581 (appleldr_mod_CFLAGS): Likewise.
42582 (appleldr_mod_LDFLAGS): Likewise.
42583 (pci_mod_SOURCES): Likewise.
42584 (pci_mod_CFLAGS): Likewise.
42585 (pci_mod_LDFLAGS): Likewise.
42586 (lspci_mod_SOURCES): Likewise.
42587 (lspci_mod_CFLAGS): Likewise.
42588 (lspci_mod_LDFLAGS): Likewise.
42589
42590 * conf/x86_64-efi.rmk: New file.
42591
42592 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42593 macro.
42594 (grub_efidisk_write): Likewise.
42595
42596 * include/efi/api.h (efi_call_0): New macro.
42597 (efi_call_1): Likewise.
42598 (efi_call_2): Likewise.
42599 (efi_call_3): Likewise.
42600 (efi_call_4): Likewise.
42601 (efi_call_5): Likewise.
42602 (efi_call_6): Likewise.
42603
42604 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42605 grub_rescue_cmd_chainloader.
42606
42607 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42608 (grub_pe32_optional_header): Change some fields based on i386 or
42609 x86_64 platform.
42610 (GRUB_PE32_PE32_MAGIC): Likewise.
42611
42612 * include/grub/efi/uga_draw.h: New file.
42613
42614 * include/grub/elf.h (STN_ABS): New constant.
42615 (R_X86_64_NONE): Relocation constant for x86_64.
42616 (R_X86_64_64): Likewise.
42617 (R_X86_64_PC32): Likewise.
42618 (R_X86_64_GOT32): Likewise.
42619 (R_X86_64_PLT32): Likewise.
42620 (R_X86_64_COPY): Likewise.
42621 (R_X86_64_GLOB_DAT): Likewise.
42622 (R_X86_64_JUMP_SLOT): Likewise.
42623 (R_X86_64_RELATIVE): Likewise.
42624 (R_X86_64_GOTPCREL): Likewise.
42625 (R_X86_64_32): Likewise.
42626 (R_X86_64_32S): Likewise.
42627 (R_X86_64_16): Likewise.
42628 (R_X86_64_PC16): Likewise.
42629 (R_X86_64_8): Likewise.
42630 (R_X86_64_PC8): Likewise.
42631
42632 * include/grub/i386/efi/pci.h: New file.
42633
42634 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42635 Change it value based on platform.
42636 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42637 (GRUB_E820_RAM): Likewise.
42638 (GRUB_E820_RESERVED): Likewise.
42639 (GRUB_E820_ACPI): Likewise.
42640 (GRUB_E820_NVS): Likewise.
42641 (GRUB_E820_EXEC_CODE): Likewise.
42642 (GRUB_E820_MAX_ENTRY): Likewise.
42643 (grub_e820_mmap): New structure.
42644 (linux_kernel_header): Change the efi field according to different
42645 kernel version, also field from linux_kernel_header.
42646
42647 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42648
42649 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42650 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42651 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42652 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42653 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42654 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42655 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42656 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42657 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42658 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42659
42660 * include/grub/x86_64/efi/kernel.h: New file.
42661
42662 * include/grub/x86_64/efi/loader.h: Likewise.
42663
42664 * include/grub/x86_64/efi/machine.h: Likewise.
42665
42666 * include/grub/x86_64/efi/pci.h: Likewise.
42667
42668 * include/grub/x86_64/efi/time.h: Likewise.
42669
42670 * include/grub/x86_64/linux.h: Likewise.
42671
42672 * include/grub/x86_64/setjmp.h: Likewise.
42673
42674 * include/grub/x86_64/time.h: Likewise.
42675
42676 * include/grub/x86_64/types.h: Likewise.
42677
42678 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42679 GRUB_TARGET_SIZEOF_VOID_P.
42680
42681 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42682 (grub_efi_locate_handle): Likewise.
42683 (grub_efi_open_protocol): Likewise.
42684 (grub_efi_set_text_mode): Likewise.
42685 (grub_efi_stall): Likewise.
42686 (grub_exit): Likewise.
42687 (grub_reboot): Likewise.
42688 (grub_halt): Likewise.
42689 (grub_efi_exit_boot_services): Likewise.
42690 (grub_get_rtc): Likewise.
42691
42692 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42693 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42694 (grub_efi_allocate_pages): Wrap efi calls.
42695 (grub_efi_free_pages): Wrap efi calls.
42696 (grub_efi_get_memory_map): Wrap efi calls.
42697
42698 * kern/x86_64/dl.c: New file.
42699
42700 * kern/x86_64/efi/callwrap.S: Likewise.
42701
42702 * kern/x86_64/efi/startup.S: Likewise.
42703
42704 * loader/efi/appleloader.c: Likewise.
42705
42706 * loader/efi/chainloader.c (cmdline): New variable.
42707 (grub_chainloader_unload): Wrap efi calls.
42708 (grub_chainloader_boot): Likewise.
42709 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42710 command line.
42711
42712 * loader/efi/chainloader_normal.c (chainloader_command):
42713 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42714 command line.
42715
42716 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42717 method.
42718 (grub_e820_add_region): New function.
42719 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42720 booting.
42721 (grub_find_video_card): New function.
42722 (grub_linux_setup_video): New function.
42723 (grub_rescue_cmd_linux): Probe for video information.
42724
42725 * normal/x86_64/setjmp.S: New file.
42726
42727 * term/efi/console.c (map_char): New function.
42728 (grub_console_putchar): Map unicode char.
42729 (grub_console_checkkey): Wrap efi calls.
42730 (grub_console_getkey): Likewise.
42731 (grub_console_getwh): Likewise.
42732 (grub_console_gotoxy): Likewise.
42733 (grub_console_cls): Likewise.
42734 (grub_console_setcolorstate): Likewise.
42735 (grub_console_setcursor): Likewise.
42736
42737 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42738
59652a20 427392008-07-16 Pavel Roskin <proski@gnu.org>
42740
ef294055 42741 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42742 format strings.
42743
59652a20 42744 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42745 pointer, not an integer. This fixes a warning and prevents
42746 precision loss on 64-bit systems.
42747 (relocate_addresses): Remove unneeded cast.
42748
afc3b5d7 427492008-07-15 Pavel Roskin <proski@gnu.org>
42750
506b2b3e 42751 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42752
62ead89c 42753 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42754
c4cd51d7 42755 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42756 Fix comparison between signed and unsigned.
42757
0d3d8f28 42758 * include/grub/i386/ieee1275/console.h: Declare
42759 grub_console_init() and grub_console_fini().
42760
8804b286 42761 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42762 It's empty and unused.
42763
ee01cf35 42764 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42765 beginning to avoid warnings with some compilers.
42766
afc3b5d7 42767 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42768 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42769
e4e8eaa5 427702008-07-14 Pavel Roskin <proski@gnu.org>
42771
407aceb4 42772 * kern/env.c (grub_register_variable_hook): Don't copy empty
42773 string, it leaks memory. Pass "" to grub_env_set(), it should
42774 handle constant strings.
42775
e4e8eaa5 42776 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42777 * commands/cmp.c (grub_cmd_cmp): Likewise.
42778 * kern/dl.c (grub_dl_flush_cache): Likewise.
42779 (grub_dl_load_core): Likewise.
42780 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42781 (grub_elf64_load_phdrs): Likewise.
42782
d4e2dad3 427832008-07-13 Pavel Roskin <proski@gnu.org>
42784
42785 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42786 between signed and unsigned.
42787 (LzmaEnc_Finish): Fix warning about an unused parameter.
42788
aa24b516 427892008-07-13 Bean <bean123ch@gmail.com>
42790
42791 * Makefile.in (enable_lzo): New rule.
42792
42793 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42794
42795 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42796
42797 * boot/i386/pc/lnxboot.S: #include <config.h>.
42798
42799 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42800 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42801
42802 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42803 compression algorithm according to configure macro.
42804
42805 * kern/i386/pc/startup.S (codestart): Likewise.
42806
42807 * kern/i386/pc/lzma_decode.S: New file.
42808
42809 * include/grub/lib/LzFind.h: Likewise.
42810
42811 * include/grub/lib/LzHash.h: Likewise.
42812
42813 * include/grub/lib/LzmaDec.h: Likewise.
42814
42815 * include/grub/lib/LzmaEnc.h: Likewise.
42816
42817 * include/grub/lib/LzmaTypes.h: Likewise.
42818
42819 * lib/LzFind.c: Likewise.
42820
42821 * lib/LzmaDec.c: Likewise.
42822
42823 * lib/LzmaEnc.c: Likewise.
42824
4ae821ac 428252008-07-13 Bean <bean123ch@gmail.com>
42826
42827 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42828 (grub_ext4_extent_header): New structure.
42829 (grub_ext4_extent): Likewise.
42830 (grub_ext4_extent_idx): Likewise.
42831 (grub_ext4_find_leaf): New function.
42832 (grub_ext2_read_block): Handle extents.
42833
9a745147 428342008-07-12 Robert Millan <rmh@aybabtu.com>
42835
42836 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42837
d49a4cf6 428382008-07-11 Robert Millan <rmh@aybabtu.com>
42839
42840 * util/grub.d/40_custom.in: New file. Example on how to add custom
42841 entries to /etc/grub.d.
42842 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42843 40_custom (implicitly, by merging all the grub.d rules).
42844
947414b4 428452008-07-11 Pavel Roskin <proski@gnu.org>
42846
0059cf6f 42847 * commands/read.c (grub_getline): Fix invalid memory access.
42848 Don't add newline to the variable value.
42849
947414b4 42850 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42851 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42852 (serial_hw_get_port): Check validity of the port number.
42853 (grub_cmd_serial): Check return value of serial_hw_get_port().
42854
62a02d00 428552008-07-07 Pavel Roskin <proski@gnu.org>
42856
42857 * boot/i386/pc/diskboot.S (notification_string): Replace
42858 "Loading kernel" with just "loading". This is shorter, less
42859 confusing and saves a few bytes for possible future changes.
42860
3e5581b0 428612008-07-05 Pavel Roskin <proski@gnu.org>
42862
ea387a48 42863 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42864 size for ATAPI devices, they are undefined. Output sector
42865 number in decimal form.
42866
3e5581b0 42867 * disk/ata.c: Use named constants for status bits.
42868
fdecb8fd 428692008-07-04 Pavel Roskin <proski@gnu.org>
42870
bcd35b90 42871 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42872 grub_addr_t before casting it to the void pointer to fix a
42873 warning. Non-addressable regions are discarded earlier.
42874 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42875 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42876 (check_signature): Don't shadow table_header.
42877 (grub_linuxbios_table_iterate): Cast numeric constants to
42878 grub_linuxbios_table_header_t.
42879 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42880 grub_stop().
42881
af58ab3d 42882 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42883 prevent warnings.
42884
1759aa57 42885 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42886 pointer, which can cause warnings. Support 64-bit addresses.
42887
fdecb8fd 42888 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42889 of sizeof(long). This fixes PowerPC image generation on x86_64.
42890
8516d2a8 428912008-07-04 Robert Millan <rmh@aybabtu.com>
42892
42893 This fixes a performance issue when pc & gpt partmap iterators
42894 didn't abort iteration even after our hook found what it was
fe987087 42895 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42896
42897 Some callers relied on previous buggy behaviour, since they would
34c44600 42898 raise an error when their own hooks caused early abortion of its
8516d2a8 42899 iteration.
42900
42901 * kern/device.c (grub_device_open): Improve error message.
42902 * disk/lvm.c (grub_lvm_open): Likewise.
42903 * disk/raid.c (grub_raid_open): Likewise.
42904
42905 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42906 when hook requests it, independently of grub_errno.
42907 (pc_partition_map_probe): Do not fail when find_func() caused
42908 early abortion of pc_partition_map_iterate().
42909
42910 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42911 when hook requests it, independently of grub_errno.
42912 (gpt_partition_map_probe): Do not fail when find_func() caused
42913 early abortion of gpt_partition_map_iterate().
42914
42915 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42916 when hook requests it, independently of grub_errno. Do not fail when
42917 part_map_iterate_hook() caused early abortion of p->iterate().
42918
42919 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42920 when grub_partition_iterate() returned with non-zero.
42921
277d0de9 429222008-07-03 Pavel Roskin <proski@gnu.org>
42923
42924 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42925 like we do in grub_ata_pio_read().
42926 (grub_ata_readwrite): Always write individual sectors. Fix the
42927 sector count for the remainder.
42928 (grub_ata_write): Enable writing to ATA devices. Correctly
42929 report error for ATAPI devices.
42930
d4c9b428 429312008-07-02 Pavel Roskin <proski@gnu.org>
42932
e43fc690 42933 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42934 warning.
42935
f707af42 42936 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42937 for every read sector, we already increment it for the whole
42938 batch. This fixes reading more than 256 sectors at once.
42939
11e16b15 42940 * util/grub-editenv.c (cmd_info): Cast argument to long
42941 explicitly. ptrdiff_t reduces to int on i386.
42942
cbabfdd4 42943 * util/grub-editenv.c (main): Be specific which parameter is
42944 missing.
42945
b8fbce0a 42946 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42947 (memdisk): Make memdisk_orig_addr a pointer.
42948
c9c8e606 42949 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42950 for file offsets, use grub_off_t instead. Fix printf format
42951 warnings.
42952
ca62e598 42953 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42954 there. Real unexpected warnings should not drown in the noise
42955 about known problems.
42956
ce8d1766 42957 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42958 grub_disk_addr_t for memory addresses.
42959
00c7a56a 42960 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42961 explicitly to fix a warning.
42962
08d3ef09 42963 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42964
cb71ba20 42965 * Makefile.in (MODULE_LDFLAGS): New variable.
42966 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42967 the linker accepts --build-id=none.
42968 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42969 MODULE_LDFLAGS.
42970 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42971
d4c9b428 42972 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42973 those in Linux XFS code. Provide a way to access 64-bit parent
42974 inode.
42975 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42976 the end of struct grub_xfs_dir_header.
42977
d4156eee 429782008-07-02 Bean <bean123ch@gmail.com>
42979
42980 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42981 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42982 and GRUB_IEEE1275_FLAG_NO_ANSI.
42983
42984 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42985 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42986 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42987
42988 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42989 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42990
42991 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42992 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42993
42994 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42995 esc sequence on non ANSI terminal.
42996 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42997
42998 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42999 beginning of file.
43000
2270f77b 430012008-07-02 Bean <bean123ch@gmail.com>
43002
43003 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43004 (grub_editenv_SOURCES): New variable.
43005 (pkglib_MODULES): Add loadenv.mod.
43006 (loadenv_mod_SOURCES): New variable.
43007 (loadenv_mod_CFLAGS): Likewise.
43008 (loadenv_mod_LDFLAGS): Likewise.
43009
43010 * include/grub/envblk.h: New file.
43011
43012 * util/envblk.c: New file.
43013
43014 * util/grub-editenv.c: New file.
43015
43016 * commands/loadenv.c: New file.
43017
0e9e51ec 430182008-07-01 Pavel Roskin <proski@gnu.org>
43019
d89b7634 43020 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43021 not unsigned char. This fixes warnings and is consistent with
43022 other tags.
43023
bf1835b1 43024 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43025
8222a04b 43026 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43027
6a42d99d 43028 * term/tparm.c (analyze): Always set *popcount.
43029
10b159d1 43030 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43031 cast to fix a warning.
43032
b8789f6c 43033 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43034 cast to suppress a warning.
43035
29d7e38a 43036 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43037 grub_fshelp_read_file() expects.
43038
f341f669 43039 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43040 write uuid as a 32-bit value in CPU byte order, so declare and
43041 use it as such.
43042
0e9e51ec 43043 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43044 long if the format specifier expects it.
43045 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43046 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43047 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43048 long to fix a warning.
43049 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43050 grub_dprintf() arguments to fix warnings.
43051
3aefa857 430522008-06-30 Pavel Roskin <proski@gnu.org>
43053
56c7668b 43054 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43055 install_bsd_part immediately before core.img is embedded or
43056 modified on disk. This fixes core.img verification if core.img
43057 cannot be embedded.
43058
3aefa857 43059 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43060 core_path to calculate the blocklist.
43061 Patch from Javier Martín <lordhabbit@gmail.com>
43062
5444088d 430632008-06-29 Robert Millan <rmh@aybabtu.com>
43064
43065 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43066 block to disk block.
43067 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43068 Patch from Niels Böhm <bitbucket@arcor.de>
43069
674835c8 430702008-06-29 Robert Millan <rmh@aybabtu.com>
43071
43072 * util/update-grub_lib.in (font_path): Search for fonts in
43073 /boot/grub first, which is more likely to be readable (we aren't
43074 deciding where fonts live, just looking for them).
43075
f527dbc8 430762008-06-26 Pavel Roskin <proski@gnu.org>
43077
6c2d8df6 43078 * util/biosdisk.c (read_device_map): Don't leave dead map
43079 entries for devices failing stat() check.
43080
f527dbc8 43081 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43082 core_path_dev for the core.img path on the target device.
43083
aebe3d13 430842008-06-26 Robert Millan <rmh@aybabtu.com>
43085
43086 * disk/fs_uuid.c: New file.
43087 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43088 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43089 (fs_uuid_mod_LDFLAGS): New variables.
43090 * include/grub/disk.h (grub_disk_dev_id): Add
43091 `GRUB_DISK_DEVICE_UUID_ID'.
43092 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43093 implement iterate().
43094
37aaf354 430952008-06-26 Robert Millan <rmh@aybabtu.com>
43096
43097 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43098 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43099 Linux image includes no initrd.
43100
25ff262a 431012008-06-21 Javier Martín <lordhabbit@gmail.com>
43102
43103 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43104 call to resolve the core image location that effectively appended the
43105 name twice.
43106
76a2bd44 431072008-06-21 Robert Millan <rmh@aybabtu.com>
43108
43109 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43110 call from here ...
43111
43112 * util/grub.d/10_hurd.in: ... to here ...
43113 * util/grub.d/10_linux.in: ... and here.
43114
650e1c79 431152008-06-19 Robert Millan <rmh@aybabtu.com>
43116
fe987087 43117 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43118 after it has been set by grub_machine_set_prefix().
43119
6ce63911 431202008-06-19 Robert Millan <rmh@aybabtu.com>
43121
43122 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43123 search result when not saving to variable, not the other way around.
43124 When saving to variable, abort iteration as soon as a match is found.
43125
73940cec 431262008-06-19 Robert Millan <rmh@aybabtu.com>
43127
43128 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43129 check for partition that provides /boot/grub. Its logic is flawed,
43130 as it prevents prepare_grub_to_access_device() from being called
43131 multiple times.
43132
3c62a39d 431332008-06-19 Robert Millan <rmh@aybabtu.com>
43134
43135 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43136 "insmod" command directly when abstraction modules are needed,
fe987087 43137 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43138 since it had already been processed).
43139
47395a42 431402008-06-19 Pavel Roskin <proski@gnu.org>
43141
43142 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43143 changed. This is needed in case GRUB_LIBDIR changes.
43144 * conf/i386-ieee1275.rmk: Likewise.
43145 * conf/i386-linuxbios.rmk: Likewise.
43146 * conf/i386-pc.rmk: Likewise.
43147 * conf/powerpc-ieee1275.rmk: Likewise.
43148
a145ac2d 431492008-06-18 Pavel Roskin <proski@gnu.org>
43150
43151 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43152 kernel_elf_symlist.c to symlist.c for consistency with other
43153 architectures. Update all users.
43154 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43155
7847c51e 431562008-06-18 Robert Millan <rmh@aybabtu.com>
43157
43158 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43159 it in prefix.
43160
43161 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43162 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43163 a RAID device, run setup() for all members independently on whether
43164 LVM abstraction is being used.
43165 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43166 If grub-mkimage has set `*install_dos_part == -2', don't override this
43167 value.
43168 Perform *install_dos_part adjustments independently on whether
43169 we're embedding or not.
43170 Clarify error message when image is too big for embedding.
43171 Remove duplicate *install_dos_part stanza.
43172
b23e5644 431732008-06-17 Robert Millan <rmh@aybabtu.com>
43174
43175 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43176 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43177 variables.
43178 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43179 values in grub_ofconsole_normal_color and
43180 grub_ofconsole_highlight_color (they're not directly related to
43181 background and foreground).
43182 (grub_ofconsole_setcolorstate): Extract background and foreground
43183 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43184
0aac2f79 431852008-06-17 Robert Millan <rmh@aybabtu.com>
43186
43187 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43188 /boot/grub for the check in last commit, not /boot (they could be
43189 different partitions).
43190
3cca7ef3 431912008-06-16 Robert Millan <rmh@aybabtu.com>
43192
43193 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43194 asked to setup access for the same partition that provides /boot,
43195 don't bother using UUIDs since our root already has the value we
43196 want.
43197
347396d8 431982008-06-16 Robert Millan <rmh@aybabtu.com>
43199
43200 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43201 I2O devices.
43202 Patch from Sven Mueller <sven@debian.org>.
43203
991477f8 432042008-06-16 Robert Millan <rmh@aybabtu.com>
43205
43206 * util/update-grub.in: Check for $EUID instead of $UID.
43207 Reported by Vincent Zweije.
43208
d31a32a1 432092008-06-16 Bean <bean123ch@gmail.com>
43210
fe987087 43211 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43212 (grub_ext2_read_block): Likewise.
43213 (grub_ext2_read_inode): Likewise.
43214 (grub_ext2_mount): Likewise.
43215 (grub_ext2_close): Likewise.
43216 (grub_ext3_get_journal): Removed.
43217
fe987087 43218 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43219 (grub_reiserfs_read_symlink): Likewise.
43220 (grub_reiserfs_mount): Likewise.
43221 (grub_reiserfs_open): Likewise.
43222 (grub_reiserfs_read): Likewise.
43223 (grub_reiserfs_close): Likewise.
43224 (grub_reiserfs_get_journal): Removed.
43225
43226 * fs/fshelp.c (grub_fshelp_read): Removed.
43227 (grub_fshelp_map_block): Likewise.
43228
43229 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43230 (grub_fshelp_journal): Likewise.
43231 (grub_fshelp_read): Likewise.
43232 (grub_fshelp_map_block): Likewise.
43233
3540a760 432342008-06-16 Pavel Roskin <proski@gnu.org>
43235
43236 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43237 floating point anymore.
43238 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43239
95614c84 432402008-06-15 Pavel Roskin <proski@gnu.org>
43241
43242 * commands/ls.c (grub_ls_list_files): Use integer calculations
43243 for human readable format, avoid floating point use.
43244 * kern/misc.c (grub_ftoa): Remove.
43245 (grub_vsprintf): Remove floating point support.
43246
50465dd6 432472008-06-15 Robert Millan <rmh@aybabtu.com>
43248
fe6b695a 43249 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43250 devices.
43251 Reported by Max Vozeler.
43252
a9207284 432532008-06-15 Robert Millan <rmh@aybabtu.com>
43254
43255 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43256 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43257 skipped later.
43258 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43259 the beginning of the prefix.
43260
43261 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43262 It is assumed that if we have a memdisk, grub-mkimage has set
43263 grub_prefix to include the "(memdisk)" drive in it.
43264
a7cbd45a 432652008-06-15 Robert Millan <rmh@aybabtu.com>
43266
43267 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43268 Initialize keyboard controller after registering the terminal, so that
43269 grub_printf() can be called from grub_keyboard_controller_init().
43270
21cf716a 432712008-06-15 Robert Millan <rmh@aybabtu.com>
43272
43273 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43274 extent-btree which is written as big endian on disk.
43275 Reported by Alain Greppin <al@chilibi.org>.
43276
23a64d8e 432772008-06-14 Robert Millan <rmh@aybabtu.com>
43278
43279 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43280 * util/i386/pc/grub-install.in (modules): Likewise.
43281
d687651c 432822008-06-13 Pavel Roskin <proski@gnu.org>
43283
43284 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43285
dfe9ddd4 432862008-06-13 Bean <bean123ch@gmail.com>
43287
43288 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43289
43290 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43291
43292 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43293 to indicate sparse block.
43294
16ae7781 432952008-06-12 Pavel Roskin <proski@gnu.org>
43296
e6d1a308 43297 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43298 number, grub_fshelp_read() does it for us.
43299
16ae7781 43300 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43301 linear disk read with journal translation.
43302 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43303 * include/grub/fshelp.h: Declare grub_fshelp_read().
43304
40fd3a2b 433052008-06-09 Pavel Roskin <proski@gnu.org>
43306
43307 * fs/minix.c (grub_minix_mount): Handle error reading
43308 superblock.
43309
f5679726 433102008-06-08 Robert Millan <rmh@aybabtu.com>
43311
43312 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43313 don't append the RAID prefix afterwards.
43314 Reported by Clint Adams.
43315
ce525529 433162008-06-08 Robert Millan <rmh@aybabtu.com>
43317
43318 Based on description from Pavel:
43319 * kern/disk.c (grub_disk_check_range): Rename to ...
43320 (grub_disk_adjust_range): ... this. Add a comment explaining the
43321 tasks performed by this function.
43322
ad4936a0 433232008-06-08 Robert Millan <rmh@aybabtu.com>
43324
43325 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43326 `num_serial' (for consistency with other variables).
43327 (struct grub_ntfs_data): Add `uuid' member.
43328 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43329 (grub_ntfs_uuid): New function.
43330 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43331
dc20b0f9 433322008-06-07 Pavel Roskin <proski@gnu.org>
43333
43334 * util/biosdisk.c (open_device): Revert last change to the
43335 function, it broke installation. The sector needs to be
43336 different dependent on which device is opened.
43337
c5e3cfba 433382008-06-06 Robert Millan <rmh@aybabtu.com>
43339
43340 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43341 rest of GRUB, and breakage doesn't happen if its value were modified.
43342
43343 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43344 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43345 a constant (same value).
43346 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43347 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43348
26a1f8c4 433492008-06-06 Robert Millan <rmh@aybabtu.com>
43350
43351 * util/biosdisk.c (open_device): Do not modify sector offset when
43352 accessing a partition. kern/disk.c already handles this for us.
43353
25d6b327 433542008-06-06 Robert Millan <rmh@aybabtu.com>
43355
43356 * util/grub-emu.c (grub_machine_init): Move code in this function from
43357 here ...
43358 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43359 segfault in case grub_printf() is called).
43360
43361 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43362 grub_probe. Update all users not to explicitly add it again.
43363 (grub_device): New variable; contains corresponding device for grubdir.
43364 (fs_module, partmap_module, devabstraction_module): Pass
43365 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43366 every time.
43367
9ece62fb 433682008-06-05 Robert Millan <rmh@aybabtu.com>
43369
43370 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43371 is found, print it (same layout as with labels).
43372
1ad36d37 433732008-06-04 Robert Millan <rmh@aybabtu.com>
43374
43375 * util/biosdisk.c (get_drive): Rename to ...
43376 (find_grub_drive): ... this. Update all users.
43377
43378 (get_os_disk): Rename to ...
43379 (convert_system_partition_to_system_disk): ... this. Update all users.
43380
43381 (find_drive): Rename to ...
43382 (find_system_device): ... this. Update all users.
43383
e6a30859 433842008-06-04 Robert Millan <rmh@aybabtu.com>
43385
43386 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43387 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43388 (make_device_map): Likewise.
43389
00c108a4 433902008-06-01 Robert Millan <rmh@aybabtu.com>
43391
43392 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43393 before dereferencing it.
43394
43395 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43396 union with fat12/fat16-specific ones. Add some new fields, including
43397 `num_serial' for both versions.
43398 (struct grub_fat_data): Add `uuid' member.
43399 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43400 names. Initialize `data->uuid' using `num_serial'.
43401 (grub_fat_uuid): New function.
43402 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43403
43404 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43405 (grub_reiserfs_uuid): New function.
43406 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43407 member.
43408
43409 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43410 (grub_xfs_uuid): New function.
43411 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43412
1385c5bb 434132008-06-01 Robert Millan <rmh@aybabtu.com>
43414
43415 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43416 code that is backward compatible with pre-uuid search command.
43417
c682dfd7 434182008-05-31 Robert Millan <rmh@aybabtu.com>
43419
43420 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43421 floppies after everything else, to ensure floppy drive isn't accessed
43422 unnecessarily (patch from Bean).
43423
b7db5d47 434242008-05-31 Robert Millan <rmh@aybabtu.com>
43425
43426 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43427 not print device names when we were asked to set a variable.
43428
6e037aa9 434292008-05-31 Robert Millan <rmh@aybabtu.com>
43430
43431 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43432 using "cursor-on" and "cursor-off" commands (understood at least by
43433 the Open Firmware flavour on OLPC).
43434
41305bc8 434352008-05-31 Michael Gorven <michael@gorven.za.net>
43436
43437 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43438 on and off sequences.
43439
69ba137e 434402008-05-31 Robert Millan <rmh@aybabtu.com>
43441
43442 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43443 * util/update-grub.in: Likewise.
43444
520ae21b 434452008-05-30 Pavel Roskin <proski@gnu.org>
43446
43447 * util/biosdisk.c (linux_find_partition): Simplify logic and
43448 make the code more universal. Keep special processing for
43449 devfs, but use a simple rule for all other devices. If the
43450 device ends with a number, append 'p' and the partition number.
43451 Otherwise, append only the partition number.
43452
5786569b 434532008-05-30 Robert Millan <rmh@aybabtu.com>
43454
43455 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43456 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43457 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43458 the `root' parameter to Linux.
43459
51500452 434602008-05-30 Robert Millan <rmh@aybabtu.com>
43461
43462 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43463 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43464 --fs_uuid with --fs-uuid.
43465 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43466 all filesystems support them).
43467
811d3878 434682008-05-30 Robert Millan <rmh@aybabtu.com>
43469
43470 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43471 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43472
cab63c95 434732008-05-30 Robert Millan <rmh@aybabtu.com>
43474
43475 * util/grub.d/00_header.in: Remove obsolete comment referencing
43476 convert_system_path_to_grub_path().
43477 * util/update-grub.in: Likewise.
43478 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43479 (convert_system_path_to_grub_path): Add a warning message explaining
43480 that this function is deprecated. Rely on is_path_readable_by_grub()
43481 for the readability checks.
43482 (font_path): Use is_path_readable_by_grub() for the readability
43483 check rather than convert_system_path_to_grub_path().
43484
972e2f7a 434852008-05-30 Robert Millan <rmh@aybabtu.com>
43486
43487 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43488 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43489 converting it first.
43490 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43491 grub.cfg for access to font file, and afterwards call it again to set
43492 the root device.
43493
62191274 434942008-05-30 Robert Millan <rmh@aybabtu.com>
43495
43496 * commands/search.c (options): Add --fs_uuid option.
43497 (search_fs_uuid): New function.
43498 (grub_cmd_search): Fix --set argument passing.
43499 Use search_fs_uuid() when requested via --fs_uuid.
43500 (grub_search_init): Update help message.
43501 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43502 and redeclare it as an array of 16-bit words.
43503 (grub_ext2_uuid): New function.
43504 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43505 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43506 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43507 (GRUB_DEVICE_BOOT_UUID): New variables.
43508 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43509 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43510 whenever possible.
43511 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43512 just assume `root' variable has the right value.
43513 * util/grub.d/10_linux.in: Likewise.
43514 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43515 via PRINT_FS_UUID.
43516 (main): Recognise `-t fs_uuid' argument.
43517
01b73ec8 435182008-05-30 Robert Millan <rmh@aybabtu.com>
43519
43520 * util/biosdisk.c (map): Redefine structure to hold information
43521 about GRUB drive name.
fe6b695a 43522 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43523 drive names.
43524 (call_hook): Remove.
43525 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43526 member. Assume drive has partitions.
43527 (grub_util_biosdisk_open): Access device names via `.device' struct
43528 member.
43529 (open_device): Likewise.
43530 (find_drive): Likewise.
43531 (read_device_map): Adjust map[] usage to match the new struct
43532 definition. Don't check for duplicates (still possible, but not cheap
43533 anymore).
43534 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43535 (make_device_name): Remove assumption of BIOS-like drive names.
43536
22f16596 435372008-05-30 Pavel Roskin <proski@gnu.org>
43538
43539 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43540 compiling execute.c doesn't need grub_script.tab.h anymore.
43541 (normal/command.c_DEPENDENCIES): Likewise.
43542 (normal/function.c_DEPENDENCIES): Likewise.
43543 * conf/i386-ieee1275.rmk: Likewise.
43544 * conf/i386-linuxbios.rmk: Likewise.
43545 * conf/i386-pc.rmk: Likewise.
43546 * conf/powerpc-ieee1275.rmk: Likewise.
43547 * conf/sparc64-ieee1275.rmk: Likewise.
43548
528ad8f2 435492008-05-29 Pavel Roskin <proski@gnu.org>
43550
d1dff95d 43551 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43552 when scanning metadata for volume group name.
43553
528ad8f2 43554 * include/grub/script.h: Don't include grub_script.tab.h. It's
43555 a generated file, which may only be included from the files with
43556 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43557 use union YYSTYPE, as the later allows forward declaration.
43558 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43559
47248e08 435602008-05-29 Robert Millan <rmh@aybabtu.com>
43561
43562 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43563 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43564 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43565 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43566 scan codes.
43567
ee632529 435682008-05-29 Robert Millan <rmh@aybabtu.com>
43569
43570 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43571 control key combinations.
43572
eee96e08 435732008-05-29 Robert Millan <rmh@aybabtu.com>
43574
43575 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43576 * util/ieee1275/grub-install.in: ... to here.
43577 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43578 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43579 (grub_install_SOURCES): Likewise.
43580
da9a6a94 435812008-05-29 Robert Millan <rmh@aybabtu.com>
43582
43583 * fs/affs.c: Update copyright year.
43584 * fs/ext2.c: Likewise.
43585 * fs/fshelp.c: Likewise.
43586 * fs/hfsplus.c: Likewise.
43587 * fs/ntfs.c: Likewise.
43588 * fs/xfs.c: Likewise.
43589 * include/grub/fshelp.h: Likewise.
43590 * util/grub-mkdevicemap.c: Likewise.
43591
12e65f3a 435922008-05-28 Robert Millan <rmh@aybabtu.com>
43593
43594 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43595 might need to be fatfs to support some firmware implementations
43596 (e.g. OFW or EFI).
43597
23023641 435982008-05-28 Robert Millan <rmh@aybabtu.com>
43599
43600 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43601 devices.
43602 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43603 (make_device_map): Likewise.
43604
887d2619 436052008-05-20 Bean <bean123ch@gmail.com>
43606
43607 * fs/fshelp.c (grub_fshelp_map_block): New function.
43608 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43609 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43610
43611 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43612 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43613 (grub_fshelp_journal): New structure.
43614 (grub_fshelp_map_block): New function prototype.
43615 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43616 (grub_fshelp_map_block): Likewise.
43617
43618 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43619 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43620 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43621 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43622 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43623 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43624 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43625 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43626 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43627 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43628 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43629 (grub_ext2_sblock): New members for journal support.
43630 (grub_ext3_journal_header): New structure.
43631 (grub_ext3_journal_revoke_header): Likewise.
43632 (grub_ext3_journal_block_tag): Likewise.
43633 (grub_ext3_journal_sblock): Likewise.
43634 (grub_fshelp_node): New members logfile and journal.
43635 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43636 grub_fshelp_map_block to get real block number.
43637 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43638 number.
43639 (grub_ext2_read_inode): Likewise.
43640 (grub_ext3_get_journal): New function.
43641 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43642 (grub_ext2_close): Release memory used by journal.
43643
43644 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43645 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43646 (grub_reiserfs_transaction_header): Renamed to
43647 grub_reiserfs_description_block, replace field data with real_blocks.
43648 (grub_reiserfs_commit_block): New structure.
43649 (grub_reiserfs_data): New member journal.
43650 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43651 number.
43652 (grub_reiserfs_read_symlink): Likewise.
43653 (grub_reiserfs_iterate_dir): Likewise.
43654 (grub_reiserfs_open): Likewise.
43655 (grub_reiserfs_read): Likewise.
43656 (grub_reiserfs_get_journal): New function.
43657 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43658 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43659 using grub_reiserfs_get_journal.
43660 (grub_reiserfs_close): Release memory used by journal.
43661
43662 * fs/affs.c (grub_affs_read_block): Change block type to
43663 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43664
43665 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43666
43667 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43668
43669 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43670
43671 * fs/udf.c (grub_udf_read_block): Change block type to
43672 grub_disk_addr_t. Use type cast to avoid warning.
43673
43674 * fs/xfs.c (grub_xfs_read_block): Likewise.
43675
b7c6bed5 436762008-05-16 Christian Franke <franke@computer.org>
43677
43678 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43679 to ensure that break with ESC will always work.
43680 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43681 Remove ESC from keyboard queue.
43682
eedf167f 436832008-05-16 Christian Franke <franke@computer.org>
43684
43685 * util/biosdisk.c: [__CYGWIN__] Add includes.
43686 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43687 (get_os_disk): Move variable declarations to OS specific
43688 parts to avoid warning.
43689 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43690 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43691 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43692 Cygwin.
43693 * util/getroot.c: [__CYGWIN__] Add includes.
43694 (strip_extra_slashes): Fix "/" case.
43695 [__CYGWIN__] (get_win32_path): New function.
43696 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43697 [__CYGWIN__] (find_root_device): Disable.
43698 [__CYGWIN__] (get_bootsec_serial): New function.
43699 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43700 [__linux__] (grub_guess_root_device): Add early returns to simplify
43701 structure.
43702 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43703 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43704 check for Linux only.
43705
a079699e 437062008-05-15 Bean <bean123ch@gmail.com>
43707
43708 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43709 keyboard hang problem in apple's intel mac.
43710
1cf4059a 437112008-05-09 Robert Millan <rmh@aybabtu.com>
43712
43713 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43714 devices.
43715 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43716 (make_device_map): Likewise.
43717 Reported by Aurelien Jarno <aurel32@debian.org>
43718
ed759390 437192008-05-07 Ian Campbell <ijc@hellion.org.uk>
43720
43721 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43722 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43723 (make_device_map): Output entries for xvd type disks.
43724
b56c4eaa 437252008-05-07 Robert Millan <rmh@aybabtu.com>
43726
43727 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43728 devices.
43729 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43730 (make_device_map): Likewise.
43731 Reported by Roland Dreier <rdreier@cisco.com>
43732
7f8866ed 437332008-05-07 Robert Millan <rmh@aybabtu.com>
43734
43735 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43736 grub_strstr() call. Correct a few mistakes in failure path handling.
43737
b0346e0f 437382008-05-06 Robert Millan <rmh@aybabtu.com>
43739
43740 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43741 Do not print a trailing slash (therefore, the root directory is an
43742 empty string).
43743 (convert_system_path_to_grub_path): Do not remove trailing slash
43744 from make_system_path_relative_to_its_root() output.
43745
43746 * util/i386/pc/grub-install.in: Add trailing slash to output from
43747 make_system_path_relative_to_its_root().
43748
6cf12cbd 437492008-05-06 Robert Millan <rmh@aybabtu.com>
43750
43751 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43752 ensures that output lines aren't intermangled with those sent to
43753 stderr (via grub_util_info()).
43754 * util/grub-probe.c (grub_refresh): Likewise.
43755 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43756
0fbb3117 437572008-05-05 Christian Franke <franke@computer.org>
43758
43759 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43760 Add Cygwin device names.
43761 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43762 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43763 (check_device): Return error instead of success on empty name.
43764 (make_device_map): Move label inside linux specific code to
43765 prevent compiler warning.
43766
8124cdb7 437672008-04-30 Robert Millan <rmh@aybabtu.com>
43768
43769 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43770 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43771 first boot option.
43772 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43773
094c01d0 437742008-04-29 Robert Millan <rmh@aybabtu.com>
43775
43776 * docs/grub.cfg: New file (example GRUB configuration).
43777
f4b1fc02 437782008-04-26 Robert Millan <rmh@aybabtu.com>
43779
329ce2a5 43780 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43781 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43782 and `disk/ieee1275/nand.c'.
f4b1fc02 43783
25f16ec1 437842008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43785
25f16ec1 43786 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43787 i386-linuxbios.
43788
43789 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43790 change the buffer size to 4096 for cdrom device.
43791
43792 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43793 and nand.mod.
43794 (_linux_mod_SOURCES): New variable.
43795 (_linux_mod_CFLAGS): Likewise.
43796 (_linux_mod_LDFLAGS): Likewise.
43797 (linux_mod_SOURCES): Likewise.
43798 (linux_mod_CFLAGS): Likewise.
43799 (linux_mod_LDFLAGS): Likewise.
43800 (nand_mod_SOURCES): Likewise.
43801 (nand_mod_CFLAGS): Likewise.
43802 (nand_mod_LDFLAGS): Likewise.
43803
43804 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43805 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43806 type property. (nand device in olpc don't have this property)
43807
43808 * include/grub/disk.h (grub_disk_dev_id): New macro
43809 GRUB_DISK_DEVICE_NAND_ID.
43810
43811 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43812 function prototype.
43813 (grub_rescue_cmd_initrd): Likewise.
43814
43815 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43816 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43817 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43818
25f16ec1 43819 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43820 GRUB_MACHINE_IEEE1275 is defined.
43821
43822 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43823 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43824
43825 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43826 on nested function heap_init.
43827 (grub_upper_mem): New variable for i386-ieee1275.
43828 (grub_get_extended_memory): New function for i386-ieee1275.
43829 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43830
43831 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43832 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43833 property.
f19dbdb7 43834
25f16ec1 43835 * loader/i386/ieee1275/linux.c: New file.
43836
43837 * loader/i386/ieee1275/linux_normal.c: New file.
43838
43839 * disk/ieee1275/nand.c: New file.
43840
e89d61e9 438412008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43842
43843 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43844 value.
43845 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43846
602566f6 438472008-04-18 Robert Millan <rmh@aybabtu.com>
43848
43849 Restructures early code path on ieee1275 to unify grub_main() as
43850 the first C function that is executed in every platform.
43851
43852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43853 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43854 cmain().
43855 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43856 * kern/ieee1275/cmain.c (cmain): Rename to ...
43857 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43858 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43859 at the beginning.
43860
57490c2b 438612008-04-18 Robert Millan <rmh@aybabtu.com>
43862
43863 * util/update-grub.in: Fix syntax error when setting
43864 `GRUB_PRELOAD_MODULES'.
43865 Reported by Stephane Chazelas <stephane@artesyncp.com>
43866
1977517d 438672008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43868
43869 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43870 section into account, newer toolchains generate unique build ids
43871 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43872 we want build ids to be preserved
1977517d 43873 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43874 far from other sections don't cause the raw binary images grow
43875 size
43876
bfb1f1a2 438772008-04-15 Robert Millan <rmh@aybabtu.com>
43878
43879 * disk/lvm.c: Update copyright year.
43880 * kern/misc.c: Likewise.
43881
01979850 438822008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43883
43884 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43885 there is no memory left for physical volume name.
01979850 43886
0a1150e2 438872008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43888
43889 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43890 volume name mapping to support bigger than 9 character names properly.
43891
82ead3fe 438922008-04-13 Robert Millan <rmh@aybabtu.com>
43893
43894 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43895 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43896
e54a72f5 438972008-04-13 Christian Franke <franke@computer.org>
43898
43899 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43900 to create a floppy emulation boot CD when non emulation mode
43901 does not work.
43902 Enable Joliet CD filesystem extension.
43903
9fe86034 439042008-04-13 Robert Millan <rmh@aybabtu.com>
43905
43906 * kern/misc.c (grub_strncat): Fix off-by-one error.
43907 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43908
43909 * kern/env.c (grub_env_context_close): Clear current context, not
43910 previous one.
43911 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43912
43913 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43914
7ceeee39 439152008-04-13 Robert Millan <rmh@aybabtu.com>
43916
43917 Improve robustness when handling LVM.
43918
43919 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43920 (and leave `*p' unmodified).
7ceeee39 43921 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43922 through it.
43923 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43924 iterating through it.
43925 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43926 through it.
fe6b695a 43927 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43928 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43929 Don't assume `vg->pvs != NULL' when iterating through it.
43930
58cd3d85 439312008-04-13 Robert Millan <rmh@aybabtu.com>
43932
43933 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43934 * genmk.rb (partmap): New variable.
43935 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43936 (#{partmap}): New target rule.
43937 * genpartmaplist.sh: New file.
43938 * Makefile.in (pkglib_DATA): Add partmap.lst.
43939 (partmap.lst): New target rule.
43940 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43941 modules (including all partition maps), instead of preloading them.
43942
78b51059 439432007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43944
43945 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43946 `linux-boot-prober' (if installed) to detect other operating
43947 systems which are installed on the computer and add them to
43948 the boot menu.
43949 * conf/common.rmk: Build and install 30_os-prober.
43950
a91627b4 439512008-04-12 Robert Millan <rmh@aybabtu.com>
43952
43953 * kern/powerpc/ieee1275/init.c: Move from here ...
43954 * kern/ieee1275/init.c: ... to here. Update all users.
43955
43956 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43957 * kern/ieee1275/cmain.c: ... to here. Update all users.
43958
43959 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43960 * kern/ieee1275/openfw.c: ... to here. Update all users.
43961
43962 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43963 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43964
322562ea 439652008-04-10 Pavel Roskin <proski@gnu.org>
43966
43967 * configure.ac: Always use "_cv_" in cache variables for
43968 compatibility with Autoconf 2.62.
43969
a02a73c5 439702008-04-07 Robert Millan <rmh@aybabtu.com>
43971
43972 Revert grub/machine/init.h addition by Pavel (since it breaks on
43973 i386-ieee1275 and others):
43974 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43975 * util/powerpc/ieee1275/misc.c: Likewise.
43976
25c024b1 439772008-04-07 Robert Millan <rmh@aybabtu.com>
43978
43979 * util/grub-probe.c (probe): Improve error message.
43980
3cbd2f98 439812008-04-07 Robert Millan <rmh@aybabtu.com>
43982
43983 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43984 (this prevents the presence of a bogus entry from ruining the whole
43985 thing).
43986
87a297bf 439872008-04-06 Pavel Roskin <proski@gnu.org>
43988
36747a62 43989 * util/biosdisk.c: Include grub/util/biosdisk.h.
43990 * util/grub-fstest.c (execute_command): Make static.
43991 * util/grub-mkdevicemap.c (check_device): Likewise.
43992 * util/i386/pc/misc.c: Include grub/machine/init.h.
43993 * util/powerpc/ieee1275/misc.c: Likewise.
43994 * util/lvm.c: Include grub/util/lvm.h.
43995 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43996 grub/cache.h.
43997 * util/raid.c: Include grub/util/raid.h.
43998 (grub_util_getdiskname): Make static.
43999
87a297bf 44000 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44001 grub_hostfs_fini(), as they are called from grub_init_all() and
44002 grub_fini_all() respectively. This fixes an infinite loop in
44003 grub-fstest due to double registration of hostfs.
44004 Reported by Christian Franke <Christian.Franke@t-online.de>
44005
f6ce7629 440062008-04-05 Pavel Roskin <proski@gnu.org>
44007
44008 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44009 all 8 functions. Otherwise, probe function 0 only.
44010
070e49e4 440112008-04-04 Pavel Roskin <proski@gnu.org>
44012
8b088a4c 44013 * commands/lspci.c (grub_lspci_iter): Print the bus number
44014 correctly.
44015
4f657021 44016 * commands/lspci.c (grub_pci_classes): Fix typos.
44017 (grub_lspci_iter): Don't print func twice. Print vendor ID
44018 before device ID, as it's normally done.
44019
070e49e4 44020 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44021 Fix signedness warnings.
44022 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44023 Likewise.
44024 * util/ieee1275/get_disk_name.c: Include config.h so that
44025 _GNU_SOURCE is defined and getline() is declared. Mark an
44026 unused argument as such. Fix a signedness warning.
44027
ba7328dc 440282008-04-02 Pavel Roskin <proski@gnu.org>
44029
26887f22 44030 * genkernsyms.sh.in: Use more robust assignments for CC and
44031 srcdir. Quote srcdir.
44032 * gensymlist.sh.in: Likewise. Assert at the compile time that
44033 the symbol table is not empty.
44034
ba7328dc 44035 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44036 * fs/cpio.c (grub_cpio_read): Likewise.
44037
0f582c6b 440382008-04-01 Pavel Roskin <proski@gnu.org>
44039
4b6e1995 44040 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44041 * disk/host.c (grub_host_open): Likewise.
44042 * disk/loopback.c (grub_loopback_open): Likewise.
44043 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44044 disk->id as in disk/host.c, not a multi-character constant.
44045
828a2768 44046 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44047 later is obsolete, potentially dangerous and sets a bad example.
44048 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44049 * util/misc.c (grub_util_get_image_size): Likewise.
44050
2bb4fb47 44051 * disk/loopback.c (options): Improve help for "--partitions".
44052
0f582c6b 44053 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44054 options to align them with the short options, e.g. "echo -e".
44055
a33224e0 440562008-03-31 Bean <bean123ch@gmail.com>
44057
44058 * video/reader/png.c (grub_png_data): New member is_16bit and
44059 image_data.
44060 (grub_png_decode_image_header): Detect 16 bit png image.
44061 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44062 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44063 (grub_video_reader_png): Release memory occupied by image_data.
44064
44065 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44066 4096 bytes.
44067 (grub_nfs_mount): Skip the test for sector per cluster.
44068
44069 * include/grub/ntfs.h (MAX_SPC): Removed.
44070
86cb4f54 440712008-03-31 Bean <bean123ch@gmail.com>
44072
44073 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44074 (grub_probe_SOURCES): Add fs/afs.c.
44075 (grub_fstest_SOURCES): Likewise.
44076 (afs_mod_SOURCES): New variable.
44077 (afs_mod_CFLAGS): Likewise.
44078 (afs_mod_LDFLAGS): Likewise.
44079
44080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44081 (grub_emu_SOURCES): Likewise.
44082
44083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44084
44085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44086
44087 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44088
44089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44090
44091 * fs/afs.c: New file.
44092
17c74c21 440932008-03-30 Pavel Roskin <proski@gnu.org>
44094
4cb68e89 44095 * disk/host.c: Include grub/misc.h to fix a warning.
44096 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44097 warnings about implicit declarations.
44098
8790bb04 44099 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44100 variable.
44101 * include/grub/i386/loader.h: Change declaration of
44102 grub_linux_boot() to match what grub_loader_set() expects.
44103 * util/getroot.c (grub_guess_root_device): Return const char* to
44104 fix a warning.
44105 * util/grub-probe.c (probe): Fix a warning about uninitialized
44106 abstraction_name variable.
44107 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44108 second argument as unused to fix a warning.
44109
9a3f3296 44110 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44111 missing grub_error() call.
44112
0ecef90d 44113 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44114 2.60 and newer uses it to define datadir.
44115
0bf6d401 44116 * commands/sleep.c: Fix warning about implicit declaration.
44117 * disk/memdisk.c: Likewise.
44118 * loader/aout.c: Likewise.
44119 * loader/i386/bsd_normal.c: Likewise.
44120 * util/grub-probe.c: Likewise.
44121
7cdacf97 44122 * commands/i386/cpuid.c (has_longmode): Make static.
44123 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44124 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44125
17c74c21 44126 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44127 GDT. This is more robust, as %ds can change.
44128 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44129 calling real_to_prot().
44130 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44131
80a3e68b 441322008-03-28 Pavel Roskin <proski@gnu.org>
44133
44134 * kern/i386/pc/startup.S: Assert that uncompressed functions
44135 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44136 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44137 code, as they push parts of the code (error handlers) beyond
44138 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44139 code as correctness and size.
44140
77bcd272 441412008-03-28 Pavel Roskin <proski@gnu.org>
44142
44143 * kern/i386/pc/startup.S
44144 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44145 data block address to the real mode, keep offset minimal. This
44146 works around a bug in AWARD BIOS on old Athlon systems, which
44147 makes CD detection hang.
44148
c5dfd43b 441492008-03-26 Pavel Roskin <proski@gnu.org>
44150
44151 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44152 const.
44153 * include/grub/normal.h: Add grub_parse_color_name_pair()
44154 declaration.
44155
bf962df2 441562008-03-24 Bean <bean123ch@gmail.com>
44157
44158 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44159 (cd_count): Removed.
44160 (cd_drive): New variable.
44161 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44162 (grub_biosdisk_call_hook): Likewise.
44163 (grub_biosdisk_iterate): Change cdrom detection method.
44164 (grub_biosdisk_open): Replace cd_start with cd_drive.
44165 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44166 detect cdrom device.
44167
44168 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44169 Removed.
44170 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44171 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44172 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44173 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44174 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44175 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44176 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44177 (grub_biosdisk_cdrp): New structure.
44178 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44179
44180 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44181
44182 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44183 device.
44184
44185 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44186 New function.
44187
68e7fc7a 441882008-03-20 Robert Millan <rmh@aybabtu.com>
44189
44190 Remove 2 TiB limit in ata.mod.
44191 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44192 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44193 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44194 grub_uint64_t instead of grub_uint32_t.
44195
38ad2cf5 441962008-03-05 Bean <bean123ch@gmail.com>
44197
44198 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44199 (grub_multiboot): Set boot device.
44200
44201 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44202
2b89344e 442032008-03-02 Bean <bean123ch@gmail.com>
44204
44205 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44206 symlink_buffer.
44207
87a95d1f 442082008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44209
44210 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44211 texinfo.tex.
44212
44213 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44214 modified.
44215
44216 * docs/fdl.texi: New file.
f19dbdb7 44217
87a95d1f 44218 * docs/mdate-sh: New file. Copied from gnulib.
44219 * docs/texinfo.tex: Likewise.
44220
44221 * config.guess: Updated from gnulib.
44222 * install-sh: Likewise.
44223
7dc15d8e 442242008-02-28 Robert Millan <rmh@aybabtu.com>
44225
44226 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44227 (aout_mod_SOURCES): New variable.
44228 (aout_mod_CFLAGS): Likewise.
44229 (aout_mod_LDFLAGS): Likewise.
44230
44231 * conf/i386-ieee1275.rmk: Likewise.
44232
b00ab696 442332008-02-28 Robert Millan <rmh@aybabtu.com>
44234
44235 * util/update-grub.in: Reorganise terminal validity check. Accept
44236 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44237 Based on suggestion by Franklin PIAT.
44238
79ca2d78 442392008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44240
44241 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44242 function.
44243 * util/getroot.c (grub_util_check_block_device): New function that
44244 returns the given argument if it is a block device and returns NULL else.
44245 * util/grub-probe.c (argument_is_device): New variable.
44246 (probe): Promote device_name from a variable to an argument. Receive
44247 device_name from grub_util_check_block_device() if path is NULL and from
44248 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44249 (options): Introduce new parameter '-d, --device'.
79ca2d78 44250 (main): Add description of the new parameter to the help screen.
44251 Rename path variable to argument. Set argument_is_device if the '-d'
44252 option is given. Pass argument to probe() depending on
44253 argument_is_device.
44254
0d16e571 442552008-02-24 Bean <bean123ch@gmail.com>
44256
44257 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44258 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44259 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44260 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44261 (GRUB_ISO9660_VOLDESC_END): Likewise.
44262 (grub_iso9660_primary_voldesc): New member escape.
44263 (grub_iso9660_data): New member joliet.
44264 (grub_iso9660_convert_string): New function.
44265 (grub_iso9660_mount): Detect joliet extension.
44266 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44267 (grub_iso9660_iso9660_label): Likewise.
44268
44269 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44270 (grub_setup_SOURCES): Add fs/udf.c.
44271 (grub_fstest_SOURCES): Likewise.
44272 (udf_mod_SOURCES): New variable.
44273 (udf_mod_CFLAGS): Likewise.
44274 (udf_mod_LDFLAGS): Likewise.
44275
44276 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44277 (grub_emu_SOURCES): Likewise.
44278
44279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44280
44281 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44282
44283 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44284
44285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44286
44287 * fs/udf.c: New file.
44288
8a594a17 442892008-02-24 Robert Millan <rmh@aybabtu.com>
44290
44291 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44292 (normal/lexer.c_DEPENDENCIES): New variables.
44293 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44294 (normal/lexer.c_DEPENDENCIES): Likewise.
44295 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44296 (normal/lexer.c_DEPENDENCIES): Likewise.
44297 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44298 (normal/lexer.c_DEPENDENCIES): Likewise.
44299 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44300 (normal/lexer.c_DEPENDENCIES): Likewise.
44301 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44302 (normal/lexer.c_DEPENDENCIES): Likewise.
44303
2dc33c03 443042008-02-23 Robert Millan <rmh@aybabtu.com>
44305
44306 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44307 since they were intended to be in hex. This didn't break previously
44308 because of a bug in gpt_partition_map_iterate() (see below).
44309
44310 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44311 when checking the validity of GPT header.
44312 Remove `partno', since it always provides the same information as `i'.
44313
f6f4cfb0 443142008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44315
44316 * include/grub/efi/time.h: Fix a wrong comment.
44317
79ff665f 443182008-02-19 Pavel Roskin <proski@gnu.org>
44319
44320 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44321 message.
44322
d38e24c2 443232008-02-19 Bean <bean123ch@gmail.com>
44324
44325 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44326 (aout_mod_SOURCES): New variable.
44327 (aout_mod_CFLAGS): Likewise.
44328 (aout_mod_LDFLAGS): Likewise.
44329 (_bsd_mod_SOURCES): New variable.
44330 (_bsd_mod_CFLAGS): Likewise.
44331 (_bsd_mod_LDFLAGS): Likewise.
44332 (bsd_mod_SOURCES): New variable.
44333 (bsd_mod_CFLAGS): Likewise.
44334 (bsd_mod_LDFLAGS): Likewise.
44335
44336 * include/grub/aout.h: New file.
44337
44338 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44339
44340 * include/grub/i386/bsd.h: New file.
44341
44342 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44343 to make it public.
44344
44345 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44346 function is called, so that it's possible to change it inside the hook.
44347 (grub_elf64_load): Likewise.
44348 (grub_elf_file): Don't close the file if elf header is not found.
44349 (grub_elf_close): Close the file if grub_elf_file fails (The new
44350 grub_elf_file won't close it).
44351 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44352 (grub_elf64_size): Likewise.
44353
44354 * kern/i386/loader.S (grub_unix_real_boot): New function.
44355
44356 * loader/aout.c: New file.
44357
44358 * loader/i386/bsd.c: New file.
44359
44360 * loader/i386/bsd_normal.c: New file.
44361
44362 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44363
44364 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44365 can test other formats.
d38e24c2 44366
b93bdb0f 443672008-02-19 Robert Millan <rmh@aybabtu.com>
44368
44369 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44370 (grub_gpt_partition_type_empty): Redefine with macro from
44371 `<grub/gpt_partition.h>'.
44372 (gpt_partition_map_iterate): Adjust partition type comparison.
44373
44374 Export `entry' as partmap-specific `part.data' struct.
44375 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44376
44377 * include/grub/gpt_partition.h (grub_gpt_header)
44378 (grub_gpt_partentry): ... to here (new file).
44379
44380 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44381
44382 (grub_gpt_partition_type_bios_boot): New const variable, defined
44383 with macro from `<grub/gpt_partition.h>'.
44384
44385 (setup): Replace `first_start' with `embed_region', which keeps
44386 track of the embed region (and is partmap-agnostic).
44387
44388 Replace find_first_partition_start() with find_usable_region(),
44389 which finds a usable region for embedding using partmap-specific
44390 knowledge (supports PC/MSDOS and GPT).
44391
44392 Fix all assumptions that the embed region start at sector 1, using
44393 `embed_region.start' from now on. Similarly, use `embed_region.end'
44394 rather than `first_start' to calculate available size.
44395
44396 In grub_util_info() message, replace "into after the MBR" with an
44397 indication of the specific sector our embed region starts at.
44398
66cb40f6 443992008-02-19 Robert Millan <rmh@aybabtu.com>
44400
44401 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44402 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44403 `commands/reboot.c'.
44404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44405 (halt_mod_SOURCES): Likewise.
44406 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44407 (halt_mod_SOURCES): Likewise.
44408
b7202015 444092008-02-17 Christian Franke <franke@computer.org>
44410
44411 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44412
32b0fc49 444132008-02-17 Robert Millan <rmh@aybabtu.com>
44414
44415 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44416 set `first_start' to 0 for non-PC/MSDOS partition maps.
44417
aca63502 444182008-02-16 Robert Millan <rmh@aybabtu.com>
44419
44420 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44421 do not assume partition map is PC/MSDOS before performing checks that
44422 are specific to that layout.
44423
0de8be86 444242008-02-13 Robert Millan <rmh@aybabtu.com>
44425
44426 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44427 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44428 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44429
c3db8364 444302008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44431
44432 * configure.ac: Only a cosmetic change on the handling of
44433 -fno-stack-protector.
44434
f714229e 444352008-02-12 Alexandre Boeglin <alex@boeglin.org>
44436
c3db8364 44437 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44438 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44439 reboot.c.
f714229e 44440 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44441 (halt_mod_SOURCES): New variable.
44442 (halt_mod_CFLAGS): Likewise.
44443 (halt_mod_LDFLAGS): Likewise.
44444 (reboot_mod_SOURCES): Likewise.
44445 (reboot_mod_CFLAGS): Likewise.
44446 (reboot_mod_LDFLAGS): Likewise.
44447
c3db8364 44448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44449 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44450 reboot.c.
f714229e 44451 (halt_mod_SOURCES): Likewise.
44452 (reboot_mod_SOURCES): Likewise.
44453
c3db8364 44454 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44455 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44456 (reboot_mod_SOURCES): Likewise.
44457
44458 * commands/i386/pc/reboot.c: merge this file ...
44459
44460 * commands/ieee1275/reboot.c: ... and this file ...
44461
44462 * commands/reboot.c: ... to this file.
c3db8364 44463 Add some precompiler directive to include the correct header for
44464 each machine.
f714229e 44465
44466 * commands/ieee1275/halt.c: move this file ...
44467
44468 * commands/halt.c: ... to here.
c3db8364 44469 Add some precompiler directive to include the correct header for
44470 each machine.
f714229e 44471
44472 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44473 (grub_halt): Likewise.
44474
44475 * kern/efi/efi.c (grub_reboot): New function.
44476 (grub_halt): Likewise.
44477
c74493e0 444782008-02-12 Robert Millan <rmh@aybabtu.com>
44479
44480 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44481 /dev (like it is done for /dev/mapper). This doesn't provide support
44482 for EVMS, but at least it is now easy to identify the problem when it
44483 arises.
44484
d0db4b04 444852008-02-11 Robert Millan <rmh@aybabtu.com>
44486
44487 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44488 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44489 comparing it with -1, not 0.
44490
bf748642 444912008-02-10 Robert Millan <rmh@aybabtu.com>
44492
44493 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44494 `disk/lvm.c'.
44495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44496 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44497
44498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44499 `disk/lvm.c' to the end of the list.
44500 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44501 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44502
b5db202a 445032008-02-10 Robert Millan <rmh@aybabtu.com>
44504
44505 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44506 grub_print_error() instead. This will let user know why we're entering
44507 rescue mode.
44508 Based on suggestions from Sam Morris.
44509
83abee31 445102008-02-10 Alexandre Boeglin <alex@boeglin.org>
44511
44512 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44513 on remaining N args, instead of "--" arg N times.
44514
78d5a08b 445152008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44516
44517 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44518 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44519 pattern for unknown glyphs.
44520
68807e5f 445212008-02-09 Robert Millan <rmh@aybabtu.com>
44522
44523 * configure.ac: Probe for `help2man'.
44524 * Makefile.in (builddir): New variable.
44525 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44526 or otherwise add a few flags/options to it.
44527 (install-local): For every executable utility or script that is
44528 installed, invoke $(HELP2MAN) to install a manpage based on --help
44529 output.
44530
44531 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44532 that it doesn't prevent --help from working in build tree.
44533
44534 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44535 with `bug-grub@gnu.org'.
44536 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44537 * util/update-grub.in (usage): New function.
44538 Implement proper argument check, with support for --help and --version
44539 (as well as existing -y).
44540
445412008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44542
44543 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44544 avoid overwriting previous output.
44545 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44546
c1962162 445472008-02-09 Robert Millan <rmh@aybabtu.com>
44548
44549 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44550 drawing the menu.
44551
3dac2e3f 445522008-02-09 Robert Millan <rmh@aybabtu.com>
44553
44554 * commands/sleep.c: New file.
44555 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44556 (sleep_mod_SOURCES): New variable.
44557 (sleep_mod_CFLAGS): Likewise.
44558 (sleep_mod_LDFLAGS): Likewise.
44559
7a634e08 445602008-02-09 Robert Millan <rmh@aybabtu.com>
44561
44562 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44563 situations in which we can deduce the RAID size and the superblock
44564 doesn't match it.
44565
b92f0c18 445662008-02-09 Robert Millan <rmh@aybabtu.com>
44567
44568 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44569 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44570 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44571
44572 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44573 and return a grub_diskmemberlist_t composed of physical array members.
44574 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44575
44576 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44577 prototype.
44578 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44579 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44580 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44581
44582 * util/grub-probe.c (probe): Move partmap probing code from here ...
44583 (probe_partmap): ... to here.
44584 (probe): Use probe_partmap() once for the disk we're probing, and
44585 additionally, when such disk contains a memberlist() struct member,
44586 once for each disk that is contained in the structure returned by
44587 memberlist().
44588
91a4bf68 445892008-02-09 Robert Millan <rmh@aybabtu.com>
44590
44591 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44592 environment variable to 'all' in order to obtain debug output from
44593 non-util/ code.
44594 * util/i386/pc/grub-setup.c (main): Likewise.
44595
a96f9caa 445962008-02-08 Robert Millan <rmh@aybabtu.com>
44597
44598 * disk/raid.c (grub_raid_scan_device): Check for
44599 `array->device[sb.this_disk.number]' rather than for
44600 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44601 guaranteed to be accessible.
a96f9caa 44602
b37a9222 446032008-02-08 Robert Millan <rmh@aybabtu.com>
44604
44605 * disk/raid.c: Update copyright.
44606 * fs/cpio.c: Likewise.
44607 * include/grub/raid.h: Likewise.
44608 * loader/i386/pc/multiboot.c: Likewise.
44609 * util/hostfs.c: Likewise.
44610
5626aee1 446112008-02-08 Robert Millan <rmh@aybabtu.com>
44612
44613 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44614 to a grub_disk_t array.
44615 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44616 `device[x]'.
44617 (grub_raid_scan_device): Replace `device[x].name' accesses with
44618 `device[x]->name'. Simplify initialization of `array->device[x]'.
44619
554f0187 446202008-02-08 Robert Millan <rmh@aybabtu.com>
44621
44622 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44623 grub_dprintf() calls.
44624 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44625 error message.
44626
1ec8425d 446272008-02-07 Christian Franke <franke@computer.org>
44628
44629 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44630 instead of fseek and ftell to support large files.
44631 (grub_hostfs_read): Likewise.
44632
f2156fda 446332008-02-07 Robert Millan <rmh@aybabtu.com>
44634
44635 Patch from Jeroen Dekkers.
44636 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44637 failure, since successfully reading all array members might not be
f2156fda 44638 required.
44639
9216e0e7 446402008-02-06 Robert Millan <rmh@aybabtu.com>
44641
44642 * util/grub-probe.c (probe): Simplify partmap probing (with the
44643 assumption that the first word up to the underscore equals to
44644 the module name).
44645
b0dfd29a 446462008-02-06 Christian Franke <franke@computer.org>
44647
44648 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44649 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44650 last block of a cpio or tar stream.
44651 Check for "TRAILER!!!" instead of any empty data
44652 block to detect last block of a cpio stream.
44653 (grub_cpio_dir): Fix constness of variable np.
44654 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44655 cpio or tar trailer is detected. This fixes a crash
44656 on open of a non existing file.
44657
c32865bf 446582008-02-05 Bean <bean123ch@gmail.com>
44659
44660 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44661 address of entry.
44662 (grub_multiboot_load_elf64): Likewise.
44663 (grub_multiboot): Initialize mbi structure.
44664
44665 * util/grub-fstest.c: Don't include unused header file script.h.
44666
fe6b695a 44667 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44668 of file.
44669 (grub_fstest_SOURCES): Likewise.
44670
409480b7 446712008-02-05 Robert Millan <rmh@aybabtu.com>
44672
44673 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44674 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44675 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44676 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44677
44678 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44679 (translation_table): Replace hardcoded values with macros
44680 provided by `<grub/term.h>'.
44681
44682 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44683 (keyboard_map): Correct/add a few values, with macros provided
44684 by `<grub/term.h>'.
44685 (keyboard_map_shift): Zero values that don't differ from their
44686 `keyboard_map' equivalents.
44687 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44688 Discard the second scan code that is always sent by Caps lock.
44689 Only use `keyboard_map_shift' when it provides a non-zero value,
44690 otherwise fallback to `keyboard_map'.
44691
99fadbaa 446922008-02-04 Bean <bean123ch@gmail.com>
44693
44694 * Makefile.in (enable_grub_fstest): New variable.
44695
44696 * conf/common.rmk (grub_fstest_init.lst): New rule.
44697 (grub_fstest_init.h): Likewise.
44698 (grub_fstest_init.c): Likewise.
44699 (util/grub-fstest.c_DEPENDENCIES): New variable.
44700 (grub_fstest_SOURCES): Likewise.
44701
44702 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44703
44704 * util/grub-fstest.c: New file.
44705
bf567c50 447062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44707
44708 Make grub-setup handle a separate root device.
f19dbdb7 44709
bf567c50 44710 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44711 so that the root device can be compared with the destination
44712 device.
44713 When embedding the core image, if the root and destination devices
44714 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44715 0xFF.
44716 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44717
9be6b98b 447182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44719
44720 Add support for having a grub directory in a different drive. This
44721 is still only the data handling part.
f19dbdb7 44722
9be6b98b 44723 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44724 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44725 (grub_root_drive): New variable.
44726
44727 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44728 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44729 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44730 as it was.
44731
44732 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44733
44734 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44735 macro.
44736 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44737
44738 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44739 is bogus, because PXE booting does not specify any drive
44740 correctly.
44741
44742 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44743 am not sure if this is really correct.
44744
44745 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44746 is always identical to the boot drive when booting from a CD.
44747
44748 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44749 longer.
44750 (root_drive): New variable.
44751 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44752 (setup_sectors): Push %dx right after popping it, because %dh will
44753 be modified later.
44754 (copy_buffer): Restore %dx.
44755
e0ca0677 447562008-02-03 Robert Millan <rmh@aybabtu.com>
44757
44758 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44759 use `cdboot.img' for cdrom images.
44760
3b3f6629 447612008-02-03 Robert Millan <rmh@aybabtu.com>
44762
44763 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44764 only setup gfxterm when `font' command has succeeded.
44765
d42b3672 447662008-02-03 Robert Millan <rmh@aybabtu.com>
44767
44768 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44769 (grub_rescue_cmd_multiboot_loader)
44770 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44771
fa370ea6 447722008-02-03 Pavel Roskin <proski@gnu.org>
44773
e0c5dacb 44774 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44775 %edx and %esi from stack only after grub_gate_a20() is called.
44776 grub_gate_a20() clobbers %edx.
44777
f2a76e1d 447782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44779
44780 * configure.ac (AC_INIT): Bumped to 1.96.
44781
44782 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44783 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44784 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44785 video/readers/png.c.
44786
90fd32d1 447872008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44788
44789 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44790 (cdboot_img_SOURCES): New variable.
44791 (cdboot_img_ASFLAGS): New variable.
44792 (cdboot_img_LDFLAGS): New variable.
44793
44794 * boot/i386/pc/cdboot.S: New file.
44795
44796 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44797 (cd_count): Likewise.
44798 (grub_biosdisk_get_drive): Add support for cd device.
44799 (grub_biosdisk_call_hook): Likewise.
44800 (grub_biosdisk_iterate): Likewise.
44801 (grub_biosdisk_open): Likewise.
44802 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44803 (grub_biosdisk_rw): Support reading from cd device.
44804 (GRUB_MOD_INIT): Iterate cd devices.
44805
44806 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44807 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44808 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44809
44810 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44811
4020aa53 448122008-02-02 Robert Millan <rmh@aybabtu.com>
44813
44814 * commands/read.c: New file.
44815 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44816 (read_mod_SOURCES): New variable.
44817 (read_mod_CFLAGS): Likewise.
44818 (read_mod_LDFLAGS): Likewise.
44819
e03a1132 448202008-02-02 Robert Millan <rmh@aybabtu.com>
44821
44822 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44823 determining whether menu has to be displayed.
44824
58c69220 448252008-02-02 Marco Gerards <marco@gnu.org>
44826
44827 * bus/pci.c: New file.
44828
44829 * include/grub/pci.h: Likewise.
44830
44831 * include/grub/i386/pc/pci.h: Likewise.
44832
44833 * commands/lspci.c: Likewise.
44834
44835 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44836 `lspci.mod'.
44837 (pci_mod_SOURCES): New variable.
44838 (pci_mod_CFLAGS): Likewise.
44839 (pci_mod_LDFLAGS): Likewise.
44840 (lspci_mod_SOURCES): Likewise.
44841 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44842 (lspci_mod_LDFLAGS): Likewise.
58c69220 44843
c004e1b4 448442008-02-02 Bean <bean123ch@gmail.com>
44845
44846 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44847 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44848
44849 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44850 (grub_xfs_btree_node): New structure.
44851 (grub_xfs_btree_root): New structure.
44852 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44853 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44854 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44855 (GRUB_XFS_EXTENT_SIZE): Likewise.
44856 (grub_xfs_read_block): Support btree format type.
44857 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44858 Use directory block as basic unit.
44859
44860 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44861
44862 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44863 __attribute__ ((__regparm__ (1))).
44864
f95562bf 448652008-02-01 Robert Millan <rmh@aybabtu.com>
44866
44867 Correct a mistake in previous commit.
44868
44869 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44870 top.
44871 (normal/command.c_DEPENDENCIES): New variable.
44872
7d31f41f 448732008-02-01 Robert Millan <rmh@aybabtu.com>
44874
44875 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44876 top.
44877 (normal/command.c_DEPENDENCIES): New variable.
44878 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44879 * conf/i386-ieee1275.rmk: Likewise.
44880 * conf/i386-linuxbios.rmk: Likewise.
44881 * conf/i386-pc.rmk: Likewise.
44882 * conf/sparc64-ieee1275.rmk: Likewise.
44883 * conf/powerpc-ieee1275.rmk: Likewise.
44884 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44885
44886 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44887
60b6be74 448882008-02-01 Robert Millan <rmh@aybabtu.com>
44889
44890 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44891 call at beginning of function.
44892
078522ab 448932008-01-31 Pavel Roskin <proski@gnu.org>
44894
44895 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44896 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44897 (grub_mkrescue_SOURCES): Likewise.
078522ab 44898 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44899
ccaa8a5f 449002008-01-30 Robert Millan <rmh@aybabtu.com>
44901
44902 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44903 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44904 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44905 (grub_probe_SOURCES): ... to here.
44906
44907 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44908 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44909 * conf/i386-ieee1275.rmk: Likewise.
44910 * conf/i386-linuxbios.rmk: Likewise.
44911 * conf/powerpc-ieee1275.rmk: Likewise.
44912
ae5a9cd7 449132008-01-30 Tristan Gingold <gingold@free.fr>
44914
44915 * kern/rescue.c: Silently accept empty lines.
44916
70bc2ef2 449172008-01-29 Bean <bean123ch@gmail.com>
44918
44919 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44920 (real_code_2): Code cleanup and change comment style.
44921 (move_memory): Avoid using 32-bit address mode.
44922
6a4d50ea 449232008-01-29 Bean <bean123ch@gmail.com>
44924
44925 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44926 (png_mod_SOURCES): New variable.
44927 (png_mod_CFLAGS): Likewise.
44928 (png_mod_LDFLAGS): Likewise.
44929
44930 * video/readers/png.c: New file.
44931
11cc30ac 449322008-01-28 Robert Millan <rmh@aybabtu.com>
44933
44934 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44935 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44936 `ifndef GRUB_MOD_GAP' hack.
44937 * util/elf/grub-mkimage.c (add_segments): Likewise.
44938
3abc589f 449392008-01-27 Robert Millan <rmh@aybabtu.com>
44940
44941 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44942 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44943 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44944
e1907778 449452008-01-27 Robert Millan <rmh@aybabtu.com>
44946
44947 Get grub-emu to build again (including parallel builds).
44948
44949 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44950 Split into ...
44951 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44952 (normal/execute.c_DEPENDENCIES): ... this, ...
44953 (grub-emu_DEPENDENCIES): ... and this.
44954
44955 * conf/i386-efi.rmk: Likewise.
44956 * conf/i386-linuxbios.rmk: Likewise.
44957 * conf/i386-ieee1275.rmk: Likewise.
44958 * conf/powerpc-ieee1275.rmk: Likewise.
44959 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44960
2216b101 449612008-01-27 Robert Millan <rmh@aybabtu.com>
44962
44963 * NEWS: Add a few items.
44964
f75172d9 449652008-01-27 Robert Millan <rmh@aybabtu.com>
44966
44967 Fix parallel builds with grub-emu. Based on earlier commit for
44968 grub-probe and grub-setup.
44969
44970 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44971 (util/grub-emu.c_DEPENDENCIES): ... this.
44972 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44973 (util/grub-emu.c_DEPENDENCIES): ... this.
44974 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44975 (util/grub-emu.c_DEPENDENCIES): ... this.
44976 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44977 (util/grub-emu.c_DEPENDENCIES): ... this.
44978 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44979 (util/grub-emu.c_DEPENDENCIES): ... this.
44980
3f51de77 449812008-01-27 Pavel Roskin <proski@gnu.org>
44982
44983 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44984 to create a gap between _end and the modules added to the image
44985 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44986 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44987 * util/elf/grub-mkimage.c (add_segments): Likewise.
44988
2033f53e 449892008-01-26 Pavel Roskin <proski@gnu.org>
44990
44991 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44992 just return an error.
44993
22da1f6f 449942008-01-26 Bean <bean123ch@gmail.com>
44995
44996 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44997 (grub_reiserfs_get_item): Save offset of the next item.
44998 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44999
2a9525e6 450002008-01-25 Robert Millan <rmh@aybabtu.com>
45001
45002 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45003 make all filesystem sources appear together (possibly fixing omissions
45004 while at it).
45005 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45006 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45007 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45009
45010 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45011 add `kern/file.c'.
45012 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45013 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45014 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45015 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45016
45017 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45018 (probe): Add a sanity check to make sure of our ability to read
45019 requested files when probing for filesystem type.
45020
45021 * genmk.rb: Update copyright year (2007).
45022
45023 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45024 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45025 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45026 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45027 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45028 : Remove function prototypes.
45029
b95f71b5 450302008-01-25 Robert Millan <rmh@aybabtu.com>
45031
45032 Revert my previous commits (based on wrong assumption of how grub_errno
45033 works).
45034
fe6b695a 45035 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45036 * kern/file.c (grub_file_open): Likewise.
45037
d08bbb49 450382008-01-24 Pavel Roskin <proski@gnu.org>
45039
45040 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45041 that hang if GRUB tries to setup colors.
45042 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45043 colors for firmwares that don't support it.
45044 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45045 Recognize Open Hack'Ware, set flags to work around its
45046 limitations.
45047
605e36ed 450482008-01-24 Robert Millan <rmh@aybabtu.com>
45049
45050 * kern/file.c (grub_file_open): Do not account previous failures of
45051 unrelated functions when grub_errno is checked for.
45052 Reported by Oleg Strikov.
45053
bac332a1 450542008-01-24 Bean <bean123ch@gmail.com>
45055
45056 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45057 (grub_ufs_sblock): New member volume name.
45058 (grub_ufs_find_file): Fix string copy bug.
45059 (grub_ufs_label): Implement this function properly.
45060
45061 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45062 (grub_hfs_iterate_records): Use the correct file number for extents
45063 and catalog file. Fix problem in next index calculation.
45064 (grub_hfs_find_node): Replace recursive function call with loop.
45065 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45066
15c80c09 450672008-01-23 Robert Millan <rmh@aybabtu.com>
45068
45069 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45070 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45071 (grub_multiboot2_real_boot): New function prototype.
45072
45073 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45074 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45075
45076 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45077 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45078
305338fd 450792008-01-23 Robert Millan <rmh@aybabtu.com>
45080
45081 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45082 #ifdef'ed out grub_printf().
45083
3ea52685 450842008-01-23 Robert Millan <rmh@aybabtu.com>
45085
45086 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45087 grub_dprintf calls, since they make "debug=all" mode unusable.
45088 (grub_console_checkkey): Likewise.
45089
5882ae4b 450902008-01-23 Robert Millan <rmh@aybabtu.com>
45091
45092 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45093 `term/i386/pc/at_keyboard.c'.
45094 (pkglib_MODULES): Add `serial.mod'.
45095 (serial_mod_SOURCES): New variable.
45096 (serial_mod_CFLAGS): Likewise.
45097 (serial_mod_LDFLAGS): Likewise.
45098
45099 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45100 `<grub/powerpc/ieee1275/console.h>'.
45101 (grub_keyboard_controller_init): New function prototype.
45102 (grub_console_checkkey): Likewise.
45103 (grub_console_getkey): Likewise.
45104
45105 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45106 keyboard on i386.
45107
45108 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45109 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45110
06ab5303 451112008-01-23 Robert Millan <rmh@aybabtu.com>
45112
45113 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45114 present, "(memdisk)/boot/grub" becomes the default prefix.
45115
45116 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45117 a memdisk tarball with all the modules. Add --overlay=DIR option that
45118 allows users to overlay additional files into the image.
45119
dbb475a4 451202008-01-23 Robert Millan <rmh@aybabtu.com>
45121
45122 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45123 and `machine/memory.h'.
45124 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45125 (_multiboot_mod_SOURCES): New variable.
45126 (_multiboot_mod_CFLAGS): Likewise.
45127 (_multiboot_mod_LDFLAGS): Likewise.
45128 (multiboot_mod_SOURCES): Likewise.
45129 (multiboot_mod_CFLAGS): Likewise.
45130 (multiboot_mod_LDFLAGS): Likewise.
45131
45132 * include/grub/i386/ieee1275/loader.h: New file.
45133
45134 * include/grub/i386/ieee1275/machine.h: Likewise.
45135
45136 * include/grub/i386/ieee1275/memory.h: Likewise.
45137
45138 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45139 variable declaration.
45140 (grub_os_area_size): Likewise.
45141
45142 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45143 (grub_lower_mem, grub_upper_mem): New variables.
45144 (grub_stop_floppy): New function (just to make
45145 grub_multiboot2_real_boot() happy).
45146
45147 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45148 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45149 (grub_stop): New function.
45150 Include `"../realmode.S"' and `"../loader.S"'.
45151
45152 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45153 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45154
45155 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45156 rely on grub_multiboot2_real_boot() for final boot.
45157
25638629 451582008-01-22 Robert Millan <rmh@aybabtu.com>
45159
45160 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45161 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45162 device that doesn't look like an SD card.
45163 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45164 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45165 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45166 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45167 found.
45168
9dad816d 451692008-01-22 Robert Millan <rmh@aybabtu.com>
45170
45171 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45172 avoid claiming over our own code.
45173
34842f2d 451742008-01-22 Bean <bean123ch@gmail.com>
45175
45176 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45177 (jpeg_mod_SOURCES): New variable.
45178 (jpeg_mod_CFLAGS): Likewise.
45179 (jpeg_mod_LDFLAGS): Likewise.
45180
45181 * video/readers/jpeg.c : New file.
45182
44023a28 451832008-01-22 Bean <bean123ch@gmail.com>
45184
45185 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45186 there are no more items.
45187
bc2d8ac6 451882008-01-21 Robert Millan <rmh@aybabtu.com>
45189
45190 * kern/mm.c (grub_mm_init_region): Improve debug message.
45191
261bd4bc 451922008-01-21 Robert Millan <rmh@aybabtu.com>
45193
45194 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45195 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45196 address.
45197 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45198 a C macro.
45199 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45200 Indicates start of upper memory.
45201 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45202 (generate_image): Abort when image size is big enough to corrupt
45203 upper memory.
45204
45205 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45206 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45207 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45208 instead of hardcoding 0xA0000.
45209 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45210 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45211 instead of hardcoding 0xA0000.
45212
f970b55e 452132008-01-21 Robert Millan <rmh@aybabtu.com>
45214
45215 * disk/memdisk.c (memdisk_size): New variable.
45216 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45217 `memdisk_size'.
45218 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45219 image to dynamic memory.
45220 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45221 `memdisk_size'. Free memdisk block.
45222
1a8b0526 452232008-01-21 Robert Millan <rmh@aybabtu.com>
45224
45225 Fix detection of very small filesystems (like tar).
45226
45227 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45228 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45229 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45230 a problem with this disk).
45231
6e9b4aab 452322008-01-21 Robert Millan <rmh@aybabtu.com>
45233
45234 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45235 on grub_biosdisk_rw_standard() error.
45236
0d8837b2 452372008-01-21 Robert Millan <rmh@aybabtu.com>
45238
45239 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45240 recent changes.
45241 * kern/elf.c: Likewise.
45242 * kern/ieee1275/ieee1275.c: Likewise.
45243 * kern/powerpc/ieee1275/openfw.c: Likewise.
45244 * term/ieee1275/ofconsole.c: Likewise.
45245
ffd36e34 452462008-01-21 Robert Millan <rmh@aybabtu.com>
45247
45248 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45249
3f0093d0 45250 * include/grub/kernel.h (grub_arch_memdisk_addr)
45251 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45252
3f0093d0 45253 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45254 (grub_arch_memdisk_size): ... to here.
ffd36e34 45255
6c391b21 452562008-01-21 Robert Millan <rmh@aybabtu.com>
45257
45258 Mostly based on bugfix from Bean.
45259
45260 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45261 attribute with hook() parameter.
45262 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45263 declaration.
45264 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45265 attribute with hook() parameter.
45266 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45267 declaration.
45268
55a581dc 452692008-01-21 Robert Millan <rmh@aybabtu.com>
45270
45271 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45272 (pkglib_MODULES): Add `memdisk.mod'.
45273 (memdisk_mod_SOURCES): New variable.
45274 (memdisk_mod_CFLAGS): Likewise.
45275 (memdisk_mod_LDFLAGS): Likewise.
45276
45277 * disk/memdisk.c: New file.
45278
45279 * include/grub/disk.h (grub_disk_dev_id): Add
45280 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45281
45282 * include/grub/i386/pc/kernel.h
45283 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45284 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45285 (grub_kernel_image_size): New variable declaration.
45286 (grub_total_module_size): Likewise.
45287 (grub_memdisk_image_size): Likewise.
45288
45289 * include/grub/i386/pc/memory.h
45290 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45291
45292 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45293 (grub_arch_memdisk_addr): New variable declaration.
45294 (grub_arch_memdisk_size): Likewise.
45295
45296 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45297 (grub_arch_memdisk_size): Likewise.
45298
45299 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45300 (codestart): Replace hardcoded `0x100000' with
45301 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45302
45303 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45304 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45305 not NULL, append the contents of the file it refers to, at the end of
45306 the compressed kernel image. Initialize `grub_memdisk_image_size'
45307 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45308 (options): Add "memdisk"|'m' option.
45309 (main): Parse --memdisk|-m option, and pass user-provided path as
45310 parameter to generate_image().
45311
3d7f54c9 453122008-01-20 Robert Millan <rmh@aybabtu.com>
45313
45314 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45315 grub_dprintf() calls from here ...
45316 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45317
0bf74728 453182008-01-20 Robert Millan <rmh@aybabtu.com>
45319
45320 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45321
45322 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45323 declaration.
45324 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45325 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45326 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45327 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45328 property).
45329 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45330 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45331
33bf70a7 453322008-01-19 Robert Millan <rmh@aybabtu.com>
45333
fe6b695a 45334 Get rid of confusing function (superseded by
33bf70a7 45335 `grub_ieee1275_get_integer_property')
45336 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45337 prototype.
45338 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45339 function.
45340 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45341 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45342 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45343
e2da7d26 453442008-01-19 Robert Millan <rmh@aybabtu.com>
45345
45346 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45347 command after "shut-down", since implementations differ on which
45348 the command for halt is.
45349
59f1fd8d 453502008-01-19 Robert Millan <rmh@aybabtu.com>
45351
45352 * include/grub/i386/linuxbios/console.h: Add header protection.
45353 (grub_keyboard_controller_init): New function prototype.
45354 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45355 (KEYBOARD_COMMAND_READ): Likewise.
45356 (KEYBOARD_COMMAND_WRITE): Likewise.
45357 (KEYBOARD_SCANCODE_SET1): Likewise.
45358 (grub_keyboard_controller_write): New function.
45359 (grub_keyboard_controller_read): Likewise.
45360 (grub_keyboard_controller_init): Likewise.
45361
45362 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45363 (grub_console_init): On coreboot/LinuxBIOS, call
45364 grub_keyboard_controller_init().
45365
5f5a7c15 453662008-01-19 Robert Millan <rmh@aybabtu.com>
45367
45368 PowerPC changes provided by Pavel Roskin.
45369
45370 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45371 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45372 don't rely on cmain() doing it.
45373 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45374 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45375
1210e168 453762008-01-16 Robert Millan <rmh@aybabtu.com>
45377
45378 * include/grub/i386/linuxbios/memory.h
45379 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45380 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45381 receive `table_header' as argument. Instead, probe for it in the
45382 known memory ranges where it can be present.
45383 (grub_available_iterate): Do not pass a fixed `table_header' address
45384 to grub_linuxbios_table_iterate().
45385
3d04eab8 453862008-01-15 Robert Millan <rmh@aybabtu.com>
45387
45388 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45389 * conf/i386-ieee1275.rmk: New file.
45390 * include/grub/i386/ieee1275/console.h: Likewise.
45391 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45392 * include/grub/i386/ieee1275/kernel.h: Likewise.
45393 * include/grub/i386/ieee1275/time.h: Likewise.
45394 * kern/i386/ieee1275/init.c: Likewise.
45395 * kern/i386/ieee1275/startup.S: Likewise.
45396
d1bc1b73 453972008-01-15 Robert Millan <rmh@aybabtu.com>
45398
45399 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45400 when pointers are 32-bit (but still do set it to one when they are
45401 64-bit).
45402
66a65807 454032008-01-15 Robert Millan <rmh@aybabtu.com>
45404
45405 * include/grub/ieee1275/ieee1275.h
45406 (grub_ieee1275_get_integer_property): New function prototype.
45407
45408 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45409 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45410 grub_ieee1275_get_property() to handle endianness.
66a65807 45411
45412 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45413 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45414 where appropriate.
66a65807 45415 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45416 (grub_map): Likewise.
45417 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45418
a83ccafd 454192008-01-15 Bean <bean123ch@gmail.com>
45420
45421 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45422 (grub_script_execute_cmdline): Reset grub_errno.
45423
45424 * normal/main.c (read_config_file): Reset grub_errno.
45425
45426 * normal/parse.y (script_init): New.
45427 (script): Move function and menuentry here.
45428 (delimiter): New.
45429 (command): Add delimiter at the end of command.
45430 (commands): Adjust to match the new command.
45431 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45432 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45433 (if): Use the new commands.
45434
45435 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45436
df6ecfc6 454372008-01-15 Robert Millan <rmh@aybabtu.com>
45438
45439 * normal/menu.c (run_menu): Move timeout message from here ...
45440 (print_timeout): ... to here.
45441 (run_menu): Use print_timeout() once during initial draw to print
45442 the whole message, and again in every clock tick to update only
45443 the number of seconds.
45444
87ae25eb 454452008-01-15 Robert Millan <rmh@aybabtu.com>
45446
45447 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45448 actual size of `available' from grub_ieee1275_get_property(), and
45449 restrict parsing to that bound.
45450
47bf09a4 454512008-01-15 Christian Franke <franke@computer.org>
45452
45453 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45454 (argp_program_version): Remove variable.
45455 (argp_program_bug_address): Likewise.
45456 (options): Convert from struct argp_option to struct option.
45457 (struct arguments): Remove.
45458 (parse_opt): Remove.
45459 (usage): New function.
45460 (main): Replace struct args members by simple variables.
45461 Replace argp_parse() by getopt_long().
45462 Add switch to evaluate options.
45463 Add missing "(...)" around root_dev in prefix string.
45464
c86f1469 454652008-01-14 Robert Millan <rmh@aybabtu.com>
45466
45467 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45468 for grub_ieee1275_exit(), in order to improve portability.
45469
e622c559 454702008-01-14 Robert Millan <rmh@aybabtu.com>
45471
45472 * util/grub.d/10_linux.in (prefix): Define.
45473 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45474
44cb1ec8 454752008-01-13 Pavel Roskin <proski@gnu.org>
45476
45477 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45478 grub_errno if no errors have been detected.
45479
1eb8c802 454802008-01-12 Robert Millan <rmh@aybabtu.com>
45481
45482 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45483 (grub_util_get_dev_abstraction): New function prototype.
45484
45485 * util/getroot.c: Include `<grub/util/getroot.h>'
45486 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45487 (grub_util_get_dev_abstraction): ... here (new function).
45488
45489 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45490 `PRINT_ABSTRACTION'.
45491 (probe): Probe for abstraction type when requested.
45492 (main): Understand `--target=abstraction'.
45493
45494 * util/i386/efi/grub-install.in: Add abstraction module to core
45495 image when it is found to be necessary.
45496 * util/i386/pc/grub-install.in: Likewise.
45497 * util/powerpc/ieee1275/grub-install.in: Likewise.
45498
45499 * util/update-grub_lib.in (font_path): Return system path without
45500 converting to GRUB path.
45501 * util/update-grub.in: Convert system path returned by font_path()
45502 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45503 abstraction module is needed for loading fonts (if any). Export
45504 that as `GRUB_PRELOAD_MODULES'.
45505 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45506 insmod commands).
45507
52bd3de9 455082008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45509
45510 Remove some unused code from reiserfs.
f19dbdb7 45511
52bd3de9 45512 * fs/reiserfs.c (struct grub_reiserfs_key)
45513 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45514 (struct grub_reiserfs_node_body): Removed.
45515 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45516 Likewise.
45517 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45518 Likewise.
45519 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45520 Likewise.
45521 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45522 Likewise.
45523 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45524 Likewise.
45525 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45526 Likewise.
45527 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45528 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45529 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45530
2f80039d 455312008-01-10 Robert Millan <rmh@aybabtu.com>
45532
45533 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45534 Determines if a file is garbage left by packaging systems, etc.
45535 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45536 for processing /etc/grub.d scripts.
45537 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45538 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45539 as a condition for processing Linux images.
45540
87888032 455412008-01-10 Pavel Roskin <proski@gnu.org>
45542
45543 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45544 to compile reiserfs.c on PowerPC.
45545
7e54fced 455462008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45547
45548 * kern/device.c (grub_device_iterate): Do not abort device iteration
45549 when one of the devices cannot be opened.
45550 * kern/disk.c (grub_disk_open): Do not account previous failures of
45551 unrelated functions when grub_errno is checked for.
45552
5aa541e6 455532008-01-08 Robert Millan <rmh@aybabtu.com>
45554
45555 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45556 `! grub_linux_is_bzimage', change order of address comparison to make
45557 it more intuitive, and improve "too big zImage" error message.
45558
7076340d 455592008-01-08 Robert Millan <rmh@aybabtu.com>
45560
45561 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45562 `$(update-grub_DATA)'.
45563 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45564 targets.
45565
9ca70333 455662008-01-07 Robert Millan <rmh@aybabtu.com>
45567
45568 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45569 which instruction is modified by grub-setup during installation
45570 (since it wasn't obvious by only looking at this file).
45571
38ccf575 455722008-01-07 Robert Millan <rmh@aybabtu.com>
45573
45574 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45575 listing actual TODO items.
45576
f5db4291 455772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45578
868967cf 45579 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45580 correctly.
45581 (grub_reiserfs_get_key_offset): Likewise.
45582 (grub_reiserfs_set_key_offset): Likewise.
45583 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45584 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45585
45586 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45587 better to remove the bitfield version completely.
f19dbdb7 45588
868967cf 455892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45590
f5db4291 45591 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45592 allocated from the heap, due to the fshelp implementation.
45593 (grub_reiserfs_dir): Free NODE, due to the same reason.
45594
492e6d9d 455952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45596
45597 Mostly from Vincent Pelletier:
f19dbdb7 45598
492e6d9d 45599 * fs/reiserfs.c: New file.
f19dbdb7 45600
492e6d9d 45601 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45602 (reiserfs_mod_SOURCES): New variable.
45603 (reiserfs_mod_CFLAGS): Likewise.
45604 (reiserfs_mod_LDFLAGS): Likewise.
45605
45606 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45607 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45608 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45609 normal/color.c.
45610
9ce3e7c1 456112008-01-06 Robert Millan <rmh@aybabtu.com>
45612
45613 * normal/color.c: Remove `<grub/env.h>'.
45614
f3b58148 456152008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45616
45617 * include/grub/normal.h: Include <grub/env.h>.
45618
7ac3bcfa 456192008-01-05 Robert Millan <rmh@aybabtu.com>
45620
45621 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45622 usage example with `(hd0,1)'.
fb358190 45623 Reported by Samuel Thibault.
7ac3bcfa 45624
c8ee99d7 456252008-01-05 Robert Millan <rmh@aybabtu.com>
45626
45627 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45628 (grub_linux_boot_zimage): Rename to ...
45629 (grub_linux_boot): ... this.
45630 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45631 (grub_linux_boot_zimage): Conditionalize zImage copy.
45632
45633 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45634 (grub_linux_boot_bzimage): Remove prototype.
45635 (grub_linux_boot_zimage): Rename to ...
45636 (grub_linux_boot): ... this.
45637
45638 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45639 (grub_linux_boot): Remove function.
45640
0ece25b1 456412008-01-05 Robert Millan <rmh@aybabtu.com>
45642
45643 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45644 (grub_env_write_color_highlight): Likewise.
45645 (grub_wait_after_message): Likewise.
45646
45647 * normal/color.c: New file.
45648
45649 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45650 (normal_mod_DEPENDENCIES): Likewise.
45651
45652 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45653 (normal_mod_DEPENDENCIES): Likewise.
45654
45655 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45656 (normal_mod_DEPENDENCIES): Likewise.
45657
45658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45659 (normal_mod_DEPENDENCIES): Likewise.
45660
45661 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45662 for waiting after a message is printed.
45663 * normal/main.c (read_config_file): Likewise.
45664 (grub_normal_init): Register grub_env_write_color_normal() and
45665 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45666 `color_highlight' variables as global.
45667
45668 * normal/menu.c (grub_wait_after_message): New function.
45669 (grub_color_menu_normal): New variable. Replaces ...
45670 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45671 (grub_color_menu_highlight): New variable. Replaces ...
45672 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45673 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45674 `GRUB_TERM_COLOR_STANDARD'.
45675 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45676 `normal_code' and `highlight_code' to `old_color_normal' and
45677 `old_color_highlight', respectively.
45678 (grub_menu_init_page): Update colors when drawing the menu, based on
45679 `menu_color_normal' and `menu_color_highlight' variables.
45680 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45681 a message is printed.
45682
182dd4e5 456832008-01-05 Robert Millan <rmh@aybabtu.com>
45684
45685 * kern/env.c (grub_env_context_open): Propagate hooks for global
45686 variables to new context.
45687
45688 * kern/main.c (grub_set_root_dev): Export `root' variable.
45689
ddf8f6ad 456902008-01-05 Robert Millan <rmh@aybabtu.com>
45691
45692 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45693 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45694 them.
45695
d8b43d9b 456962008-01-05 Robert Millan <rmh@aybabtu.com>
45697
45698 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45699
2bff2de3 457002008-01-04 Christian Franke <franke@computer.org>
45701
45702 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45703 of eisa_mmap.
45704
97eab917 457052008-01-03 Pavel Roskin <proski@gnu.org>
45706
45707 * kern/i386/linuxbios/init.c: Put "void" to all function
45708 declarations with no arguments.
45709 * kern/powerpc/ieee1275/init.c: Likewise.
45710 * term/i386/pc/at_keyboard.c: Likewise.
45711 * term/i386/pc/vga_text.c: Likewise.
45712 * util/grub-mkdevicemap.c: Likewise.
45713
b9416d00 457142008-01-02 Robert Millan <rmh@aybabtu.com>
45715
45716 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45717 message when loaded image is out of bounds.
45718 (grub_multiboot_load_elf64): Likewise.
45719
92695df9 457202008-01-02 Pavel Roskin <proski@gnu.org>
45721
45722 * util/grub.d/10_linux.in: Try version without ".old" when
45723 looking for initrd. It's better to use initrd from the newer
45724 kernel of the same version than no initrd at all.
45725
d98d9cad 457262008-01-01 Robert Millan <rmh@aybabtu.com>
45727
45728 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45729
dbfdce36 457302008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45731
f19dbdb7 45732 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45733 grub_video_get_active_render_target.
45734 (grub_video_adapter): Added unmap_color and get_active_render_target.
45735
f19dbdb7 45736 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45737 grub_video_get_active_render_target.
45738 (grub_video_get_info): Changed method to accept NULL pointer as an
45739 argument to allow detection of active video adapter.
45740
45741 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45742 grub_video_vbe_unmap_color_int.
45743 Added grub_video_vbe_unmap_color and
45744 grub_video_vbe_get_active_render_target.
45745 (grub_video_vbe_adapter): Added unmap_color and
45746 get_active_render_target.
45747
f19dbdb7 45748 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45749 with grub_video_vbe_unmap_color_int.
45750
45751 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45752 (DEFAULT_NORMAL_COLOR): Likewise.
45753 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45754 (DEFAULT_FG_COLOR): Removed.
45755 (DEFAULT_BG_COLOR): Likewise.
45756 (DEFAULT_CURSOR_COLOR): Changed value.
45757 (grub_virtual_screen): Added standard_color_setting,
45758 normal_color_setting, highlight_color_setting and term_color.
45759 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45760 (bitmap_width): Added.
45761 (bitmap_height): Likewise.
45762 (bitmap): Likewise.
45763 (set_term_color): Likewise.
45764 (grub_virtual_screen_setup): Changed to use new terminal coloring
45765 settings.
45766 (grub_gfxterm_init): Added init for bitmap.
45767 (grub_gfxterm_fini): Added destroy for bitmap.
45768 (redraw_screen_rect): Updated to use background bitmap and new
45769 terminal coloring.
45770 (scroll_up): Added optimization for case when there is no bitmap.
45771 (grub_gfxterm_cls): Fixed to use correct background color.
45772 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45773 coloring.
45774 (grub_virtual_screen_setcolor): Likewise.
45775 (grub_virtual_screen_getcolor): Added.
45776 (grub_gfxterm_background_image_cmd): Likewise.
45777 (grub_video_term): Added setcolor and getcolor.
45778 (MOD_INIT): Added registration of background_image command.
45779 (MOD_TERM): Added unregistration for background_image command.
45780
c3c20931 457812007-12-30 Pavel Roskin <proski@gnu.org>
45782
45783 * loader/multiboot_loader.c: Fix multiboot command
45784 unregistration. Fix all typos in the word "multiboot".
45785
df266716 457862007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45787
45788 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45789 support for initrd names used in Fedora.
45790
fc6e896c 457912007-12-26 Bean <bean123ch@gmail.com>
45792
45793 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45794 (cpio_mod_SOURCES): New variable.
45795 (cpio_mod_CFLAGS): Likewise.
45796 (cpio_mod_LDFLAGS): Likewise.
45797
45798 * fs/cpio.c: New file.
45799
45800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45801
45802 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45803
45804 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45805
45806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45807
533110ad 458082007-12-25 Robert Millan <rmh@aybabtu.com>
45809
45810 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45811 (grub_getcolor): New function.
45812
45813 * kern/term.c (grub_getcolor): New function.
45814 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45815 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45816 (print_entry): Set normal and highlight colors to
45817 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45818 respectively, before printing and restore them to old
45819 values afterwards.
45820 (grub_menu_init_page): Likewise. Fill an additional colored space
45821 that would otherwise be left blank.
45822
45823 * term/efi/console.c (grub_console_getcolor): New function.
45824 (struct grub_console_term.getcolor): New variable.
45825 * term/i386/pc/console.c (grub_console_getcolor): New function.
45826 (struct grub_console_term.getcolor): New variable.
45827 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45828 (struct grub_console_term.getcolor): New variable.
45829
45830 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45831 (struct grub_console_term.setcolor): Remove variable.
45832 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45833 (struct grub_console_term.setcolor): Remove variable.
45834 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45835 (struct grub_console_term.setcolor): Remove variable.
45836 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45837 (struct grub_console_term.setcolor): Remove variable.
45838
4931827f 458392007-12-25 Robert Millan <rmh@aybabtu.com>
45840
45841 * configure.ac: Search for possible unifont.hex locations, and
45842 define UNIFONT_HEX if found.
45843
45844 * Makefile.in (UNIFONT_HEX): Define variable.
45845 (DATA): Rename to ...
45846 (PKGLIB): ... this. Update all users.
45847 (PKGDATA): New variable.
45848 (pkgdata_IMAGES): Rename to ...
45849 (pkglib_IMAGES): ... this. Update all users.
45850 (pkgdata_MODULES): Rename to ...
45851 (pkglib_MODULES): ... this. Update all users.
45852 (pkgdata_PROGRAMS): Rename to ...
45853 (pkglib_PROGRAMS): ... this. Update all users.
45854 (pkgdata_DATA): Rename to ...
45855 (pkglib_DATA): ... this. Update all users.
45856 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45857 (unicode.pff, ascii.pff): New rules.
45858 (all-local): Add `$(PKGDATA)' dependency.
45859 (install-local): Process `$(PKGDATA)'.
45860
45861 * util/update-grub_lib.in (font_path): Search for *.pff files in
45862 a few more locations, including `${pkgdata}'.
45863
57e57e31 458642007-12-23 Robert Millan <rmh@aybabtu.com>
45865
45866 Patch from Bean <bean123ch@gmail.com>:
45867 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45868 `size'.
45869
4bc72aa9 458702007-12-21 Bean <bean123ch@gmail.com>
45871
45872 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45873 (ntfscomp_mod_SOURCES): New variable.
45874 (ntfscomp_mod_CFLAGS): Likewise.
45875 (ntfscomp_mod_LDFLAGS): Likewise.
45876
45877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45878 (grub_probe_SOURCES): Likewise.
45879 (grub_emu_SOURCES): Likewise.
45880
45881 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45882 (grub_emu_SOURCES): Likewise.
45883
45884 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45885 (grub_emu_SOURCES): Likewise.
45886
45887 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45888 (grub_emu_SOURCES): Likewise.
45889
45890 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45891 (read_run_list): Renamed to grub_ntfs_read_run_list.
45892 (decomp_nextvcn): Moved to ntfscomp.c.
45893 (decomp_getch): Likewise.
45894 (decomp_get16): Likewise.
45895 (decomp_block): Likewise.
45896 (read_block): Likewise.
45897 (read_data): Partially moved to ntfscomp.c.
45898 (fixup): Change unsigned to grub_uint16_t.
45899 (read_mft): Change unsigned long to grub_uint32_t.
45900 (read_attr): Likewise.
45901 (read_data): Likewise.
45902 (read_run_data): Likewise.
45903 (read_run_list): Likewise.
45904 (read_mft): Likewise.
45905
45906 * fs/ntfscomp.c: New file.
45907
45908 * include/grub/ntfs.h: New file.
45909
af680a87 459102007-12-16 Robert Millan <rmh@aybabtu.com>
45911
45912 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45913 IDE disk check, since Linux is known to support 20 IDE disks.
45914 Reported by Colin Watson.
45915
84be7599 459162007-12-15 Bean <bean123ch@gmail.com>
45917
45918 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45919 (lnxboot_img_SOURCES): New variable.
45920 (lnxboot_img_ASFLAGS): Likewise.
45921 (lnxboot_img_LDFLAGS): Likewise.
45922
45923 * boot/i386/pc/lnxboot.S: New file.
45924
6af9db01 459252007-11-24 Pavel Roskin <proski@gnu.org>
45926
45927 * configure.ac: Test if '--build-id=none' is supported by the
45928 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45929 objcopy to generate incorrect binary files (binutils
45930 2.17.50.0.18-1 as shipped by Fedora 8).
45931 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45932 linking, so that build ID doesn't break the test.
45933
7361cfe6 459342007-11-24 Pavel Roskin <proski@gnu.org>
45935
45936 * include/grub/i386/time.h: use "void" in the argument list
45937 of grub_cpu_idle().
45938 * include/grub/powerpc/time.h: Likewise.
45939 * include/grub/sparc64/time.h: Likewise.
45940
1593e10c 459412007-11-18 Christian Franke <franke@computer.org>
45942
45943 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45944 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45945 This fixes the problem that function keys did not work in grub-emu.
45946
3b8db1a8 459472007-11-18 Christian Franke <franke@computer.org>
45948
45949 * disk/host.c (grub_host_open): Remove attribute unused from
45950 name parameter. Add check for "host". This fixes the problem
45951 that grub-emu does not find partitions.
45952
2e29408d 459532007-11-18 Christian Franke <franke@computer.org>
45954
45955 * util/hostfs.c (is_dir): New function.
45956 (grub_hostfs_dir): Handle missing dirent.d_type case.
45957 (grub_hostfs_read): Add missing fseek().
45958 (grub_hostfs_label): Clear label pointer. This fixes a crash
45959 of grub-emu on "ls (host)".
45960
398cd047 459612007-11-18 Christian Franke <franke@computer.org>
45962
45963 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45964 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45965 to 64 bit boundary by default.
45966
c405c391 459672007-11-18 Bean <bean123ch@gmail.com>
45968
45969 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45970 (hexdump_mod_SOURCES): New variable.
45971 (hexdump_mod_CFLAGS): Likewise.
45972 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45973
c405c391 45974 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45975
45976 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45977
45978 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45979
45980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45981
45982 * include/grub/hexdump.h: New file.
45983
45984 * commands/hexdump.c: New file.
45985
5cced7fd 459862007-11-10 Robert Millan <rmh@aybabtu.com>
45987
45988 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45989 in grub_outb() calls.
45990 (beep_on): Likewise.
45991
8b714eb0 459922007-11-10 Christian Franke <franke@computer.org>
45993
45994 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45995 (grub_menu_run): Likewise.
45996
ce0f1839 459972007-11-10 Robert Millan <rmh@aybabtu.com>
45998
45999 * include/grub/i386/efi/machine.h: New file.
46000 * include/grub/i386/linuxbios/machine.h: Likewise.
46001 * include/grub/i386/pc/machine.h: Likewise.
46002 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46003 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46004
46005 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46006 (serial_hw_io_addr): New variable.
46007 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46008 instead of `(unsigned short *) 0x400'.
46009
270c237d 460102007-11-10 Bean <bean123ch@gmail.com>
46011
46012 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46013
a87783bf 460142007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46015
46016 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46017 (vga_mod_SOURCES): Added.
46018 (vga_mod_CFLAGS): Likewise.
46019 (vga_mod_LDFLAGS): Likewise.
46020
46021 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46022 grub_outb() calls.
46023 (set_map_mask): Likewise.
46024 (set_read_map): Likewise.
46025 (set_read_address): Likewise.
46026 (vga_font): Removed variable.
46027 (get_vga_glyph): Removed function.
46028 (invalidate_char): Likewise.
46029 (write_char): Changed to use grub_font_get_glyph() for font
46030 information.
46031 (grub_vga_putchar): Likewise.
46032 (grub_vga_getcharwidth): Likewise.
46033
6433b448 460342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46035
46036 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46037 flags.
46038 (pxeboot_img_LDFLAGS): Likewise.
46039 (diskboot_img_LDFLAGS): Likewise.
46040 (kernel_img_LDFLAGS): Likewise.
46041
49178511 460422007-11-06 Robert Millan <rmh@aybabtu.com>
46043
46044 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46045 in grub_outb() calls.
46046 (serial_hw_init): Likewise.
46047
53b052de 460482007-11-05 Robert Millan <rmh@aybabtu.com>
46049
46050 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46051 spaces. Skip non-regular files.
46052
5ab33bba 460532007-11-05 Robert Millan <rmh@aybabtu.com>
46054
46055 * kern/disk.c (grub_disk_firmware_fini)
46056 (grub_disk_firmware_is_tainted): New variables.
46057
46058 * include/grub/disk.h (grub_disk_firmware_fini)
46059 (grub_disk_firmware_is_tainted): Likewise.
46060
46061 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46062 (grub_disk_biosdisk_fini): ... to here.
46063 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46064 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46065 is set. Register grub_disk_biosdisk_fini() in
46066 `grub_disk_firmware_fini'.
46067
46068 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46069 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46070 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46071 to finish existing firmware disk interface.
46072
46073 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46074 (ata_mod_SOURCES): New variable.
46075 (ata_mod_CFLAGS): Likewise.
46076 (ata_mod_LDFLAGS): Likewise.
46077
0149ab7c 460782007-11-05 Robert Millan <rmh@aybabtu.com>
46079
46080 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46081 (grub_ata_wait): Reimplement using grub_millisleep().
46082
46083 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46084 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46085
be7ac41e 460862007-11-03 Marco Gerards <marco@gnu.org>
46087
46088 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46089 (CRTC_ADDR_PORT): New macro.
46090 (CRTC_DATA_PORT): Likewise.
46091 (CRTC_CURSOR): Likewise.
46092 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46093 (CRTC_CURSOR_ADDR_LOW): Likewise.
46094 (update_cursor): New function.
46095 (grub_console_real_putchar): Call `update_cursor'.
46096 (grub_console_gotoxy): Likewise.
46097 (grub_console_cls): Set the default color when clearing the
46098 screen.
46099 (grub_console_setcursor): Implemented.
46100
bb06ab2e 461012007-11-03 Marco Gerards <marco@gnu.org>
46102
46103 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46104 become activate.
46105 (grub_ata_pio_write): Likewise.
46106
46107 (grub_atapi_identify): Wait after issuing an ATA command.
46108 (grub_atapi_packet): Likewise.
46109 (grub_ata_identify): Likewise.
46110 (grub_ata_readwrite): Likewise.
46111
cf8f780b 461122007-11-03 Marco Gerards <marco@gnu.org>
46113
46114 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46115 (grub_ata_pio_write): Likewise.
46116 (grub_ata_readwrite): Use `grub_error', instead of
46117 returning `grub_errno'.
46118
ed649e54 461192007-11-03 Marco Gerards <marco@gnu.org>
46120
46121 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46122 grub_ata_pio_write once for every single sector, instead of for
46123 multiple sectors.
46124
ca25d8f0 461252007-10-31 Robert Millan <rmh@aybabtu.com>
46126
46127 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46128
46129 * conf/i386-linuxbios.rmk: New file.
46130
46131 * kern/i386/pc/hardware.c: Likewise.
46132 * term/i386/pc/at_keyboard.c: Likewise.
46133 * term/i386/pc/vga_text.c: Likewise.
46134
46135 * include/grub/i386/linuxbios/boot.h: Likewise.
46136 * include/grub/i386/linuxbios/console.h: Likewise.
46137 * include/grub/i386/linuxbios/init.h: Likewise.
46138 * include/grub/i386/linuxbios/kernel.h: Likewise.
46139 * include/grub/i386/linuxbios/loader.h: Likewise.
46140 * include/grub/i386/linuxbios/memory.h: Likewise.
46141 * include/grub/i386/linuxbios/serial.h: Likewise.
46142 * include/grub/i386/linuxbios/time.h: Likewise.
46143
46144 * kern/i386/linuxbios/init.c: Likewise.
46145 * kern/i386/linuxbios/startup.S: Likewise.
46146 * kern/i386/linuxbios/table.c: Likewise.
46147
e911ecc1 461482007-10-31 Marco Gerards <marco@gnu.org>
46149
46150 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46151 (ata_mod_SOURCES): New variable.
46152 (ata_mod_CFLAGS): Likewise.
46153 (ata_mod_LDFLAGS): Likewise.
46154
46155 * disk/ata.c: New file.
46156
46157 * include/grub/disk.h (grub_disk_dev_id): Add
46158 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46159
7f66d0e0 461602007-10-31 Robert Millan <rmh@aybabtu.com>
46161
46162 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46163 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46164
46165 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46166 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46167
46168 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46169 `<grub/types.h>'.
46170
46171 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46172
5cd7dd46 461732007-10-27 Robert Millan <rmh@aybabtu.com>
46174
3236ca65 46175 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46176
2ebfc90f 461772007-10-22 Robert Millan <rmh@aybabtu.com>
46178
46179 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46180 `"../realmode.S"'.
46181 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46182
73fcb0f3 461832007-10-22 Robert Millan <rmh@aybabtu.com>
46184
46185 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46186 (pkgdata_MODULES): Add `biosdisk.mod'.
46187 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46188 variables.
46189
46190 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46191 (grub_biosdisk_init): Replace with ...
46192 (GRUB_MOD_INIT(biosdisk)): ... this.
46193 (grub_biosdisk_fini): Replace with ...
46194 (GRUB_MOD_FINI(biosdisk)): ... this.
46195
46196 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46197 (grub_machine_init): Remove call to grub_biosdisk_init().
46198 (grub_machine_fini): Remove call to grub_machine_fini().
46199
46200 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46201
3381d274 462022007-10-22 Robert Millan <rmh@aybabtu.com>
46203
46204 * include/grub/time.h: New file.
46205 * include/grub/i386/time.h: Likewise.
46206 * include/grub/powerpc/time.h: Likewise.
46207 * include/grub/sparc64/time.h: Likewise.
46208
46209 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46210 instances to ...
46211 (KERNEL_MACHINE_TIME_HEADER): ... this.
46212 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46213 instances to ...
46214 (KERNEL_MACHINE_TIME_HEADER): ... this.
46215 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46216 instances to ...
46217 (KERNEL_MACHINE_TIME_HEADER): ... this.
46218
46219 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46220 (grub_millisleep): New function.
46221 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46222 (grub_millisleep): New function.
46223 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46224 Remove `grub/machine/time.h' include.
46225 (grub_millisleep): New function.
46226 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46227 Remove `grub/machine/time.h' include.
46228 (grub_millisleep): New function.
46229
46230 * include/grub/misc.h (grub_div_roundup): New function.
46231
46232 * kern/misc.c: Include `<grub/time.h>'.
46233 (grub_millisleep_generic): New function.
46234
46235 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46236 Add `time.h'.
46237 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46238 Add `time.h'.
46239 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46240 `machine/time.h'. Add `time.h'.
46241 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46242
a39a0312 462432007-10-21 Robert Millan <rmh@aybabtu.com>
46244
46245 * include/grub/misc.h (grub_max): New function.
46246
2aad70e2 462472007-10-21 Robert Millan <rmh@aybabtu.com>
46248
46249 * util/misc.c (grub_util_info): Call fflush() before returning.
46250
54b71c4b 462512007-10-20 Robert Millan <rmh@aybabtu.com>
46252
46253 * genmk.rb (Image): Copy `extra_flags' from here ...
46254 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46255
46256 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46257 to `argc' and `args' arguments.
46258
a979f513 462592007-10-17 Robert Millan <rmh@aybabtu.com>
46260
46261 * kern/i386/loader.S: New file.
46262
46263 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46264 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46265 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46266 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46267 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46268 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46269 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46270 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46271 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46272 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46273 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46274 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46275 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46276 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46277
46278 * kern/i386/realmode.S: New file.
46279
46280 * kern/i386/pc/startup.S (protstack): Moved from here ...
46281 * kern/i386/realmode.S (protstack)... to here.
46282 * kern/i386/pc/startup.S (gdt): Moved from here ...
46283 * kern/i386/realmode.S (gdt)... to here.
46284 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46285 * kern/i386/realmode.S (prot_to_real)... to here.
46286
46287 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46288 `kern/i386/realmode.S'.
46289
825fc8fd 462902007-10-17 Robert Millan <rmh@aybabtu.com>
46291
46292 * include/grub/i386/loader.h: New file.
46293
46294 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46295 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46296 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46297 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46298 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46299 * include/grub/i386/loader.h (grub_linux_prot_size)
46300 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46301 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46302 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46303 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46304
46305 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46306
e179b2f4 463072007-10-15 Robert Millan <rmh@aybabtu.com>
46308
46309 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46310 filesystem when dev->disk is unset.
46311 Do probe for filesystem even when dev->disk->has_partitions is set.
46312 In case a filesystem is found, always report it.
46313 In case it isn't, if dev->disk->has_partitions is set, report that
46314 a partition table was found instead of reporting that no filesystem
46315 could be identified.
46316
5db82af6 463172007-10-12 Robert Millan <rmh@aybabtu.com>
46318
46319 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46320 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46321
68f6ac74 46322 * include/grub/types.h (grub_host_to_target16): New macro.
46323 (grub_host_to_target32): Likewise.
46324 (grub_host_to_target64): Likewise.
46325 (grub_target_to_host16): Likewise.
46326 (grub_target_to_host32): Likewise.
46327 (grub_target_to_host64): Likewise.
5db82af6 46328
46329 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46330 Renamed from to ...
46331 (GRUB_MOD_ALIGN): ...this. Update all users.
46332
68f6ac74 46333 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46334 grub_host_to_target32.
46335 Replace grub_be_to_cpu32 with grub_target_to_host32.
46336 (load_modules): Likewise.
46337 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46338 Replace grub_be_to_cpu32 with grub_target_to_host32.
46339 Replace grub_cpu_to_be16 with grub_host_to_target16.
46340 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46341
3cf497cc 463422007-10-12 Robert Millan <rmh@aybabtu.com>
46343
46344 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46345 * util/elf/grub-mkimage.c: ... here.
46346
46347 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46348 `util/powerpc/ieee1275/grub-mkimage.c'.
46349
c8cc3692 463502007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46351
c8cc3692 46352 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46353 and make it easier to figure out.
46354 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46355 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46356 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46357 leave us with less than HEAP_MIN_SIZE total heap.
46358 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46359
5c58b791 463602007-10-03 Robert Millan <rmh@aybabtu.com>
46361
46362 * include/grub/i386/io.h: New file.
46363 * commands/i386/pc/play.c (inb): Removed.
46364 (outb): Removed.
46365 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46366 with grub_outb().
afcd2ef8 46367 * term/i386/pc/serial.c (inb): Removed.
46368 (outb): Removed.
46369 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46370 with grub_outb().
46371 * term/i386/pc/vga.c (inb): Removed.
46372 (outb): Removed.
46373 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46374 with grub_outb().
5c58b791 46375
1a477ed6 463762007-10-02 Robert Millan <rmh@aybabtu.com>
46377
46378 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46380 Reported by Marcin Kurek.
46381
6b5d80fa 463822007-09-07 Robert Millan <rmh@aybabtu.com>
46383
46384 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46385 SmartFirmware version updates (as released by Sven Luther), and avoid
46386 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46387 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46388 known broken.
46389
5618afbf 463902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 From Hitoshi Ozeki:
46393 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46394 when merging two regions.
46395
6139dcd9 463962007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46397
508e39ee 46398 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46399 * normal/completion.c (grub_normal_do_completion): Likewise.
46400 Reported by Hitoshi Ozeki.
46401
464022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46403
6139dcd9 46404 Do not use devices at boot in chainloading.
f19dbdb7 46405
6139dcd9 46406 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46407 (boot_part_addr): Likewise.
46408 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46409 with BOOT_DRIVE and BOOT_PART_ADDR.
46410 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46411 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46412
38da6516 464132007-08-29 Robert Millan <rmh@aybabtu.com>
46414
46415 Patch from Simon Peter <dn.tlp@gmx.net>:
46416 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46417 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46418 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46419 util/i386/pc/grub-setup.c_DEPENDENCIES.
46420 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46421 util/grub-probe.c_DEPENDENCIES.
46422 * conf/powerpc-ieee1275.rmk: Likewise.
46423
29d0928c 464242007-08-28 Robert Millan <rmh@aybabtu.com>
46425
46426 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46427 to tell grub-mkdevicemap how to name devices.
46428 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46429 feature).
46430
46431 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46432 util/i386/get_disk_name.c.
46433 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46434 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46435 util/ieee1275/get_disk_name.c.
46436
46437 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46438
46439 * DISTLIST: Add util/i386/get_disk_name.c and
46440 util/ieee1275/get_disk_name.c.
46441
46442 * util/grub-mkdevicemap.c: Replace device naming logic with
46443 grub_util_get_disk_name() calls.
46444
5a0d3cca 464452007-08-20 Robert Millan <rmh@aybabtu.com>
46446
46447 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46448 (so that it works for both plural and singular quantities).
46449
8b72db2f 464502007-08-05 Robert Millan <rmh@aybabtu.com>
46451
46452 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46453 so that [xz] isn't taken into account when determining order.
46454
352466bf 464552007-08-02 Marco Gerards <marco@gnu.org>
46456
46457 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46458 `include/multiboot2.h', `include/grub/elfload.h',
46459 `include/multiboot.h', `include/grub/multiboot.h',
46460 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46461 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46462 `kern/elf.c', `loader/multiboot_loader.c',
46463 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46464 `loader/i386/pc/multiboot2.c',
46465 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46466 `util/i386/pc/grub-mkrescue.in'. Remove
46467 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46468 `include/grub/i386/pc/util/biosdisk.h' and
46469 `include/grub/powerpc/ieee1275/multiboot.h'.
46470
8f096014 464712007-08-02 Bean <bean123ch@gmail.com>
46472
46473 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46474 (ntfs_mod_SOURCES): New variable.
46475 (ntfs_mod_CFLAGS): Likewise.
46476 (ntfs_mod_LDFLAGS): Likewise.
46477
46478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46479 (grub_probe_SOURCES): Likewise.
46480 (grub_emu_SOURCES): Likewise.
46481
46482 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46483 (grub_emu_SOURCES): Likewise.
46484
46485 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46486 (grub_emu_SOURCES): Likewise.
f19dbdb7 46487
8f096014 46488 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46489
46490 * fs/ntfs.c: New file.
46491
9959f7db 464922007-08-02 Bean <bean123ch@gmail.com>
46493
46494 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46495
46496 * file.h (grub_file): Likewise.
46497
46498 * fshelp.h (grub_fshelp_read_file): Likewise.
46499
46500 * util/i386/pc/grub-setup.c (setup): Likewise.
46501 (save_first_sector): Likewise.
46502 (save_blocklists): Likewise.
f19dbdb7 46503
9959f7db 46504 * fs/affs.c (grub_affs_read_file): Likewise.
46505
46506 * fs/ext2.c (grub_ext2_read_file): Likewise.
46507
46508 * fs/fat.c (grub_fat_read_data): Likewise.
46509
46510 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46511
46512 * fs/hfs.c (grub_hfs_read_file): Likewise.
46513
46514 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46515
46516 * fs/jfs.c (grub_jfs_read_file): Likewise.
46517
46518 * fs/minix.c (grub_minix_read_file): Likewise.
46519
46520 * fs/sfs.c (grub_sfs_read_file): Likewise.
46521
46522 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46523
9959f7db 46524 * fs/xfs.c (grub_xfs_read_file): Likewise.
46525
46526 * command/blocklist.c (read_blocklist): Likewise.
46527 (print_blocklist): Likewise.
46528
0a203f83 465292007-08-02 Marco Gerards <marco@gnu.org>
46530
46531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46532 `util/hostfs.c'.
46533
46534 * disk/host.c: New file.
46535
46536 * util/hostfs.c: Likewise.
46537
46538 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46539 return `GRUB_ERR_BAD_FS'.
46540 * fs/sfs.c (grub_sfs_mount): Likewise.
46541 * fs/xfs.c (grub_xfs_mount): Likewise.
46542
46543 * include/grub/disk.h (enum grub_disk_dev_id): Add
46544 `GRUB_DISK_DEVICE_HOST_ID'.
46545
46546 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46547
e5dfe777 465482007-07-24 Jerone Young <jerone@gmail.com>
46549
f19dbdb7 46550 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46551 modules for compilation.
46552 * conf/powerpc-ieee1275.rmk: Likewise.
46553
46554 * include/multiboot.h: Move multiboot definitions to one file. Rename
46555 many definitions to not get grub specific.
46556 * include/multiboot2.h: Create header with multiboot 2 definitions.
46557 * include/grub/multiboot.h: Header for grub specific function
46558 prototypes and definitions.
46559 * include/grub/multiboot2.h: Likewise.
46560 * include/grub/multiboot_loader.h: Likewise.
46561 * include/grub/i386/pc/multiboot.h: Removed.
46562 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46563
46564 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46565 and 2 to allow for one multiboot and module commands.
46566 * loader/multiboot2.c: Add multiboot2 functionality.
46567 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46568 and definition names.
46569 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46570 2 functions.
46571 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46572 ieee1275 specific multiboot2 code.
46573
46574 * kern/i386/pc/startup.S: Change headers and definition names for
46575 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46576
daf0f0ba 465772007-07-22 Robert Millan <rmh@aybabtu.com>
46578
46579 * geninitheader.sh: Process file specified in first parameter rather
46580 than hardcoding grub_modules_init.lst.
fe6b695a 46581 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46582 than hardcoding grub_modules_init.h.
46583
46584 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46585 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46586 grub_probe_init.[ch] and grub_setup_init.[ch].
46587
46588 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46589 grub_modules_init.h with grub_emu_init.h.
46590 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46591 grub_probe_init.[ch] files.
46592 * conf/i386-efi.rmk: Likewise.
46593 * conf/i386-pc.rmk: Likewise.
46594 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46595 grub_setup_init.[ch] files.
46596
46597 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46598 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46599 to initialize modules rather than a list of hardcoded functions.
46600 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46601 grub_init_all() to initialize modules rather than a list of hardcoded
46602 functions.
46603
54cdc1cc 466042007-07-22 Robert Millan <rmh@aybabtu.com>
46605
46606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46607 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46608
ad0686cc 466092007-07-22 Robert Millan <rmh@aybabtu.com>
46610
46611 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46612 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46613 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46614 flag when running on SmartFirmware.
46615 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46616 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46617 was set.
46618
46619 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46620 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46621 rather than decreasing it.
46622
46623 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46624 there's not enough space to do it, fail in the same way as when it
46625 can't be done because there are no partitions.
46626
46627 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46628 when nvsetenv failed.
46629
969c02ec 466302007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46631
46632 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46633 because this rule is automatically generated.
46634 (grub-mkrescue): Removed for the same reason as above.
46635
5a79f472 466362007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46637
46638 Migrate to GNU General Public License Version 3.
f19dbdb7 46639
5a79f472 46640 * COPYING: Replaced with the plain text version of GPLv3.
46641
46642 * config.guess: Updated from gnulib.
46643 * config.sub: Likewise.
46644
46645 * geninit.sh: Output a GPLv3 copyright notice.
46646 * geninitheader.sh: Likewise.
46647 * genmodsrc.sh: Likewise.
46648 * gensymlist.sh.in: Likewise.
46649
46650 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46651 * boot/i386/pc/diskboot.S: Likewise.
46652 * boot/i386/pc/pxeboot.S: Likewise.
46653 * commands/blocklist.c: Likewise.
46654 * commands/boot.c: Likewise.
46655 * commands/cat.c: Likewise.
46656 * commands/cmp.c: Likewise.
46657 * commands/configfile.c: Likewise.
46658 * commands/echo.c: Likewise.
46659 * commands/help.c: Likewise.
46660 * commands/ls.c: Likewise.
46661 * commands/search.c: Likewise.
46662 * commands/terminal.c: Likewise.
46663 * commands/test.c: Likewise.
46664 * commands/videotest.c: Likewise.
46665 * commands/i386/cpuid.c: Likewise.
46666 * commands/i386/pc/halt.c: Likewise.
46667 * commands/i386/pc/play.c: Likewise.
46668 * commands/i386/pc/reboot.c: Likewise.
46669 * commands/i386/pc/vbeinfo.c: Likewise.
46670 * commands/i386/pc/vbetest.c: Likewise.
46671 * commands/ieee1275/halt.c: Likewise.
46672 * commands/ieee1275/reboot.c: Likewise.
46673 * commands/ieee1275/suspend.c: Likewise.
46674 * disk/loopback.c: Likewise.
46675 * disk/lvm.c: Likewise.
46676 * disk/raid.c: Likewise.
46677 * disk/efi/efidisk.c: Likewise.
46678 * disk/i386/pc/biosdisk.c: Likewise.
46679 * disk/ieee1275/ofdisk.c: Likewise.
46680 * font/manager.c: Likewise.
46681 * fs/affs.c: Likewise.
46682 * fs/ext2.c: Likewise.
46683 * fs/fat.c: Likewise.
46684 * fs/fshelp.c: Likewise.
46685 * fs/hfs.c: Likewise.
46686 * fs/hfsplus.c: Likewise.
46687 * fs/iso9660.c: Likewise.
46688 * fs/jfs.c: Likewise.
46689 * fs/minix.c: Likewise.
46690 * fs/sfs.c: Likewise.
46691 * fs/ufs.c: Likewise.
46692 * fs/xfs.c: Likewise.
46693 * hello/hello.c: Likewise.
46694 * include/grub/acorn_filecore.h: Likewise.
46695 * include/grub/arg.h: Likewise.
46696 * include/grub/bitmap.h: Likewise.
46697 * include/grub/boot.h: Likewise.
46698 * include/grub/cache.h: Likewise.
46699 * include/grub/device.h: Likewise.
46700 * include/grub/disk.h: Likewise.
46701 * include/grub/dl.h: Likewise.
46702 * include/grub/elfload.h: Likewise.
46703 * include/grub/env.h: Likewise.
46704 * include/grub/err.h: Likewise.
46705 * include/grub/file.h: Likewise.
46706 * include/grub/font.h: Likewise.
46707 * include/grub/fs.h: Likewise.
46708 * include/grub/fshelp.h: Likewise.
46709 * include/grub/gzio.h: Likewise.
46710 * include/grub/hfs.h: Likewise.
46711 * include/grub/kernel.h: Likewise.
46712 * include/grub/loader.h: Likewise.
46713 * include/grub/lvm.h: Likewise.
46714 * include/grub/misc.h: Likewise.
46715 * include/grub/mm.h: Likewise.
46716 * include/grub/net.h: Likewise.
46717 * include/grub/normal.h: Likewise.
46718 * include/grub/parser.h: Likewise.
46719 * include/grub/partition.h: Likewise.
46720 * include/grub/pc_partition.h: Likewise.
46721 * include/grub/raid.h: Likewise.
46722 * include/grub/rescue.h: Likewise.
46723 * include/grub/script.h: Likewise.
46724 * include/grub/setjmp.h: Likewise.
46725 * include/grub/symbol.h: Likewise.
46726 * include/grub/term.h: Likewise.
46727 * include/grub/terminfo.h: Likewise.
46728 * include/grub/tparm.h: Likewise.
46729 * include/grub/types.h: Likewise.
46730 * include/grub/video.h: Likewise.
46731 * include/grub/efi/api.h: Likewise.
46732 * include/grub/efi/chainloader.h: Likewise.
46733 * include/grub/efi/console.h: Likewise.
46734 * include/grub/efi/console_control.h: Likewise.
46735 * include/grub/efi/disk.h: Likewise.
46736 * include/grub/efi/efi.h: Likewise.
46737 * include/grub/efi/pe32.h: Likewise.
46738 * include/grub/efi/time.h: Likewise.
46739 * include/grub/i386/linux.h: Likewise.
46740 * include/grub/i386/setjmp.h: Likewise.
46741 * include/grub/i386/types.h: Likewise.
46742 * include/grub/i386/efi/kernel.h: Likewise.
46743 * include/grub/i386/efi/loader.h: Likewise.
46744 * include/grub/i386/efi/time.h: Likewise.
46745 * include/grub/i386/pc/biosdisk.h: Likewise.
46746 * include/grub/i386/pc/boot.h: Likewise.
46747 * include/grub/i386/pc/chainloader.h: Likewise.
46748 * include/grub/i386/pc/console.h: Likewise.
46749 * include/grub/i386/pc/init.h: Likewise.
46750 * include/grub/i386/pc/kernel.h: Likewise.
46751 * include/grub/i386/pc/loader.h: Likewise.
46752 * include/grub/i386/pc/memory.h: Likewise.
46753 * include/grub/i386/pc/multiboot.h: Likewise.
46754 * include/grub/i386/pc/serial.h: Likewise.
46755 * include/grub/i386/pc/time.h: Likewise.
46756 * include/grub/i386/pc/vbe.h: Likewise.
46757 * include/grub/i386/pc/vbeblit.h: Likewise.
46758 * include/grub/i386/pc/vbefill.h: Likewise.
46759 * include/grub/i386/pc/vbeutil.h: Likewise.
46760 * include/grub/i386/pc/vga.h: Likewise.
46761 * include/grub/ieee1275/ieee1275.h: Likewise.
46762 * include/grub/ieee1275/ofdisk.h: Likewise.
46763 * include/grub/powerpc/libgcc.h: Likewise.
46764 * include/grub/powerpc/setjmp.h: Likewise.
46765 * include/grub/powerpc/types.h: Likewise.
46766 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46767 * include/grub/powerpc/ieee1275/console.h: Likewise.
46768 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46769 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46770 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46771 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46772 * include/grub/powerpc/ieee1275/time.h: Likewise.
46773 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46774 * include/grub/sparc64/libgcc.h: Likewise.
46775 * include/grub/sparc64/setjmp.h: Likewise.
46776 * include/grub/sparc64/types.h: Likewise.
46777 * include/grub/sparc64/ieee1275/console.h: Likewise.
46778 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46779 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46780 * include/grub/sparc64/ieee1275/time.h: Likewise.
46781 * include/grub/util/biosdisk.h: Likewise.
46782 * include/grub/util/getroot.h: Likewise.
46783 * include/grub/util/lvm.h: Likewise.
46784 * include/grub/util/misc.h: Likewise.
46785 * include/grub/util/raid.h: Likewise.
46786 * include/grub/util/resolve.h: Likewise.
46787 * io/gzio.c: Likewise.
46788 * kern/device.c: Likewise.
46789 * kern/disk.c: Likewise.
46790 * kern/dl.c: Likewise.
46791 * kern/elf.c: Likewise.
46792 * kern/env.c: Likewise.
46793 * kern/err.c: Likewise.
46794 * kern/file.c: Likewise.
46795 * kern/fs.c: Likewise.
46796 * kern/loader.c: Likewise.
46797 * kern/main.c: Likewise.
46798 * kern/misc.c: Likewise.
46799 * kern/mm.c: Likewise.
46800 * kern/parser.c: Likewise.
46801 * kern/partition.c: Likewise.
46802 * kern/rescue.c: Likewise.
46803 * kern/term.c: Likewise.
46804 * kern/efi/efi.c: Likewise.
46805 * kern/efi/init.c: Likewise.
46806 * kern/efi/mm.c: Likewise.
46807 * kern/i386/dl.c: Likewise.
46808 * kern/i386/efi/init.c: Likewise.
46809 * kern/i386/efi/startup.S: Likewise.
46810 * kern/i386/pc/init.c: Likewise.
46811 * kern/i386/pc/lzo1x.S: Likewise.
46812 * kern/i386/pc/startup.S: Likewise.
46813 * kern/ieee1275/ieee1275.c: Likewise.
46814 * kern/powerpc/cache.S: Likewise.
46815 * kern/powerpc/dl.c: Likewise.
46816 * kern/powerpc/ieee1275/cmain.c: Likewise.
46817 * kern/powerpc/ieee1275/crt0.S: Likewise.
46818 * kern/powerpc/ieee1275/init.c: Likewise.
46819 * kern/powerpc/ieee1275/openfw.c: Likewise.
46820 * kern/sparc64/cache.S: Likewise.
46821 * kern/sparc64/dl.c: Likewise.
46822 * kern/sparc64/ieee1275/init.c: Likewise.
46823 * kern/sparc64/ieee1275/openfw.c: Likewise.
46824 * loader/efi/chainloader.c: Likewise.
46825 * loader/efi/chainloader_normal.c: Likewise.
46826 * loader/i386/efi/linux.c: Likewise.
46827 * loader/i386/efi/linux_normal.c: Likewise.
46828 * loader/i386/pc/chainloader.c: Likewise.
46829 * loader/i386/pc/chainloader_normal.c: Likewise.
46830 * loader/i386/pc/linux.c: Likewise.
46831 * loader/i386/pc/linux_normal.c: Likewise.
46832 * loader/i386/pc/multiboot.c: Likewise.
46833 * loader/i386/pc/multiboot_normal.c: Likewise.
46834 * loader/powerpc/ieee1275/linux.c: Likewise.
46835 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46836 * normal/arg.c: Likewise.
46837 * normal/cmdline.c: Likewise.
46838 * normal/command.c: Likewise.
46839 * normal/completion.c: Likewise.
46840 * normal/execute.c: Likewise.
46841 * normal/function.c: Likewise.
46842 * normal/lexer.c: Likewise.
46843 * normal/main.c: Likewise.
46844 * normal/menu.c: Likewise.
46845 * normal/menu_entry.c: Likewise.
46846 * normal/misc.c: Likewise.
46847 * normal/parser.y: Likewise.
46848 * normal/script.c: Likewise.
46849 * normal/i386/setjmp.S: Likewise.
46850 * normal/powerpc/setjmp.S: Likewise.
46851 * normal/sparc64/setjmp.S: Likewise.
46852 * partmap/acorn.c: Likewise.
46853 * partmap/amiga.c: Likewise.
46854 * partmap/apple.c: Likewise.
46855 * partmap/gpt.c: Likewise.
46856 * partmap/pc.c: Likewise.
46857 * partmap/sun.c: Likewise.
46858 * term/gfxterm.c: Likewise.
46859 * term/terminfo.c: Likewise.
46860 * term/efi/console.c: Likewise.
46861 * term/i386/pc/console.c: Likewise.
46862 * term/i386/pc/serial.c: Likewise.
46863 * term/i386/pc/vesafb.c: Likewise.
46864 * term/i386/pc/vga.c: Likewise.
46865 * term/ieee1275/ofconsole.c: Likewise.
46866 * util/biosdisk.c: Likewise.
46867 * util/console.c: Likewise.
46868 * util/genmoddep.c: Likewise.
46869 * util/getroot.c: Likewise.
46870 * util/grub-emu.c: Likewise.
46871 * util/grub-mkdevicemap.c: Likewise.
46872 * util/grub-probe.c: Likewise.
46873 * util/lvm.c: Likewise.
46874 * util/misc.c: Likewise.
46875 * util/raid.c: Likewise.
46876 * util/resolve.c: Likewise.
46877 * util/update-grub.in: Likewise.
46878 * util/update-grub_lib.in: Likewise.
46879 * util/grub.d/00_header.in: Likewise.
46880 * util/grub.d/10_hurd.in: Likewise.
46881 * util/grub.d/10_linux.in: Likewise.
46882 * util/i386/efi/grub-install.in: Likewise.
46883 * util/i386/efi/grub-mkimage.c: Likewise.
46884 * util/i386/pc/grub-install.in: Likewise.
46885 * util/i386/pc/grub-mkimage.c: Likewise.
46886 * util/i386/pc/grub-mkrescue.in: Likewise.
46887 * util/i386/pc/grub-setup.c: Likewise.
46888 * util/i386/pc/misc.c: Likewise.
46889 * util/powerpc/ieee1275/grub-install.in: Likewise.
46890 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46891 * util/powerpc/ieee1275/misc.c: Likewise.
46892 * video/bitmap.c: Likewise.
46893 * video/video.c: Likewise.
46894 * video/i386/pc/vbe.c: Likewise.
46895 * video/i386/pc/vbeblit.c: Likewise.
46896 * video/i386/pc/vbefill.c: Likewise.
46897 * video/i386/pc/vbeutil.c: Likewise.
46898 * video/readers/tga.c: Likewise.
46899
3572d015 469002007-07-02 Robert Millan <rmh@aybabtu.com>
46901
46902 * conf/i386-efi.rmk: Replace obsolete reference to
46903 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46904 with util/getroot.c.
46905 * conf/powerpc-ieee1275.rmk: Likewise.
46906 * conf/sparc64-ieee1275.rmk: Likewise.
46907
46908 * util/grub-emu.c (main): Fix unchecked pointer handling.
46909
2c2a681b 469102007-07-02 Robert Millan <rmh@aybabtu.com>
46911
46912 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46913 invocation to fail, in order to support partition-less media.
46914
46915 * util/i386/pc/grub-install.in: Likewise.
46916
46917 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46918 which fs or partmap modules are needed (akin to its sister scripts).
46919
46920 Also use grub-probe to get rid of unportable /proc/mounts check.
46921
46922 Print the same informational message that the other scripts do, before
fe6b695a 46923 exiting.
2c2a681b 46924
6193defe 469252007-06-23 Robert Millan <rmh@aybabtu.com>
46926
fe6b695a 46927 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46928 a font file can be found and, if so, echo the GRUB path to it.
46929
46930 * util/update-grub.in: Handle multiple terminals depending on user
46931 input, platform availability and font file presence. Propagate
46932 variables of our findings to /etc/grub.d/ children.
46933
46934 * util/grub.d/00_header.in: Handle multiple terminals, based on
46935 environment setup by update-grub.
46936
eface1dc 469372007-06-23 Robert Millan <rmh@aybabtu.com>
46938
ba50d28f 46939 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46940
bf697e28 469412007-06-21 Robert Millan <rmh@aybabtu.com>
46942
46943 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46944 indicate end of data section in kernel image.
46945 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46946 GRUB_KERNEL_MACHINE_DATA_END.
46947
46948 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46949 space for it.
46950 * kern/i386/efi/startup.S: Likewise.
46951
46952 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46953 during image generation. Implement --prefix option to override this
46954 patch.
46955 * util/i386/efi/grub-mkimage.c: Likewise.
46956
46957 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46958 code to make path relative to its root into a separate function.
46959
46960 * util/i386/pc/grub-install.in: Use newly provided
46961 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46962 pass the result to grub-install --prefix.
46963
baa574b4 469642007-06-13 Robert Millan <rmh@aybabtu.com>
46965
46966 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46967 DEFAULT_DEVICE_MAP.
46968 * util/grub-emu.c: Use above definitions from misc.h instead of
46969 defining them.
46970 * util/grub-mkdevicemap.c: Likewise.
46971 * util/i386/pc/grub-setup.c: Likewise.
46972 * util/grub-probe.c: Likewise.
46973 (probe): Abort with grub_util_error() when either
46974 grub_guess_root_device or grub_util_get_grub_dev fails.
46975
0215dcbf 469762007-06-12 Robert Millan <rmh@aybabtu.com>
46977
46978 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46979 "pager" assignment.
46980 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46981 "pcdata".
46982 * util/grub-probe.c (probe): Likewise for "drive_name".
46983
8af2ab7b 469842007-06-11 Robert Millan <rmh@aybabtu.com>
46985
46986 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46987 not just the cdrom one.
46988
59d31694 469892007-06-11 Robert Millan <rmh@aybabtu.com>
46990
46991 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46992 Add --pkglibdir=DIR option to override pkglibdir.
46993 Mention --image-type=TYPE in help output.
46994 Fix --grub-mkimage (it was a no-op).
fe6b695a 46995 Abort gracefully when no parameter is given.
59d31694 46996
7ee367e4 469972007-06-11 Robert Millan <rmh@aybabtu.com>
46998
46999 * util/i386/pc/grub-mkrescue.in: New file.
47000 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47001 * Makefile.in: Handle bin_SCRIPTS.
47002
29b0ed46 470032007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47004
47005 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47006 list of video modes.
47007
c0f90770 470082007-06-06 Robert Millan <rmh@aybabtu.com>
47009
47010 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47011 file doesn't exist, or if it is in a filesystem grub can't read.
47012
47013 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47014 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47015 header comment to fit in 80 columns when the variables are resolved.
47016
47017 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47018 could be identified by update-grub. Remove redundant check for
fe6b695a 47019 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47020 handles that).
47021
fb36dc26 470222007-06-04 Robert Millan <rmh@aybabtu.com>
47023
47024 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47025
47026 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47027
47028 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47029
0c68c93e 470302007-06-04 Robert Millan <rmh@aybabtu.com>
47031
47032 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47033
47034 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47035 grub_apple_partition_map_fini.
47036
47037 * util/biosdisk.c
47038 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47039 to access >2 TiB disks).
47040
47041 Print disk->total_sectors with %llu instead of %lu, since this
47042 variable is always 64-bit (prevents wrong disk size from being displayed
47043 on either >2 TiB disk or big-endian CPU).
47044
47045 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47046 into a generic case that supports all (sane) partition maps.
47047
47048 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47049 breaks big-endian.
47050
47051 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47052 and grub_apple_partition_map_fini() after that.
47053
0f23eb74 470542007-06-01 Robert Millan <rmh@aybabtu.com>
47055
47056 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47057
47058 * util/grub.d/00_header.in: Only enable gfxterm when
47059 convert_system_path_to_grub_path() succeeds.
47060
42c71976 470612007-05-20 Robert Millan <rmh@aybabtu.com>
47062
47063 * util/update-grub_lib.in: New file.
47064 * DISTLIST: Add update-grub_lib.in.
47065 * conf/common.rmk: Generate update-grub_lib and install it in
47066 $(lib_DATA).
47067 * Makefile.in: Add install routine for $(lib_DATA).
47068
47069 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47070 function provided by update-grub_lib to support arbitrary paths of
47071 unifont.pff.
47072 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47073 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47074
5beb2291 470752007-05-19 Robert Millan <rmh@aybabtu.com>
47076
47077 * commands/i386/cpuid.c: New module.
47078 * DISTLIST: Add it.
47079 * conf/i386-efi.rmk: Enable cpuid.mod.
47080 * conf/i386-pc.rmk: Likewise.
47081
7262eca1 470822007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47083
47084 * kern/disk.c (grub_disk_read): Check return value of
47085 grub_realloc().
47086
260ba823 470872007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47088
47089 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47090 arrays.
47091 * disk/raid.c (grub_raid_open): Likewise.
47092
1ecb6cf2 470932007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47094
47095 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47096 stack instead of on the heap.
47097
47098 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47099 before doing a read on it.
47100
47101 * configure.ac: Only use -fno-stack-protector for the target
47102 environment.
f19dbdb7 47103
21c8cbb1 471042007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47105
47106 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47107 __attribute_ ((unused)) to mode_type argument.
47108
47109 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47110
21c8cbb1 47111 * kern/misc.c (memcmp): Fix prototype.
47112
47113 * include/grub/partition.h [GRUB_UTIL]
47114 (grub_gpt_partition_map_init): Add prototype.
47115 (grub_gpt_partition_map_fini): Likewise.
47116
47117 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47118 at the right place.
47119
47120 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47121 (grub_fat_read_data): Likewise.
47122 (grub_fat_find_dir): Likewise.
47123
47124 * font/manager.c (find_glyph): Make table a const.
47125 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47126
849d55d3 471272007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47128
47129 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47130 code, first search for device in /dev/mapper, then in /dev.
47131 (grub_util_get_grub_dev): New function.
47132 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47133 prototype.
47134 * util/grub-probe.c (probe): Remove check for RAID, call
47135 grub_util_get_grub_dev() instead of
47136 grub_util_biosdisk_get_grub_dev().
47137 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47138 grub_util_biosdisk_get_grub_dev().
47139 * util/i386/pc/grub-setup.c (main): Likewise.
47140
8fff7c2f 471412007-05-16 Robert Millan <rmh@aybabtu.com>
47142
47143 * DISTLIST: Update for the latest changes.
47144 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47145 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47146 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47147 grub/util/biosdisk.h.
47148 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47149 grub/util/biosdisk.h.
47150
48e12b52 471512007-05-16 Robert Millan <rmh@aybabtu.com>
47152
47153 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47154
46b9d128 471552007-05-16 Robert Millan <rmh@aybabtu.com>
47156
47157 * util/i386/efi/grub-install.in: New.
47158 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47159 newly added grub-install.
47160 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47161 include.
47162 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47163 grub/util/biosdisk.h.
47164 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47165 grub/util/biosdisk.h.
47166
2d1a40a9 471672007-05-16 Robert Millan <rmh@aybabtu.com>
47168
47169 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47170 * include/grub/util/biosdisk.h: ... here.
47171 * util/i386/pc/biosdisk.c: Moved to ...
47172 * util/biosdisk.c: ... here.
47173 * util/i386/pc/getroot.c: Moved to ...
47174 * util/getroot.c: ... here.
47175 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47176 * util/grub-mkdevicemap.c: ... here.
47177 * util/i386/pc/grub-probe.c: Moved to ...
47178 * util/grub-probe.c: ... here.
47179
9e26e3bc 471802007-05-15 Robert Millan <rmh@aybabtu.com>
47181
47182 * util/update-grub.in: Remove duplicated line in grub.cfg header
47183 message.
47184
57f96397 471852007-05-13 Robert Millan <rmh@aybabtu.com>
47186
47187 * util/update-grub.in: Fix a few assumptions about the devices holding
47188 /, /boot and /boot/grub being the same.
47189 * util/grub.d/00_header.in: Likewise.
47190 * util/grub.d/10_hurd.in: Likewise.
47191 * util/grub.d/10_linux.in: Likewise.
47192
47193 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47194 patterns. Use that to define the `.old' suffix as older than `'.
47195
47196 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47197
47198 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47199 the grub.cfg header message.
47200
2e610d62 472012007-05-11 Robert Millan <rmh@aybabtu.com>
47202
47203 * util/update-grub.in: Create device.map if it doesn't already exist,
47204 before attempting to run grub-probe.
47205 Check for grub-probe and grub-mkdevicemap with the same code
47206 grub-install is using.
47207 Remove test mode.
47208
3f6a10ef 472092007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47210
47211 * Makefile.in: Add the datarootdir autoconf variable.
47212
02e7b75e 472132007-05-09 Robert Millan <rmh@aybabtu.com>
47214
47215 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47216 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47217
75f396cc 472182007-05-07 Robert Millan <rmh@aybabtu.com>
47219
47220 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47221 determine partition map module.
47222 * util/i386/pc/grub-install.in: Use this feature to decide which
47223 partition module to load, instead of hardcoding pc and gpt.
47224
da65cb36 472252007-05-07 Robert Millan <rmh@aybabtu.com>
47226
47227 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47228 source directory differs from build directory.
47229
b57d6a91 472302007-05-05 Robert Millan <rmh@aybabtu.com>
47231
47232 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47233 initialisation.
47234
509d00f1 472352007-05-05 Robert Millan <rmh@aybabtu.com>
47236
47237 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47238
c48f23ef 472392007-05-05 Robert Millan <rmh@aybabtu.com>
47240
47241 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47242 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47243
20b97658 472442007-05-05 Robert Millan <rmh@aybabtu.com>
47245
47246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47247 (grub_probe_SOURCES): Likewise.
47248 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47249 GPT and initialize dos_part and bsd_part accordingly.
47250 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47251 install_bsd_part.
47252 (main): Activate gpt module for use during partition identification,
47253 and deactivate it afterwards.
47254 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47255 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47256 partition identification, and deactivate it afterwards.
47257
99123174 472582007-05-05 Robert Millan <rmh@aybabtu.com>
47259
47260 * term/i386/pc/console.c (grub_console_fini): Call
47261 grub_term_set_current() before grub_term_unregister().
47262
ebd97f6e 472632007-05-04 Robert Millan <rmh@aybabtu.com>
47264
47265 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47266 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47267 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47268 and update-grub_DATA.
47269 * conf/common.rmk: Build and install update-grub components.
47270 * conf/common.mk: Regenerate.
47271 * util/update-grub.in: New. Core of update-grub.
47272 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47273 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47274 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47275 * util/grub.d/README: New. Document grub.d directory layout.
47276
b06a264d 472772007-05-01 Robert Millan <rmh@aybabtu.com>
47278
47279 * util/grub-emu.c: Move initialization functions
47280 grub_util_biosdisk_init() and grub_init_all() before
47281 grub_util_biosdisk_get_grub_dev(), which relies on them.
47282
41f0050e 472832007-04-19 Robert Millan <rmh@aybabtu.com>
47284
47285 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47286 it is used later.
47287
04582bb3 472882007-04-18 Jerone Young <jerone@gmail.com>
47289
f19dbdb7 47290 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47291 stanza.
47292
08db4632 472932007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47294
08db4632 47295 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47296 continue on and look for device node with real device name.
47297
801b76be 472982007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47299
fe6b695a 47300 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47301 ability.
47302 * Makefile.in: Add autoconf package transformation code.
47303 * util/i386/pc/grub-install.in: Likewise.
47304 * util/powerpc/ieee1275/grub-install.in: Likewise.
47305
6795c4e1 473062007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47307
47308 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47309 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47310 (EXT2_REVISION): Likewise.
47311 (EXT2_INODE_SIZE): Likewise.
47312 (struct grub_ext2_block_group): Added a missing member
47313 "used_dirs".
47314 (grub_ext2_read_inode): Divide by the inode size in a superblock
47315 instead of 128 to obtain INODES_PER_BLOCK.
47316 Use the macro EXT2_INODE_SIZE instead of directly using
47317 SBLOCK->INODE_SIZE.
47318
d70af616 473192007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47320
47321 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47322 superblock instead of the structure size to compute an
47323 offset. This fixes the problem that GRUB could not read a
47324 filesystem when inode size is different from 128-byte.
47325
3b801603 473262007-03-05 Marco Gerards <marco@gnu.org>
47327
47328 * normal/main.c (read_config_file): When "menu" is not set, create
47329 an initial context.
47330
4785bfe4 473312007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47332
47333 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47334 (HEAP_LIMIT): New macro.
47335 (grub_claim_heap): Claim memory up to `heaplimit'.
47336
a0cbb023 473372007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47338
47339 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47340 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47341 (_start): Likewise.
47342 (grub_arch_modules_addr): Return address after `_end'.
47343 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47344 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47345 (add_segments): Calculate `_end' from phdr size and location.
47346 (ALIGN_UP): Moved to ...
47347 * include/grub/misc.h: here.
47348 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47349 New macro.
47350 (GRUB_IEEE1275_MODULE_BASE): Removed.
47351
fd7d8eba 473522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47353
47354 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47355 loop boundary.
47356
9b09e6fc 473572007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47358
47359 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47360 All users updated.
47361 (grub_elf64_load_hook_t): Likewise.
47362 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47363 debug output.
47364
3ce27299 473652007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47366
47367 * kern/mm.c: Update copyright.
47368 (grub_mm_debug): Correct syntax error.
47369 (grub_mm_dump_free): New function.
47370 (grub_debug_free): Call `grub_free'.
47371 * include/grub/mm.h: Update copyright.
47372 (grub_mm_dump_free): Add declaration.
47373
077d5fee 473742007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47375
47376 * include/grub/ieee1275/ieee1275.h: Update copyright.
47377 * kern/powerpc/ieee1275/init.c: Likewise.
47378 * kern/powerpc/ieee1275/openfw.c: Likewise.
47379
47380 * loader/powerpc/ieee1275/linux.c: Likewise.
47381 * include/grub/elfload.h: Likewise.
47382 * kern/elf.c: Likewise.
47383 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47384 callers.
47385 (grub_elf64_load): Likewise.
47386 (grub_elf32_load_segment): Move to a nested function.
47387 (grub_elf64_load_segment): Likewise.
47388
dc946850 473892007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47390
47391 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47392 prototype.
47393 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47394 (grub_heap_len): Likewise.
47395 (HEAP_SIZE): New macro.
47396 (grub_claim_heap): New function.
47397 (grub_machine_init): Don't claim heap directly. Call
47398 `grub_claim_heap'.
47399 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47400 (grub_available_iterate): New function.
47401
baa2a121 474022007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47403
47404 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47405 * configure.ac: Use it for testing the HOST and TARGET compilers.
47406
4fe9862e 474072006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47408
47409 * Makefile.in (enable_grub_emu): New variable.
47410 * configure.ac (--enable-grub-emu): New option.
47411 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47412 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47413 * conf/i386-pc.rmk: Likewise.
47414 * conf/powerpc-ieee1275.rmk: Likewise.
47415 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47416
a8aa5762 474172006-12-12 Marco Gerards <marco@gnu.org>
47418
47419 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47420
47421 * kern/env.c (grub_env_unset): Don't free the member `value' when
47422 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47423 pointer.
47424
47425 * normal/main.c (current_menu): Removed.
47426 (free_menu): Unset the `menu' environment variable.
47427 (grub_normal_menu_addentry): Make use of the environment variable
47428 `menu', instead of using the global `current_menu'. Allocate
47429 memory for the sourcecode of this entry.
47430 (read_config_file): New argument `nested', changed all callers.
47431 Only in the case of a new context, initialize a new menu. Set the
47432 `menu' environment variable.
47433 (grub_normal_execute): Don't set and unset the environment
47434 variable `menu' here anymore. Only free the menu when leaving the
47435 context.
47436
47437 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47438 leak.
47439
957b3a3e 474402006-12-11 Marco Gerards <marco@gnu.org>
47441
47442 * normal/menu_entry.c (run): Fix off by one bug so the last line
47443 is executed. Move the loader check to outside the loop.
47444
ef875714 474452006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47446
47447 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47448
4e739985 474492006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47450
47451 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47452 the number of sectors. Reported by Andrey Shuvikov
47453 <mr_hyro@yahoo.com>.
f19dbdb7 47454
790707f2 474552006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47456
47457 * kern/disk.c (grub_disk_read): When there is a read error, always
47458 try to read only the necessary data.
f19dbdb7 47459
790707f2 47460 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47461 disk/raid.c.
47462 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47463 prototype.
47464 [GRUB_UTIL] (grub_raid_fini): Likewise.
47465 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47466 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47467 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47468 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47469 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47470 and grub_raid_fini().
f19dbdb7 47471
03e58196 474722006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47473
47474 * include/grub/types.h (__unused): Rename to UNUSED.
47475 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47476 (grub_elf64_size): Likewise.
f19dbdb7 47477
ae4f23bf 474782006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47479
47480 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47481 grub_error_push and grub_error_pop in the error-handling path.
47482 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47483 length.
47484
2166cc83 474852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47486
47487 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47488 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47490 (kernel_elf_SOURCES): Likewise.
47491 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47492 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47493 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47494 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47495 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47496 (elf_mod_SOURCES): New variable.
47497 (elf_mod_CFLAGS): Likewise.
47498 (elf_mod_LDFLAGS): Likewise.
47499 * include/grub/types.h (__unused): New macro.
47500 * include/grub/elfload.h: New file.
47501 * kern/elf.c: Likewise.
47502 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47503 (ELF32_LOADMASK): New macro.
47504 (ELF64_LOADMASK): Likewise.
47505 (vmlinux): Removed.
47506 (grub_linux_load32): New function.
47507 (grub_linux_load64): Likewise.
47508 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47509 Use grub_elf_t instead of grub_file_t.
47510
a09d5aa5 475112006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47512
47513 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47514 `catch_result' to struct set_color_args.
47515
d976fc51 475162006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47517
47518 * normal/menu.c: Include grub/script.h.
47519 * normal/menu_entry.c: Likewise.
47520 * include/grub/normal.h: Do not include grub/script.h.
47521
67507549 475222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47523
47524 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47525
69203a99 475262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47527
47528 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47529 disk.
47530 (grub_disk_close): Print debug messages when closing a disk.
47531 (grub_disk_read): Print debug messages when disk read fails.
47532 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47533 filesystem type.
47534 * kern/partition.c: Include misc.h.
47535 (grub_partition_iterate): Print debug messages when detecting
47536 partition type.
47537
e2b8278c 475382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47539
47540 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47541 is negative.
47542 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47543
97b2f2ff 475442006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47545
47546 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47547 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47548
6555d655 475492006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47550
47551 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47552 instead of sizeof(lv). Patch by Michael Guntsche.
47553
4d42b77f 475542006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47555
47556 * disk/lvm.c: Rename VGS to VG_LIST.
47557 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47558 (grub_lvm_open): Likewise.
47559 Thanks to Michael Guntsche for finding this bug.
47560
5d74d927 475612006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47562
47563 * configure.ac (AC_INIT): Bumped to 1.95.
47564
a1bb27e4 475652006-10-14 Robert Millan <rmh@aybabtu.com>
47566
47567 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47568 with "/dev/.static/dev/md".
47569
e0994b8b 475702006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47571
47572 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47573 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47574 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47575 DRIVE_NAME are always freed.
47576
47577 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47578 DOS_PART, as a DOS partition is counted from one instead of zero
47579 now. Reported by Robert Millan.
47580
ddd5cee9 475812006-10-14 Robert Millan <rmh@aybabtu.com>
47582
47583 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47584 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47585 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47586 string returned by grub_guess_root_device.
47587 * util/i386/pc/grub-setup.c: Likewise.
47588 * util/i386/pc/grub-probefs.c: Likewise.
47589
47590 * util/i386/pc/grub-probefs.c: Rename to ...
47591 * util/i386/pc/grub-probe.c: ... this.
47592 * DISTLIST: Remove grub-probefs, add grub-probe.
47593 * conf/i386-efi.rmk: Likewise.
47594 * conf/i386-pc.rmk: Likewise.
47595 * util/i386/pc/grub-install.in: Likewise.
47596
47597 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47598 choose which information we want to print.
47599
2b002173 476002006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47601
47602 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47603 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47604 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47605 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47606 video/readers/tga.c and video/i386/pc/vbeutil.c.
47607
476082006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47609
47610 Added support for RAID and LVM.
f19dbdb7 47611
2b002173 47612 * disk/lvm.c: New file.
47613 * disk/raid.c: Likewise.
47614 * include/grub/lvm.h: Likewise.
f19dbdb7 47615 * include/grub/raid.h: Likewise.
2b002173 47616 * include/grub/util/lvm.h: Likewise.
47617 * include/grub/util/raid.h: Likewise.
47618 * util/lvm.c: Likewise.
47619 * util/raid.c: Likewise.
47620
47621 * include/grub/disk.h (grub_disk_dev_id): Add
47622 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47623 (grub_disk_get_size): New prototype.
47624 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47625 returns a partition.
47626 (grub_disk_get_size): New function.
f19dbdb7 47627
2b002173 47628 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47629 verbatim if grub_install_dos_part is -2.
47630
47631 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47632 and LVM devices.
47633
47634 * util/i386/pc/grub-setup.c (setup): New argument
47635 MUST_EMBED. Force embedding of GRUB when the argument is
47636 true. Close FILE before returning.
47637 (main): Add support for RAID and LVM.
f19dbdb7 47638
2b002173 47639 * conf/common.rmk: Add RAID and LVM modules.
47640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47641 util/lvm.c.
47642 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47643
47644 * kern/misc.c (grub_strstr): New function.
47645 * include/grub/misc.h (grub_strstr): New prototype.
47646
050548d0 476472006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47648
47649 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47650
da849d2d 476512006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47652
47653 * kern/misc.c (grub_strtoull): Guess the base only if not
47654 specified.
47655
97b2f2ff 476562006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47657
47658 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47659 PowerMac support.
47660
97b2f2ff 476612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47662
47663 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47664
47665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47666 Remove `flags' argument. All callers changed.
47667 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47668 (IEEE1275_IHANDLE_INVALID): New variable.
47669 (IEEE1275_CELL_INVALID): New variable.
47670 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47671 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47672 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47673 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47674 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47675 codes from Open Firmware. All callers updated.
47676 (grub_ieee1275_next_property): Directly return Open Firmware return
47677 code.
47678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47679 Standardize error checking from `grub_ieee1275_get_property'.
47680 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47681 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47682
97b2f2ff 476832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47684
47685 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47686 `instance_to_package_args' to `instance_to_path_args'.
47687
47688 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47689 `grub_ieee1275_chosen'.
47690
47691 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47692 `grub_ieee1275_interpret'.
47693
97b2f2ff 476942006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47695
47696 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47697
97b2f2ff 476982006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47699
47700 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47701 (__cmpdi): Likewise.
47702
47703 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47704 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47705 `grub_ssize_t'.
47706
02bb8acc 47707 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47708
47709 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47710 to type `grub_ssize_t'.
47711 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47712
7f9a8531 477132006-09-22 Marco Gerards <marco@gnu.org>
47714
47715 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47716 newlines.
47717
b5ef1102 477182006-09-22 Marco Gerards <marco@gnu.org>
47719
47720 * commands/echo.c: New file.
47721
47722 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47723
47724 * conf/common.rmk (echo_mod_SOURCES): New variable.
47725 (echo_mod_CFLAGS): Likewise.
47726 (echo_mod_LDFLAGS): Likewise.
47727
2cff3677 477282006-09-22 Marco Gerards <marco@gnu.org>
47729
47730 * normal/main.c (get_line): Malloc memory instead of using
47731 preallocated memory. Removed the arguments `cmdline' and
47732 `max_len'. Updated all callers.
47733
6ba4688b 477342006-09-22 Marco Gerards <marco@gnu.org>
47735
47736 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47737 (normal_mod_DEPENDENCIES): Likewise.
47738
47739 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47740 (normal_mod_DEPENDENCIES): Likewise.
47741
47742 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47743
e02ac02c 477442006-09-22 Johan Rydberg <jrydberg@gnu.org>
47745
47746 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47747 programs.
47748 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47749 (normal_mod_DEPENDENCIES): Likewise.
47750 * conf/i386-pc.mk: Regenerate.
47751 * conf/i386-efi.mk: Likewise
47752 * conf/common.mk: Likewise.
47753 * conf/powerpc-ieee1275.mk: Likewise.
47754 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47755
8d252e44 477562006-09-22 Robert Millan <rmh@aybabtu.com>
47757
47758 Sync with i386 version.
47759 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47760 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47761
209bf7ac 477622006-09-21 Robert Millan <rmh@aybabtu.com>
47763
47764 Import from GRUB Legacy (lib/device.c):
47765 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47766 (init_device_map) [__linux__]: Add support for I2O devices.
47767
6b146090 477682006-09-14 Marco Gerards <marco@gnu.org>
47769
47770 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47771 `-melf_i386'.
47772
e38600a8 477732006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47774
47775 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47776 /boot/grub/*.lst.
78fa1790 47777
2952da5d 47778 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47779
2952da5d 47780 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47781 before adding it to device.map.
47782
01b82a64 477832006-08-15 Johan Rydberg <jrydberg@gnu.org>
47784
fe6b695a 47785 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47786 compiles a file; using the -MD option.
47787 * conf/common.mk: Regenerate.
47788 * conf/i386-pc.mk: Likewise.
47789 * conf/i386-efi.mk: Likewise.
47790 * conf/powerpc-ieee1275.mk: Likewise.
47791 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47792
1064790d 477932006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47794
47795 Move the prototypes of grub_setjmp and grub_longjmp to
47796 cpu/setjmp.h, so that each architecture may specify different
47797 attributes.
f19dbdb7 47798
1064790d 47799 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47800 (grub_longjmp): Likewise.
47801 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47802 (grub_longjmp): Likewise.
47803 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47804 (grub_longjmp): Likewise.
47805
47806 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47807 [!GRUB_UTIL] (grub_longjmp): Removed.
47808
29dda3ed 478092006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47810
47811 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47812 "color!" method does not return any value.
47813
ad2a06ed 478142006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47815
47816 * include/grub/bitmap.h: New file.
47817
47818 * include/grub/i386/pc/vbeutil.h: Likewise.
47819
47820 * video/bitmap.c: Likewise.
47821
47822 * video/readers/tga.c: Likewise.
47823
47824 * video/i386/pc/vbeutil.c: Likewise.
47825
47826 * commands/videotest.c: Code cleanup and updated to reflect to new
47827 video API.
47828
47829 * term/gfxterm.c: Likewise.
47830
47831 * video/video.c: Likewise.
47832
47833 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47834 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47835 (bitmap_mod_SOURCES): New entry.
47836 (bitmap_mod_CFLAGS): Likewise.
47837 (bitmap_mod_LDFLAGS): Likewise.
47838 (tga_mod_SOURCES): Likewise.
47839 (tga_mod_CFLAGS): Likewise.
47840 (tga_mod_LDFLAGS): Likewise.
47841
47842 * include/grub/video.h (grub_video_blit_operators): New enum type.
47843 (grub_video_render_target): Changed as forward declaration and moved
47844 actual definition to be video driver specific.
47845 (grub_video_adapter.blit_bitmap): Added blitting operator.
47846 (grub_video_adapter.blit_render_target): Likewise.
47847 (grub_video_blit_bitmap): Likewise.
47848 (grub_video_blit_render_target): Likewise.
47849
47850 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47851 driver specific render target definition.
47852 (grub_video_vbe_map_rgba): Added driver internal helper.
47853 (grub_video_vbe_unmap_color): Updated to use
47854 grub_video_i386_vbeblit_info.
47855 (grub_video_vbe_get_video_ptr): Likewise.
47856
47857 * include/grub/i386/pc/vbeblit.h
47858 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47859 grub_video_i386_vbeblit_info.
47860 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47861 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47862 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47863 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47864 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47865 (grub_video_i386_vbeblit_index_index): Likewise.
47866 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47867 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47868 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47869 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47870 operator.
47871 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47872 operator.
47873
47874 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47875 include/grub/i386/pc/vbeblit.h.
47876
47877 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47878 Updated to use grub_video_i386_vbeblit_info.
47879 (grub_video_i386_vbefill_R8G8B8): Likewise.
47880 (grub_video_i386_vbefill_index): Likewise.
47881 (grub_video_i386_vbefill): Added generic filler.
47882
47883 * video/i386/pc/vbefill.c: Updated to reflect changes on
47884 include/grub/i386/pc/vbefill.h.
47885
47886 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47887 grub_video_i386_vbeblit_info.
47888 (grub_video_vbe_unmap_color): Likewise.
47889 (grub_video_vbe_blit_glyph): Likewise.
47890 (grub_video_vbe_scroll): Likewise.
47891 (grub_video_vbe_draw_pixel): Removed function.
47892 (grub_video_vbe_get_pixel): Likewise.
47893 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47894 updated code to use it.
47895 (common_blitter): Added common blitter for render target and bitmap.
47896 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47897 (grub_video_vbe_blit_render_target): Likewise.
47898
bc8c036d 478992006-07-30 Johan Rydberg <jrydberg@gnu.org>
47900
47901 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47902 is in text mode if there is no console control protocol instance
47903 available.
47904
684a8eff 479052006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47906
47907 * include/grub/video.h: Code cleanup.
47908
47909 * include/grub/i386/pc/vbe.h: Likewise.
47910
47911 * video/i386/pc/vbe.c: Likewise.
47912
47913 * video/i386/pc/vbeblit.c: Likewise.
47914
47915 * video/i386/pc/vbefill.c: Likewise.
47916
47917 * video/video.c: Likewise. Also added more comments.
47918
5915059b 479192006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47920
47921 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47922 (struct grub_biosdisk_dap): Likewise.
47923
47924 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47925 linkage settings for all functions.
47926
90ce5d56 479272006-07-12 Marco Gerards <marco@gnu.org>
47928
47929 * configure.ac (--enable-mm-debug): Fix typo.
47930
47931 * genkernsyms.sh.in: Use proper quoting for `CC'.
47932
43e7f879 479332006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47934
47935 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47936 (normal_mod_ASFLAGS): Remove "-m32".
47937
4889bdec 479382006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47939
47940 * util/misc.c: Include config.h.
47941 [!HAVE_MEMALIGN]: Do not include malloc.h.
47942 (grub_memalign): Use posix_memalign, if present. Then, use
47943 memalign, if present. Otherwise, emit an error.
47944
47945 * util/grub-emu.c: Do not include malloc.h.
47946
47947 * include/grub/util/misc.h: Include unistd.h. This is required for
47948 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47949 D. Eades III <hde@foobar-qux.org>.
47950
47951 * configure.ac (AC_GNU_SOURCE): Added.
47952 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47953 type.
47954
fd39d4da 479552006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47956
47957 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47958 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47959
b786f3b5 479602006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47961
47962 * include/grub/types.h (grub_host_addr_t): Rename to
47963 grub_target_addr_t.
47964 (grub_host_off_t): Rename to grub_target_off_t.
47965 (grub_host_size_t): Rename to grub_target_size_t.
47966 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47967 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47968
47969 * include/grub/kernel.h (struct grub_module_header): Change type
47970 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47971 (grub_module_info): Likewise.
f19dbdb7 47972
051988bb 479732006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47974
47975 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47976 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47977 Velazquez <jesus.velazquez@gmail.com>.
47978
deae281b 479792006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47980
47981 Count partitions from 1 instead of 0 in the string representation
47982 of partitions. Still use 0-based internally.
f19dbdb7 47983
deae281b 47984 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47985 (sun_partition_map_iterate): Use grub_partition_t instead of
47986 struct grub_partition *. Cast DESC->START_CYLINDER to
47987 grub_uint64_t after converting the endian.
47988 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47989 (sun_partition_map_get_name): Add 1 to P->INDEX.
47990
47991 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47992 PCDATA->DOS_PART.
47993 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47994
47995 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47996 zero instead of one.
47997 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47998 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47999
48000 * partmap/apple.c (apple_partition_map_iterate): Change the type
48001 of POS to unsigned.
48002 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48003 (apple_partition_map_get_name): Add 1 into P->INDEX.
48004
48005 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48006 of POS to unsigned.
48007 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48008 calculate the offset of a partition.
48009 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48010 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48011
48012 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48013 SECTOR to grub_disk_addr_t.
48014 (acorn_partition_map_iterate): Likewise.
48015 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48016 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48017 top.
48018 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48019
48020 * kern/i386/pc/init.c (make_install_device): Add 1 into
48021 GRUB_INSTALL_DOS_PART.
48022
48023 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48024 conditional.
48025
524a1e6a 480262006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48027
48028 Clean up the code to support 64-bit addressing in disks and
48029 files. This change is not enough for filesystems yet.
f19dbdb7 48030
524a1e6a 48031 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48032 type of "start" to grub_uint64_t.
48033 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48034 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48035 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48036 convert addresses.
48037
48038 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48039 to grub_disk_addr_t.
48040
48041 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48042 string.
48043
48044 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48045
48046 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48047 to char *.
48048
48049 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48050
48051 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48052
48053 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48054
48055 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48056 to grub_off_t, to detect an error from grub_file_seek.
48057 (grub_multiboot_load_elf32): Likewise.
48058
48059 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48060 maximum unsigned long value when an overflow is detected.
48061 (grub_strtoull): New function.
48062 (grub_divmod64): Likewise.
48063 (grub_lltoa): use grub_divmod64.
48064
48065 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48066 grub_disk_addr_t.
48067 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48068 the pointer to next character. Use grub_strtoull instead of
48069 grub_strtoul.
48070 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48071 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48072 respectively.
48073
fe6b695a 48074 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48075 return value is signed.
48076 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48077 test if OFFSET is less than zero, as OFFSET is unsigned now.
48078
48079 * kern/disk.c (struct grub_disk_cache): Change the type of
48080 "sector" to grub_disk_addr_t.
48081 (grub_disk_cache_get_index): Change the type of SECTOR to
48082 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48083 unsigned after shifting.
48084 (grub_disk_cache_invalidate): Change the type of SECTOR to
48085 grub_disk_addr_t.
48086 (grub_disk_cache_unlock): Likewise.
48087 (grub_disk_cache_store): Likewise.
48088 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48089 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48090 grub_disk_addr_t and grub_uint64_t, respectively.
48091 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48092 body, as the value of OFFSET is tweaked by
48093 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48094 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48095 respectively.
48096 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48097 body, as the value of OFFSET is tweaked by
48098 grub_disk_check_range. Change the types of LEN and N to
48099 grub_size_t.
48100
48101 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48102 and "saved_offset" to grub_off_t.
48103 (test_header): Cast BUF to char *.
48104 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48105 to char *.
48106 (grub_gzio_read): Change the types of OFFSET and SIZE to
48107 grub_off_t and grub_size_t, respectively.
48108
48109 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48110 Removed.
48111 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48112 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48113 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48114 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48115 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48116
48117 * include/grub/types.h (grub_off_t): Unconditionally set to
48118 grub_uint64_t.
48119 (grub_disk_addr_t): Changed to grub_uint64_t.
48120
48121 * include/grub/partition.h (struct grub_partition): Change the
48122 types of "start", "len" and "offset" to grub_disk_addr_t,
48123 grub_uint64_t and grub_disk_addr_t, respectively.
48124 (grub_partition_get_start): Return grub_disk_addr_t.
48125 (grub_partition_get_len): Return grub_uint64_t.
48126
48127 * include/grub/misc.h (grub_strtoull): New prototype.
48128 (grub_divmod64): Likewise.
48129
48130 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48131 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48132 grub_off_t, respectively.
48133 All callers and references changed.
48134
48135 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48136 grub_size_t in "read".
48137 All callers and references changed.
48138
48139 * include/grub/file.h (struct grub_file): Change the types of
48140 "offset" and "size" to grub_off_t and grub_off_t,
48141 respectively. Change the type of SECTOR to grub_disk_addr_t in
48142 "read_hook".
48143 (grub_file_read): Change the type of LEN to grub_size_t.
48144 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48145 grub_off_t.
48146 (grub_file_size): Return grub_off_t.
48147 (grub_file_tell): Likewise.
48148 All callers and references changed.
48149
48150 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48151 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48152 "write".
48153 (struct grub_disk): Change the type of "total_sectors" to
48154 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48155 "read_hook".
524a1e6a 48156 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48157 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48158 (grub_disk_write): Likewise.
48159 All callers and references changed.
48160
48161 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48162 char * for grub_strncmp to silence gcc.
48163 (grub_iso9660_mount): Likewise.
48164 (grub_iso9660_mount): Likewise.
48165 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48166 return statement.
48167 (grub_iso9660_iterate_dir): Likewise.
48168 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48169
48170 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48171 LEN to grub_disk_addr_t and grub_size_t, respectively.
48172
48173 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48174
48175 * fs/jfs.c (grub_jfs_read_file): Likewise.
48176
48177 * fs/minix.c (grub_jfs_read_file): Likewise.
48178
48179 * fs/sfs.c (grub_jfs_read_file): Likewise.
48180
48181 * fs/ufs.c (grub_jfs_read_file): Likewise.
48182
48183 * fs/xfs.c (grub_jfs_read_file): Likewise.
48184
48185 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48186 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48187 respectively.
48188
48189 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48190 BLKNR to -1 instead of returning GRUB_ERRNO.
48191 (grub_ext2_read_file): Change the types of SECTOR and
48192 LEN to grub_disk_addr_t and grub_size_t, respectively.
48193
48194 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48195 LEN to grub_disk_addr_t and grub_size_t, respectively.
48196
48197 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48198 grub_file_read.
48199
48200 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48201 string. Do not cast SECTOR explicitly.
48202
48203 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48204 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48205 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48206 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48207 over 2TB and LBA mode is not supported, raise an error.
48208 (get_safe_sectors): New function.
48209 (grub_biosdisk_read): Use get_safe_sectors.
48210 (grub_biosdisk_write): Likewise.
48211
48212 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48213 (grub_efidisk_write): Likewise.
48214
48215 * disk/loopback.c (delete_loopback): Cosmetic changes.
48216 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48217 correctly.
48218 (grub_loopback_open): Likewise.
48219 (grub_loopback_read): Likewise. Also, change the type of POS to
48220 grub_off_t, and fix the usage of grub_memset.
48221
48222 * commands/i386/pc/play.c: Include grub/machine/time.h.
48223
48224 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48225 print FILE->SIZE.
48226
48227 * commands/configfile.c: Include grub/env.h.
48228
48229 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48230 GRUB_ERRNO directly instead. Change the type of POS to
48231 grub_off_t. Follow the coding standard.
48232
48233 * commands/blocklist.c: Include grub/partition.h.
48234 (grub_cmd_blocklist): Return an error if the underlying device is
48235 not a disk. Take the starting sector of a partition into account,
48236 if a partition is used.
48237
48238 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48239 a length field.
48240 (lba_mode): Support 64-bit addresses.
48241 (chs_mode): Likewise.
48242 (copy_buffer): Adapted to the new offsets of a length field and a
48243 segment field.
48244 (blocklist_default_start): Allocate 64-bit space.
48245
48246 * boot/i386/pc/boot.S (force_lba): Removed.
48247 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48248 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48249 space.
48250 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48251 is useless.
48252 (lba_mode): Refactored to support a 64-bit address. More size
48253 optimization.
48254 (setup_sectors): Likewise.
48255
53af98ad 482562006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48257
48258 * DISTLIST: Added include/grub/i386/linux.h. Removed
48259 include/grub/i386/pc/linux.h
48260
48261 * configure.ac (AC_INIT): Bumped to 1.94.
48262
48263 * config.guess: Updated from gnulib.
48264 * config.sub: Likewise.
48265 * install-sh: Likewise.
48266 * mkinstalldirs: Likewise.
48267
b4c1940a 482682006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48269
48270 * conf/common.rmk (grub_modules_init.lst): Depended on
48271 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48272 MODSRCFILES.
48273
48274 * genmk.rb (PModule::rule): Reverted the previous change.
48275
cfca1cfd 482762006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48277
48278 * conf/common.rmk (grub_modules_init.lst): Depends on
48279 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48280 that the target does not exist before producing.
48281 (grub_modules_init.h): Remove the target before generating.
48282 (grub_emu_init.c): Likewise.
48283
48284 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48285
aa6d7826 482862006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48287
48288 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48289 for the target-specific tests. Make sure that we also have the
48290 up-to-date target variables for those tests.
48291
26c607b9 482922006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48293
48294 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48295 (PModule::rule): Likewise.
48296
0162321a 482972006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48298
48299 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48300 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48301 target-specific flags should be prefixed.
48302 (PModule::rule): Likewise.
48303
6c826348 483042006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48305
48306 * configure.ac (CMP): Check if cmp is available explicitly.
48307
b977bf01 483082006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48309
48310 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48311 (target_cpu): New variable.
48312 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48313
b977bf01 48314 * util/i386/pc/grub-install.in (host_cpu): Removed.
48315 (target_cpu): New variable.
48316 (pkglibdir): Use target_cpu instead of host_cpu.
48317
48318 * util/genmoddep.c: Removed.
f19dbdb7 48319
b977bf01 48320 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48321 instead of GRUB_HOST_SIZEOF_VOID_P.
48322 * kern/dl.c: Likewise.
48323
48324 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48325 ...
48326 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48327 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48328 (GRUB_TARGET_SIZEOF_LONG): ... this.
48329 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48330 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48331 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48332 to ...
48333 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48334 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48335 (GRUB_TARGET_SIZEOF_LONG): ... this.
48336 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48337 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48338 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48339 to ...
48340 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48341 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48342 (GRUB_TARGET_SIZEOF_LONG): ... this.
48343 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48344 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48345
48346 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48347 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48348 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48349 instead of GRUB_HOST_SIZEOF_LONG.
48350 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48351 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48352 GRUB_CPU_WORDS_BIGENDIAN.
48353 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48354 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48355 grub_host_ssize_t.
48356
48357 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48358 (genmoddep_SOURCES): Likewise.
48359 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48360 (genmoddep_SOURCES): Likewise.
48361 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48362 (genmoddep_SOURCES): Likewise.
48363 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48364 Likewise.
48365 (genmoddep_SOURCES): Likewise.
48366
48367 * genmoddep.awk: New file.
48368
48369 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48370 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48371 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48372 (PModule::rule): Likewise.
48373 (Program::rule): Likewise.
48374 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48375 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48376 respectively.
48377
48378 * configure.ac: Rewritten intensively to use host and target
48379 instead of build and host, respectively.
48380
48381 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48382 (host_cpu): Removed.
48383 (target_cpu): New variable.
48384 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48385 (BUILD_CC): Removed.
48386 (BUILD_CFLAGS): Likewise.
48387 (BUILD_CPPFLAGS): Likewise.
48388 (TARGET_CC): New variable.
48389 (TARGET_CFLAGS): Likewise.
48390 (TARGET_CPPFLAGS): Likewise.
48391 (TARGET_LDFLAGS): Likewise.
48392 (AWK): Likewise.
48393 (include): Use target_cpu instead of host_cpu.
48394 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48395
b977bf01 48396 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48397
f09771a1 483982006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48399
48400 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48401 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48402 field 'false' to 'exec_on_false'.
48403 (grub_script_create_cmdif): Renamed argument names to reflect above
48404 changes.
48405
48406 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48407
48408 * normal/script.c (grub_script_create_cmdif): Likewise.
48409
118f4fb3 484102006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48411
48412 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48413 top.
48414 (grub_hfsplus_btree_recptr): Likewise.
48415 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48416 FILEBLOCK both to pass a block number and store next block
48417 number.
48418 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48419 overflow file correctly. Specify errors appropriately, because
48420 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48421 grub_hfsplus_btree_recptr to get the pointer to a found key.
48422 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48423 is found.
48424
48425 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48426 linux.mod.
48427 (_linux_mod_SOURCES): New variable.
48428 (_linux_mod_CFLAGS): Likewise.
48429 (_linux_mod_LDFLAGS): Likewise.
48430 (linux_mod_SOURCES): Likewise.
48431 (linux_mod_CFLAGS): Likewise.
48432 (linux_mod_LDFLAGS): Likewise.
48433
48434 * DISTLIST: Added loader/i386/efi/linux.c,
48435 loader/i386/efi/linux_normal.c and
48436 include/grub/i386/efi/loader.h.
48437
48438 * loader/i386/efi/linux.c: New file.
48439 * loader/i386/efi/linux_normal.c: Likewise.
48440 * include/grub/i386/efi/loader.h: Likewise.
48441
89a7d726 484422006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48443
48444 * commands/blocklist.c: New file.
48445
48446 * DISTLIST: Added commands/blocklist.c.
48447
48448 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48449 color for the background, and a darker color for the foreground.
89a7d726 48450 (grub_console_checkkey): Return READ_KEY.
48451 (grub_console_cls): Set the background to
48452 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48453
48454 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48455
48456 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48457 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48458
48459 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48460 prototype.
48461
48462 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48463 BG. The spec is wrong again.
48464
48465 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48466 prototype.
48467 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48468
48469 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48470 commands/blocklist.c.
48471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48472
89a7d726 48473 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48474 (blocklist_mod_SOURCES): New variable.
48475 (blocklist_mod_CFLAGS): Likewise.
48476 (blocklist_mod_LDFLAGS): Likewise.
48477
75c8f258 484782006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48479
48480 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48481 duplication.
48482 (lba_mode): Use %eax more intensively to reduce the code size.
48483
da2eb181 484842006-05-20 Marco Gerards <marco@gnu.org>
48485
48486 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48487
48488 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48489 for `menuentry'.
48490 (script): Accept leading newlines.
48491 (newlines): New rule to describe 0 or more newlines.
48492 (commands): Accept `command' with trailing newline. Fixed the
48493 order in which arguments were passed to `grub_script_add_cmd'.
48494 Accept commands separated by newlines.
48495 (function): Changed to accept newlines.
48496 (menuentry) Rewritten.
48497
48498 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48499 front of the list, instead of to the end.
48500
577b4050 485012006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48502
48503 * util/i386/pc/grub-install.in (bindir): New variable.
48504 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48505 Shaver <lbgwjl@gmail.com>.
48506
0d6e1189 485072006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48508
48509 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48510 grub/machine/linux.h
48511 * loader/i386/pc/linux.c: Likewise.
48512
48513 * include/grub/i386/pc/linux.h: Moved to ...
48514 * include/grub/i386/linux.h: ... here.
48515
48516 * include/grub/i386/linux.h (struct linux_kernel_params): New
48517 struct.
f19dbdb7 48518
31b86e9f 485192006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48520
48521 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48522 checking.
48523 (grub_video_vbe_blit_glyph): Likewise.
48524 (grub_video_vbe_blit_bitmap): Likewise.
48525 (grub_video_vbe_blit_render_target): Likewise.
48526
83b984de 485272006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48528
48529 * configure.ac (--with-platform): Properly quote the square
48530 brackets.
48531
5f0413bd 485322006-05-08 Marco Gerards <marco@gnu.org>
48533
48534 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48535 this...
48536 (kernel_elf_HEADERS): ...to this. Updated all users.
48537 (grubof_symlist.c): Renamed from this...
48538 (kernel_elf_symlist.c): ...to this. Updated all users.
48539 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48540 (grubof_SOURCES): Renamed from this...
48541 (kernel_elf_SOURCES): ...to this.
48542 (grubof_HEADERS): Renamed from this...
48543 (kernel_elf_HEADERS): ...to this.
48544 (grubof_CFLAGS): Renamed from this...
48545 (kernel_elf_CFLAGS): ...to this.
48546 (grubof_ASFLAGS): Renamed from this...
48547 (kernel_elf_ASFLAGS): ...to this.
48548 (grubof_LDFLAGS): Renamed from this...
48549 (kernel_elf_LDFLAGS): ...to this.
48550
48551 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48552 this...
48553 (kernel_elf_HEADERS): ...to this. Updated all users.
48554 (grubof_symlist.c): Renamed from this...
48555 (kernel_elf_symlist.c): ...to this. Updated all users.
48556 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48557 (grubof_SOURCES): Renamed from this...
48558 (kernel_elf_SOURCES): ...to this.
48559 (grubof_HEADERS): Renamed from this...
48560 (kernel_elf_HEADERS): ...to this.
48561 (grubof_CFLAGS): Renamed from this...
48562 (kernel_elf_CFLAGS): ...to this.
48563 (grubof_ASFLAGS): Renamed from this...
48564 (kernel_elf_ASFLAGS): ...to this.
48565 (grubof_LDFLAGS): Renamed from this...
48566 (kernel_elf_LDFLAGS): ...to this.
48567
48568 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48569 `kernel.elf' instead of `grubof'.
48570
05568c2e 485712006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48572
48573 Add --with-platform to configure. Use pkglibdir instead of
48574 pkgdatadir. This is reported by Roger Leigh.
48575
48576 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48577 (host_vendor): Likewise.
48578 (host_os): Likewise.
48579 (pkgdatadir): Likewise.
48580 (platform): New variable.
48581 (pkglibdir): Likewise.
48582 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48583
05568c2e 48584 * util/i386/pc/grub-install.in (datadir): Removed.
48585 (host_vendor): Likewise.
48586 (host_os): Likewise.
48587 (pkgdatadir): Likewise.
48588 (platform): New variable.
48589 (pkglibdir): Likewise.
48590 Use PKGLIBDIR instead of PKGDATADIR.
48591
48592 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48593 instead of GRUB_DATADIR.
48594 (main): Likewise.
48595 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48596 (main): Likewise.
48597 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48598 (main): Likewise.
48599
48600 * configure.ac (--with-platform): New option.
48601 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48602
48603 * Makefile.in: Include a makefile based on PLATFORM instead of
48604 HOST_VENDOR.
48605 (pkgdatadir): Not appended by the machine type.
48606 (pkglibdir): Appended by the machine type.
48607 (host_vendor): Removed.
48608 (platform): New variable.
48609 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48610 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48611 (uninstall): Likewise.
48612
4e93851c 486132006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48614
48615 Use the environment context in the menu. Remove the commands
48616 "default" and "timeout", and use variables instead.
f19dbdb7 48617
4e93851c 48618 * normal/menu.c: Include grub/env.h.
48619 (print_entry): Cast TITLE to silence gcc.
48620 (get_timeout): New function.
48621 (set_timeout): Likewise.
48622 (get_entry_number): Likewise.
48623 (run_menu): Use a default entry, a fallback entry and a timeout
48624 in the environment variables "default", "fallback" and
48625 "timeout". Also, tweak the default entry if it is not within the
48626 current menu entries.
48627 (grub_menu_run): Use a fallback entry in the environment variable
48628 "fallback".
48629
48630 * normal/main.c (read_config_file): Do not initialize
48631 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48632 NEWMENU->TIMEOUT.
48633 (grub_normal_execute): Use a data slot to store the menu.
48634
48635 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48636 fallback_entry and timeout.
48637 (struct grub_menu_list): Removed.
48638 (grub_menu_list_t): Likewise.
48639 (struct grub_context): Likewise.
48640 (grub_context_t): Likewise.
48641 (grub_context_get): Likewise.
48642 (grub_context_get_current_menu): Likewise.
48643 (grub_context_push_menu): Likewise.
48644 (grub_context_pop_menu): Likewise.
48645 (grub_default_init): Likewise.
48646 (grub_default_fini): Likewise.
48647 (grub_timeout_init): Likewise.
48648 (grub_timeout_fini): Likewise.
48649
48650 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48651 and timeout.mod.
48652 (normal_mod_SOURCES): Removed normal/context.c.
48653
48654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48655 commands/default.c, commands/timeout.c and normal/context.c.
48656 (normal_mod_SOURCES): Removed normal/context.c.
48657
48658 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48659 commands/timeout.c and normal/context.c.
48660 (normal_mod_SOURCES): Removed normal/context.c.
48661
48662 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48663 commands/default.c, commands/timeout.c and normal/context.c.
48664 (normal_mod_SOURCES): Removed normal/context.c.
48665
48666 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48667 timeout.mod.
48668 (default_mod_SOURCES): Removed.
48669 (default_mod_CFLAGS): Likewise.
48670 (default_mod_LDFLAGS): Likewise.
48671 (timeout_mod_SOURCES): Removed.
48672 (timeout_mod_CFLAGS): Likewise.
48673 (timeout_mod_LDFLAGS): Likewise.
48674
48675 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48676 normal/context.c.
48677
48678 * commands/default.c: Removed.
48679 * commands/timeout.c: Likewise.
48680 * normal/context.c: Likewise.
48681
1eb9cc1d 486822006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48683
48684 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48685
385bd9c1 486862006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48687
48688 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48689 "next" to "prev" for readability.
48690 (struct grub_env_sorted_var): New struct.
48691 (grub_env_context): Renamed to ...
48692 (initial_context): ... this.
48693 (grub_env_var_context): Renamed to ...
48694 (current_context): ... this.
48695 (grub_env_find): Look only at CURRENT_CONTEXT.
48696 (grub_env_context_open): Rewritten to copy exported variables from
48697 previous context.
48698 (grub_env_context_close): Rewritten according to the new
48699 scheme. Also, add an assertion to prevent the initial context from
48700 removed.
48701 (grub_env_insert): Removed the code for the sorted list.
48702 (grub_env_remove): Likewise.
48703 (grub_env_export): Simply mark the variable with
48704 GRUB_ENV_VAR_GLOBAL.
48705 (grub_env_set): A cosmetic change for naming consistency.
48706 (grub_env_get): Likewise.
48707 (grub_env_unset): Likewise.
48708 (grub_env_iterate): Rewritten to sort variables within this
48709 function.
48710 (grub_register_variable_hook): Fixed for naming consistency. Call
48711 grub_env_find again, only if NAME is not found at the first time.
48712 (mangle_data_slot_name): New function.
48713 (grub_env_set_data_slot): Likewise.
48714 (grub_env_get_data_slot): Likewise.
48715 (grub_env_unset_data_slot): Likewise.
48716
48717 * include/grub/env.h (grub_env_var_type): New enum.
48718 (GRUB_ENV_VAR_LOCAL): New constant.
48719 (GRUB_ENV_VAR_GLOBAL): Likewise.
48720 (GRUB_ENV_VAR_DATA): Likewise.
48721 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48722 "type".
48723 (grub_env_set): Replace VAR with NAME for consistency.
48724 (grub_register_variable_hook): Likewise.
48725 (grub_env_export): Specify the name of the argument.
48726 (grub_env_set_data_slot): New prototype.
48727 (grub_env_get_data_slot): Likewise.
48728 (grub_env_unset_data_slot): Likewise.
48729
7f362539 487302006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48731
48732 Extend the loader so that GRUB can accept a loader which comes
48733 back to GRUB when a loaded image exits. Also, this change adds
48734 support for a chainloader on EFI.
f19dbdb7 48735
7f362539 48736 * term/efi/console.c: Include grub/misc.h.
48737 (grub_console_checkkey): Display a scan code on the top for
48738 debugging. This will be removed once the EFI port gets stable.
48739 Correct the scan code mapping.
48740
48741 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48742 allocate memory from larger regions, in order to reduce the number
48743 of allocated regions. Otherwise, the MacOSX loader panics.
48744 (filter_memory_map): Avoid less than 1MB for compatibility with
48745 other loaders.
48746 (add_memory_regions): Allocate from the tail of a region, if
48747 possible, to avoid allocating a region near to 1MB, for the MacOSX
48748 loader.
48749
48750 * kern/efi/init.c (grub_efi_set_prefix): Specify
48751 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48752
48753 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48754 argument IMAGE_HANDLE and specify it to get a loaded image.
48755 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48756 grub_efi_get_loaded_image.
fe6b695a 48757 (grub_efi_get_filename): Divide the length by the size of
7f362539 48758 grub_efi_char16_t.
48759 (grub_efi_get_device_path): New function.
48760 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48761 the length by the size of grub_efi_char16_t for a file path device
48762 path node.
48763
48764 * kern/loader.c (grub_loader_noreturn): New variable.
48765 (grub_loader_set): Accept a new argument NORETURN. Set
48766 GRUB_LOADER_NORETURN to NORETURN.
48767 All callers changed.
48768 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48769 grub_machine_fini.
48770
48771 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48772 prototype.
48773 (grub_efi_get_loaded_image): Take an argument to specify an image
48774 handle.
48775
48776 * include/grub/loader.h (grub_loader_set): Added one more argument
48777 NORETURN.
48778
48779 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48780 instead of grub_efi_open_protocol.
48781 (grub_efidisk_get_device_name): Likewise.
48782 (grub_efidisk_close): Print a newline.
48783 (grub_efidisk_get_device_handle): Fixed to use
48784 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48785 GRUB_EFI_DEVICE_PATH_TYPE.
48786
48787 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48788 * kern/efi/efi.c (device_path_guid): ... here.
48789
48790 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48791 chain.mod.
48792 (kernel_mod_HEADERS): Added efi/disk.h.
48793 (_chain_mod_SOURCES): New variable.
48794 (_chain_mod_CFLAGS): Likewise.
48795 (_chain_mod_LDFLAGS): Likewise.
48796 (chain_mod_SOURCES): Likewise.
48797 (chain_mod_CFLAGS): Likewise.
48798 (chain_mod_LDFLAGS): Likewise.
48799
48800 * DISTLIST: Added include/grub/efi/chainloader.h,
48801 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48802
48803 * include/grub/efi/chainloader.h: New file.
48804 * loader/efi/chainloader.c: Likewise.
48805 * loader/efi/chainloader_normal.c: Likewise.
48806
c0111d6e 488072006-04-30 Marco Gerards <marco@gnu.org>
48808
48809 * commands/configfile.c (grub_cmd_source): New function.
48810 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48811 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48812
df5341da 488132006-04-30 Marco Gerards <marco@gnu.org>
48814
48815 * normal/execute.c (grub_script_execute_cmd): Change the return
48816 type to `grub_err_t'. Correctly return the error.
48817 (grub_script_execute_cmdline): In case a command line is not a
48818 command or a function, try to interpret it as an assignment.
48819
f85934bd 488202006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48821
48822 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48823 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48824 skip a node whose name is obviously invalid as UTF-16,
48825 i.e. contains a NUL character. Stop the iteration when the last
48826 directory entry is found. Instead of using the return value of
48827 grub_hfsplus_btree_iterate_node, store the value in RET and use
48828 it, because the iterator can be stopped by the last directory
48829 entry.
48830
8f8a2cf8 488312006-04-30 Marco Gerards <marco@gnu.org>
48832
48833 * include/grub/env.h (grub_env_export): New prototype. Reported
48834 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48835
a27e84ce 488362006-04-30 Marco Gerards <marco@gnu.org>
48837
48838 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48839 size of the extents in a catalog file record.
48840
eaef0553 488412006-04-29 Marco Gerards <marco@gnu.org>
48842
48843 * commands/configfile.c (grub_cmd_configfile): Execute the
48844 configfile within its own context.
48845
48846 * include/grub/env.h (grub_env_context_open): New prototype.
48847 (grub_env_context_close): Likewise.
48848
48849 * kern/env.c (grub_env): Removed.
48850 (grub_env_sorted): Likewise.
48851 (grub_env_context): New variable.
48852 (grub_env_var_context): Likewise.
48853 (grub_env_find): Search both the active context and the global
48854 context.
48855 (grub_env_context_open): New function.
48856 (grub_env_context_close): Likewise.
48857 (grub_env_insert): Likewise.
48858 (grub_env_remove): Likewise.
48859 (grub_env_export): Likewise.
48860 (grub_env_set): Changed to use helper functions to avoid code
48861 duplication.
48862 (grub_env_iterate): Rewritten so both the current context and the
48863 global context are being used.
48864
48865 * normal/command.c (export_command): New function.
48866 (grub_command_init): Register the `export' function.
48867
7b455f4d 488682006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48869
48870 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48871 explicitly to suppress gcc's warnings.
48872 * fs/fat.c (grub_fat_find_dir): Likewise.
48873 (grub_fat_label): Likewise.
48874 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48875 (grub_xfs_mount): Likewise.
48876 (grub_xfs_label): Likewise.
48877 * fs/affs.c (grub_affs_mount): Likewise.
48878 (grub_affs_label): Likewise.
48879 (grub_affs_iterate_dir): Likewise.
48880 * fs/sfs.c (grub_sfs_mount): Likewise.
48881 (grub_sfs_iterate_dir): Likewise.
48882 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48883 * fs/hfs.c (grub_hfs_mount): Likewise.
48884 (grub_hfs_cmp_catkeys): Likewise.
48885 (grub_hfs_find_dir): Likewise.
48886 (grub_hfs_dir): Likewise.
48887 (grub_hfs_label): Likewise.
48888 * fs/jfs.c (grub_jfs_mount): Likewise.
48889 (grub_jfs_opendir): Likewise.
48890 (grub_jfs_getent): Likewise.
48891 (grub_jfs_lookup_symlink): Likewise.
48892 (grub_jfs_label): Likewise.
48893 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48894 (grub_hfsplus_iterate_dir): Likewise.
48895 (grub_hfsplus_btree_iterate_node): Made static.
48896
48897 * util/grub-emu.c (prefix): New variable.
48898 (grub_machine_set_prefix): New function.
48899 (main): Do not set the environment variable "prefix" here. Only
48900 set PREFIX, which is used later by grub_machine_set_prefix.
48901
48902 * include/grub/video.h: Do not include grub/symbol.h.
48903 (grub_video_register): Not exported. This symbol is not defined in
48904 the kernel.
48905 (grub_video_unregister): Likewise.
48906 (grub_video_iterate): Likewise.
48907 (grub_video_setup): Likewise.
48908 (grub_video_restore): Likewise.
48909 (grub_video_get_info): Likewise.
48910 (grub_video_get_blit_format): Likewise.
48911 (grub_video_set_palette): Likewise.
48912 (grub_video_get_palette): Likewise.
48913 (grub_video_set_viewport): Likewise.
48914 (grub_video_get_viewport): Likewise.
48915 (grub_video_map_color): Likewise.
48916 (grub_video_map_rgb): Likewise.
48917 (grub_video_map_rgba): Likewise.
48918 (grub_video_fill_rect): Likewise.
48919 (grub_video_blit_glyph): Likewise.
48920 (grub_video_blit_bitmap): Likewise.
48921 (grub_video_blit_render_target): Likewise.
48922 (grub_video_scroll): Likewise.
48923 (grub_video_swap_buffers): Likewise.
48924 (grub_video_create_render_target): Likewise.
48925 (grub_video_delete_render_target): Likewise.
48926 (grub_video_set_active_render_target): Likewise.
48927
48928 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48929 Undefined.
48930 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48931
48932 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48933 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48934 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48935 instead of $(srcdir)/genkernsyms.sh.
48936
48937 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48938 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48939 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48940 instead of $(srcdir)/genkernsyms.sh.
48941
48942 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48943 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48944 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48945 instead of $(srcdir)/genkernsyms.sh.
48946
48947 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48948 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48949 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48950 instead of $(srcdir)/genkernsyms.sh.
48951
48952 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48953 genkernsyms.sh.
48954
48955 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48956 genkernsyms.sh.
48957 (gensymlist.sh): New target.
48958 (genkernsyms.sh): Likewise.
48959
48960 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48961 genkernsyms.sh.in and gensymlist.sh.in.
48962
48963 * genkernsyms.sh: Removed.
48964 * gensymlist.sh: Likewise.
f19dbdb7 48965
7b455f4d 48966 * genkernsyms.sh.in: New file.
48967 * gensymlist.sh.in: Likewise.
48968
1885bb27 489692006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48970
48971 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48972 clobber "prefix", since we may have already set it manually.
48973
71538dff 489742006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48975
48976 * kern/misc.c (abort): New alias for grub_abort.
48977
2965c7cc 489782006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48979
48980 A new machine-specific function "grub_machine_set_prefix" is
48981 defined. This is called after loading modules, so that a prefix
48982 initialization can use modules. Also, this change adds an
48983 intensive debugging feature for the memory manager via the
48984 configure option "--enable-mm-debug".
f19dbdb7 48985
2965c7cc 48986 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48987 PART.LEN.
48988
48989 * kern/sparc64/ieee1275/init.c (abort): Removed.
48990 (grub_stop): Likewise.
48991 (grub_exit): New function.
48992 (grub_set_prefix): Renamed to ...
48993 (grub_machine_set_prefix): ... this.
48994 (grub_machine_init): Do not call grub_set_prefix.
48995
48996 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48997 (grub_machine_set_prefix): ... this.
48998 (grub_machine_init): Do not call grub_set_prefix.
48999
49000 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49001 (grub_machine_init): Do not set the prefix here.
49002
49003 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49004
49005 * kern/efi/init.c: Include grub/mm.h.
49006 (grub_efi_set_prefix): New function.
49007
49008 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49009 (grub_efi_get_filename): New function.
49010 (grub_print_device_path): Renamed to ...
49011 (grub_efi_print_device_path): ... this.
49012
49013 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49014 [MM_DEBUG] (grub_realloc): Likewise.
49015 [MM_DEBUG] (grub_free): Likewise.
49016 [MM_DEBUG] (grub_memalign): Likewise.
49017 [MM_DEBUG] (grub_mm_debug): New variable.
49018 [MM_DEBUG] (grub_debug_malloc): New function.
49019 [MM_DEBUG] (grub_debug_free): New function.
49020 [MM_DEBUG] (grub_debug_realloc): New function.
49021 [MM_DEBUG] (grub_debug_memalign): New function.
49022
49023 * kern/misc.c (grub_abort): Print a newline to distinguish
49024 the message.
49025
49026 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49027 grub_set_root_dev after loading modules. This is necessary when
49028 setting a prefix depends on modules.
49029
49030 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49031 (grub_efi_print_device_path): ... this.
49032 (grub_efi_get_filename): New prototype.
49033 (grub_efi_set_prefix): Likewise.
49034
49035 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49036 and grub/disk.h.
49037 (grub_efidisk_get_device_handle): New prototype.
49038 (grub_efidisk_get_device_name): Likewise.
49039
49040 * include/grub/mm.h: Include config.h.
49041 (MM_DEBUG): Removed.
49042 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49043 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49044 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49045 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49046 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49047 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49048 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49049 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49050 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49051
49052 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49053
49054 * disk/efi/efidisk.c: Include grub/partition.h.
49055 (iterate_child_devices): New function.
49056 (add_device): First, compare only last device path nodes, so that
49057 devices are sorted by the types.
49058 (grub_efidisk_get_device_handle): New function.
49059 (grub_efidisk_get_device_name): Likewise.
49060
49061 * configure.ac (--enable-mm-debug): New option to enable the
49062 memory manager debugging feature. This makes the binary much
49063 bigger, so is disabled by default.
49064
9cacaa17 490652006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49066
49067 Use grub_abort instead of grub_stop, and grub_exit must be
49068 define in each architecture now. Also, this change adds support
49069 for EFI disks.
f19dbdb7 49070
9cacaa17 49071 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49072 (grub_getkey): New function.
49073 (grub_term_get_current): Likewise.
49074
49075 * util/i386/pc/grub-setup.c: Include grub/term.h.
49076 (grub_getkey): New function.
49077 (grub_term_get_current): Likewise.
49078
49079 * util/misc.c (grub_stop): Renamed to ...
49080 (grub_exit): ... this.
49081
49082 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49083 (grub_exit): ... this.
49084 (grub_machine_init): Use grub_abort instead of abort.
49085 (grub_stop): Removed.
49086
49087 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49088 abort.
49089
49090 * kern/i386/pc/startup.S (grub_exit): New function.
49091 (cold_reboot): New label.
49092
49093 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49094 (grub_efi_init): Call grub_efidisk_init.
49095 (grub_efi_fini): Call grub_efidisk_fini.
49096
49097 * kern/efi/efi.c: Include grub/mm.h.
49098 (grub_efi_console_control_guid): Renamed to ...
49099 (console_control_guid): ... this.
49100 (grub_efi_loaded_image_guid): Renamed to ...
49101 (loaded_image_guid): ... this.
49102 (grub_efi_locate_handle): New function.
49103 (grub_efi_open_protocol): Likewise.
49104 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49105 GRUB_EFI_CONSOLE_CONTROL_GUID.
49106 (grub_efi_exit): Removed.
49107 (grub_stop): Likewise.
49108 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49109 (grub_exit): New function.
49110 (grub_print_device_path): Likewise.
49111
49112 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49113 (grub_enter_rescue_mode): Register "exit".
49114
49115 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49116 (grub_abort): New function.
49117
49118 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49119
49120 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49121
49122 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49123
49124 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49125 (grub_print_device_path): New prototype.
49126 (grub_efi_locate_handle): Likewise.
49127 (grub_efi_open_protocol): Likewise.
49128
49129 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49130 * disk/efi/efidisk.c: Likewise.
49131
49132 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49133
49134 * include/grub/efi/console_control.h
49135 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49136
49137 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49138 last 8 bytes as an array.
49139 (GRUB_EFI_DISK_IO_GUID): New macro.
49140 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49141 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49142 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49143 grub_uint8_t.
49144 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49145 (struct grub_efi_device_path): Rename the member "sub_type" to
49146 "subtype".
49147 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49148 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49149 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49150 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49151 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49152 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49153 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49154 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49155 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49156 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49157 (struct grub_efi_pci_device_path): New structure.
49158 (grub_efi_pci_device_path_t): New type.
49159 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49160 (struct grub_efi_pccard_device_path): New structure.
49161 (grub_efi_pccard_device_path_t): New type.
49162 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49163 (struct grub_efi_memory_mapped_device_path): New structure.
49164 (grub_efi_memory_mapped_device_path_t): New type.
49165 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49166 (struct grub_efi_vendor_device_path): New structure.
49167 (grub_efi_vendor_device_path_t): New type.
49168 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49169 (struct grub_efi_controller_device_path): New structure.
49170 (grub_efi_controller_device_path_t): New type.
49171 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49172 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49173 (struct grub_efi_acpi_device_path): New structure.
49174 (grub_efi_acpi_device_path_t): New type.
49175 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49176 (struct grub_efi_expanded_acpi_device_path): New structure.
49177 (grub_efi_expanded_acpi_device_path_t): New type.
49178 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49179 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49180 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49181 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49182 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49183 (struct grub_efi_atapi_device_path): New structure.
49184 (grub_efi_atapi_device_path_t): New type.
49185 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49186 (struct grub_efi_fibre_channel_device_path): New structure.
49187 (grub_efi_fibre_channel_device_path_t): New type.
49188 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49189 (struct grub_efi_1394_device_path): New structure.
49190 (grub_efi_1394_device_path_t): New type.
49191 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49192 (struct grub_efi_usb_device_path): New structure.
49193 (grub_efi_usb_device_path_t): New type.
49194 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49195 (struct grub_efi_usb_class_device_path): New structure.
49196 (grub_efi_usb_class_device_path_t): New type.
49197 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49198 (struct grub_efi_i2o_device_path): New structure.
49199 (grub_efi_i2o_device_path_t): New type.
49200 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49201 (struct grub_efi_mac_address_device_path): New structure.
49202 (grub_efi_mac_address_device_path_t): New type.
49203 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49204 (struct grub_efi_ipv4_device_path): New structure.
49205 (grub_efi_ipv4_device_path_t): New type.
49206 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49207 (struct grub_efi_ipv6_device_path): New structure.
49208 (grub_efi_ipv6_device_path_t): New type.
49209 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49210 (struct grub_efi_infiniband_device_path): New structure.
49211 (grub_efi_infiniband_device_path_t): New type.
49212 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49213 (struct grub_efi_uart_device_path): New structure.
49214 (grub_efi_uart_device_path_t): New type.
49215 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49216 (struct grub_efi_vendor_messaging_device_path): New structure.
49217 (grub_efi_vendor_messaging_device_path_t): New type.
49218 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49219 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49220 (struct grub_efi_hard_drive_device_path): New structure.
49221 (grub_efi_hard_drive_device_path_t): New type.
49222 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49223 (struct grub_efi_cdrom_device_path): New structure.
49224 (grub_efi_cdrom_device_path_t): New type.
49225 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49226 (struct grub_efi_vendor_media_device_path): New structure.
49227 (grub_efi_vendor_media_device_path_t): New type.
49228 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49229 (struct grub_efi_file_path_device_path): New structure.
49230 (grub_efi_file_path_device_path_t): New type.
49231 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49232 (struct grub_efi_protocol_device_path): New structure.
49233 (grub_efi_protocol_device_path_t): New type.
49234 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49235 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49236 (struct grub_efi_bios_device_path): New structure.
49237 (grub_efi_bios_device_path_t): New type.
49238 (struct grub_efi_disk_io): New structure.
49239 (grub_efi_disk_io_t): New type.
49240 (struct grub_efi_block_io_media): New structure.
49241 (grub_efi_block_io_media_t): New type.
49242 (struct grub_efi_block_io): New structure.
49243 (grub_efi_block_io_t): New type.
49244
49245 * include/grub/misc.h (grub_stop): Removed.
49246 (grub_exit): New prototype.
49247 (grub_abort): Likewise.
49248
49249 * include/grub/disk.h (enum grub_disk_dev_id): Added
49250 GRUB_DISK_DEVICE_EFIDISK_ID.
49251
49252 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49253 disk/efi/efidisk.c.
49254 (kernel_syms.lst): Remove the target if an error occurs.
49255
49986a9f 492562006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49257
49258 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49259 as it was simply too buggy.
49260
970d3b8a 492612006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49262
49263 * kern/misc.c (grub_lltoa): New function.
49264 (grub_vsprintf): Added support for the long long suffix,
49265 i.e. "ll".
49266
ff04ec24 492672006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49268
49269 * Makefile.in (LDFLAGS): Add variable.
49270 (LD): Remove variable.
49271 * configure.ac: Add -m32 to LDFLAGS.
49272 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49273 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49274 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49275 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49276 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49277 variables.
49278 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49279 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49280 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49281
37e5e1a4 492822006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49283
49284 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49285 length for unknown glyph.
49286
c352d8dd 492872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49288
2eab1c0d 49289 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49290
2eab1c0d 49291 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49292 completely. Accept one more argument DIR. The caller has changed.
49293
49294 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49295
49296 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49297 (grub_efi_loaded_image_guid): New variable.
49298 (grub_efi_get_loaded_image): New function.
49299 (grub_arch_modules_addr): Likewise.
49300
49301 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49302 prototype.
49303
49304 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49305 (struct grub_efi_loaded_image): New structure.
49306 (grub_efi_loaded_image_t): New type.
49307
493082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49309
c352d8dd 49310 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49311 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49312 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49313
6d01d6b4 493142006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49315
49316 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49317
976a4ea0 493182006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49319
49320 * DISTLIST: Added include/grub/efi/console.h,
49321 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49322 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49323
49324 * include/grub/efi/console.h: New file.
49325 * include/grub/efi/time.h: Likewise.
49326 * include/grub/i386/efi/kernel.h: Likewise.
49327 * kern/efi/init.c: Likewise.
49328 * kern/efi/mm.c: Likewise.
49329 * term/efi/console.c: Likewise.
f19dbdb7 49330
976a4ea0 49331 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49332 (grub_stop): Removed.
49333 (grub_get_rtc): Likewise.
49334 (grub_machine_init): Simply call grub_efi_init.
49335 (grub_machine_fini): Call grub_efi_fini.
49336
49337 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49338 (grub_efi_output_string): Removed.
49339 (grub_efi_stall): New function.
49340 (grub_stop): Likewise.
49341 (grub_get_rtc): Likewise.
49342
49343 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49344 (grub_efi_stall): New prototype.
49345 (grub_efi_allocate_pages): Likewise.
49346 (grub_efi_free_pages): Likewise.
49347 (grub_efi_get_memory_map): Likewise.
49348 (grub_efi_mm_init): Likewise.
49349 (grub_efi_mm_fini): Likewise.
49350 (grub_efi_init): Likewise.
49351 (grub_efi_fini): Likewise.
49352
49353 * include/grub/i386/efi/time.h: Do not include
49354 grub/symbol.h. Include grub/efi/time.h.
49355 (GRUB_TICKS_PER_SECOND): Removed.
49356 (grub_get_rtc): Likewise.
49357
49358 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49359 Added padding. The EFI spec is buggy.
49360 (GRUB_EFI_BLACK): New macro.
49361 (GRUB_EFI_BLUE): Likewise.
49362 (GRUB_EFI_GREEN): Likewise.
49363 (GRUB_EFI_CYAN): Likewise.
49364 (GRUB_EFI_RED): Likewise.
49365 (GRUB_EFI_MAGENTA): Likewise.
49366 (GRUB_EFI_BROWN): Likewise.
49367 (GRUB_EFI_LIGHTGRAY): Likewise.
49368 (GRUB_EFI_BRIGHT): Likewise.
49369 (GRUB_EFI_DARKGRAY): Likewise.
49370 (GRUB_EFI_LIGHTBLUE): Likewise.
49371 (GRUB_EFI_LIGHTGREEN): Likewise.
49372 (GRUB_EFI_LIGHTCYAN): Likewise.
49373 (GRUB_EFI_LIGHTRED): Likewise.
49374 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49375 (GRUB_EFI_YELLOW): Likewise.
49376 (GRUB_EFI_WHITE): Likewise.
49377 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49378 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49379 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49380 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49381 (GRUB_EFI_BACKGROUND_RED): Likewise.
49382 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49383 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49384 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49385 (GRUB_EFI_TEXT_ATTR): Likewise.
49386
49387 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49388 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49389 (kernel_mod_HEADERS): Added efi/time.h.
49390
83709125 493912006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49392
49393 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49394 include/grub/efi/api.h, include/grub/efi/console_control.h,
49395 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49396 include/grub/i386/efi/time.h, kern/efi/efi.c,
49397 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49398 and util/i386/efi/grub-mkimage.c.
49399
49400 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49401
49402 * genmk.rb (PModule#rule): Do not export symbols if
49403 #{prefix}_EXPORTS is set to "no".
49404
49405 * conf/i386-efi.mk: New file.
49406 * conf/i386-efi.rmk: Likewise.
49407 * include/grub/efi/api.h: Likewise.
49408 * include/grub/efi/console_control.h: Likewise.
49409 * include/grub/efi/efi.h: Likewise.
49410 * include/grub/efi/pe32.h: Likewise.
49411 * include/grub/i386/efi/time.h: Likewise.
49412 * kern/efi/efi.c: Likewise.
49413 * kern/i386/efi/init.c: Likewise.
49414 * kern/i386/efi/startup.S: Likewise.
49415 * util/i386/efi/grub-mkimage.c: Likewise.
49416
494172006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49418
49419 * include/grub/script.h: Include <grub/parser.h> and
49420 "grub_script.tab.h".
49421 (struct grub_lexer_param): New struct.
49422 (struct grub_parser_param): Likewise.
49423 (grub_script_create_arglist): Pass the state in an argument.
49424 (grub_script_add_arglist): Likewise.
49425 (grub_script_create_cmdline): Likewise.
49426 (grub_script_create_cmdblock): Likewise.
49427 (grub_script_create_cmdif): Likewise.
49428 (grub_script_create_cmdmenu): Likewise.
49429 (grub_script_add_cmd): Likewise.
49430 (grub_script_arg_add): Likewise.
49431 (grub_script_lexer_ref): Likewise.
49432 (grub_script_lexer_deref): Likewise.
49433 (grub_script_lexer_record_start): Likewise.
49434 (grub_script_lexer_record_stop): Likewise.
49435 (grub_script_mem_record): Likewise.
49436 (grub_script_mem_record_stop): Likewise.
49437 (grub_script_malloc): Likewise.
49438 (grub_script_yylex): Likewise.
49439 (grub_script_yyparse): Likewise.
49440 (grub_script_yyerror): Likewise.
49441 (grub_script_yylex): Likewise.
49442 (grub_script_lexer_init): Return the state.
49443
49444 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49445 (grub_script_lexer_done): Likewise.
49446 (grub_script_lexer_getline): Likewise.
49447 (grub_script_lexer_refs): Likewise.
49448 (script): Likewise.
49449 (newscript): Likewise.
49450 (record): Likewise.
49451 (recording): Likewise.
49452 (recordpos): Likewise.
49453 (recordlen): Likewise.
49454 (grub_script_lexer_init): Return the state instead of setting
49455 global variables.
49456 (grub_script_lexer_ref): Use the newly added argument for state
49457 instead of globals.
49458 (grub_script_lexer_deref): Likewise.
49459 (grub_script_lexer_record_start): Likewise.
49460 (grub_script_lexer_record_stop): Likewise.
49461 (recordchar): Likewise.
49462 (nextchar): Likewise.
49463 (grub_script_yylex2): Likewise.
49464 (grub_script_yylex): Likewise.
49465 (grub_script_yyerror): Likewise.
49466
49467 * normal/parser.y (func_mem): Removed variable.
49468 (menu_entry): Likewise.
49469 (err): Likewise.
49470 (%lex-param): New parser option.
49471 (%parse-param): Likewise.
49472 (script): Always return the AST.
49473 (argument): Pass the state around.
49474 (arguments): Likewise.
49475 (grubcmd): Likewise.
49476 (commands): Likewise.
49477 (function): Likewise.
49478 (menuentry): Likewise.
49479 (if_statement): Likewise.
49480 (if): Likewise.
49481
49482 * normal/script.c (grub_script_memused): Removed variable.
49483 (grub_script_parsed): Likewise.
49484 (grub_script_malloc): Added a state argument. Use that instead of
49485 global variables.
49486 (grub_script_mem_record): Likewise.
49487 (grub_script_mem_record_stop): Likewise.
49488 (grub_script_arg_add): Likewise.
49489 (grub_script_add_arglist): Likewise.
49490 (grub_script_create_cmdline): Likewise.
49491 (grub_script_create_cmdif): Likewise.
49492 (grub_script_create_cmdmenu): Likewise.
49493 (grub_script_add_cmd): Likewise.
49494 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49495
e2a8c904 494962006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49497
49498 * normal/command.c (grub_command_init): Remove the title command.
49499
49500 * normal/lexer.c (grub_script_yylex): Renamed from this...
49501 (grub_script_yylex2): ... to this.
49502 (grub_script_yylex): New function. Temporary
49503 introduced to filter some tokens.
49504 (grub_script_yyerror): Print a newline.
49505
49506 * normal/main.c (read_config_file): Output information about the
49507 lines that contain errors. Wait for a key after all lines have
49508 been processed. Don't return an empty menu.
49509
49510 * normal/parser.y (func_mem): Don't initialize.
49511 (menu_entry): Likewise.
49512 (err): New variable.
49513 (script): Don't return anything when an error was encountered.
49514 (ws, returns): Removed rules.
49515 (argument): Disabled concatenated variable support.
49516 (arguments): Remove explicit separators.
49517 (grubcmd): Likewise.
49518 (function): Likewise.
49519 (menuentry): Likewise.
49520 (if): Likewise.
49521 (commands): Likewise. Add error handling.
49522
49523 * normal/script.c (grub_script_create_cmdline): If
49524 `grub_script_parsed' is 0, assume the parser encountered an error.
49525
c9a86192 495262006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49527
49528 * configure.ac: Add support for EFI. Fix the typo
49529 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49530
70f3b243 495312006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49532
49533 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49534 foreign multibyte characters should be shown correctly.
49535
65f201ad 495362006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49537
49538 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49539 calculation.
49540 (read_config_file): Made it to close file before returning.
49541
b4b93674 495422006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49543
49544 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49545 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49546 video/i386/pc/vbefill.c.
49547
49548 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49549 video/i386/pc/vbefill.c.
49550
49551 * include/grub/video.h (grub_video_blit_format): New enum.
49552 (grub_video_mode_info): Added new member blit_format.
49553 (grub_video_get_blit_format): New function prototype.
49554
49555 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49556 function prototype.
49557 (grub_video_vbe_map_rgb): Likewise.
49558 (grub_video_vbe_unmap_color): Likewise.
49559
49560 * include/grub/i386/pc/vbeblit.h: New file.
49561
49562 * include/grub/i386/pc/vbefill.h: New file.
49563
49564 * video/video.c (grub_video_get_blit_format): New function.
49565 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49566 (grub_video_vbe_map_rgb): Likewise.
49567 (grub_video_vbe_unmap_color): Likewise.
49568
49569 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49570 optimized fills.
49571 (grub_video_vbe_blit_render_target): Changed to use more optimized
49572 blits.
49573 (grub_video_vbe_setup): Added detection for optimized settings.
49574 (grub_video_vbe_create_render_target): Likewise.
49575
49576 * video/i386/pc/vbeblit.c: New file.
49577
49578 * video/i386/pc/vbefill.c: New file.
49579
c2379b9c 495802006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49581
49582 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49583 here...
49584
49585 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49586 parsing to support both hex and dec ranges. If filename was missing
49587 show usage information.
49588
bd0d7896 495892006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49590
49591 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49592 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49593
49594 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49595 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49596 (video_mod_SOURCES): Added.
49597 (video_mod_CFLAGS): Likewise.
49598 (video_mod_LDFLAGS): Likewise.
49599 (gfxterm_mod_SOURCES): Likewise.
49600 (gfxterm_mod_CFLAGS): Likewise.
49601 (gfxterm_mod_LDFLAGS): Likewise.
49602 (videotest_mod_SOURCES): Likewise.
49603 (videotest_mod_CFLAGS): Likewise.
49604 (videotest_mod_LDFLAGS): Likewise.
49605 (vesafb_mod_SOURCES): Removed.
49606 (vesafb_mod_CFLAGS): Likewise.
49607 (vesafb_mod_LDFLAGS): Likewise.
49608 (vga_mod_SOURCES): Likewise.
49609 (vga_mod_CFLAGS): Likewise.
49610 (vga_mod_LDFLAGS): Likewise.
49611
49612 * commands/videotest.c: New file.
49613
49614 * font/manager.c (fill_with_default_glyph): Modified to use
49615 grub_font_glyph.
49616 (grub_font_get_glyph): Likewise.
49617 (fontmanager): Renamed from this...
49618 (font_manager): ... to this.
49619
49620 * include/grub/font.h (grub_font_glyph): Added new structure.
49621 (grub_font_get_glyph): Modified to use grub_font_glyph.
49622
49623 * include/grub/misc.h (grub_abs): Added as inline function.
49624
49625 * include/grub/video.h: New file.
49626
49627 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49628 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49629 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49630 (grub_vbe_get_controller_info): Renamed from this...
49631 (grub_vbe_bios_get_controller_info): ... to this.
49632 (grub_vbe_get_mode_info): Renamed from this...
49633 (grub_vbe_bios_get_mode_info): ... to this.
49634 (grub_vbe_set_mode): Renamed from this...
49635 (grub_vbe_bios_set_mode): ... to this.
49636 (grub_vbe_get_mode): Renamed from this...
49637 (grub_vbe_bios_get_mode): ... to this.
49638 (grub_vbe_set_memory_window): Renamed from this...
49639 (grub_vbe_bios_set_memory_window): ... to this.
49640 (grub_vbe_get_memory_window): Renamed from this...
49641 (grub_vbe_bios_get_memory_window): ... to this.
49642 (grub_vbe_set_scanline_length): Renamed from this...
49643 (grub_vbe_set_scanline_length): ... to this.
49644 (grub_vbe_get_scanline_length): Renamed from this...
49645 (grub_vbe_bios_get_scanline_length): ... to this.
49646 (grub_vbe_set_display_start): Renamed from this...
49647 (grub_vbe_bios_set_display_start): ... to this.
49648 (grub_vbe_get_display_start): Renamed from this...
49649 (grub_vbe_bios_get_display_start): ... to this.
49650 (grub_vbe_set_palette_data): Renamed from this...
49651 (grub_vbe_bios_set_palette_data): ... to this.
49652 (grub_vbe_set_pixel_rgb): Removed.
49653 (grub_vbe_set_pixel_index): Likewise.
49654
49655 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49656 from this...
49657 (grub_vbe_bios_get_controller_info): ... to this.
49658 (grub_vbe_get_mode_info): Renamed from this...
49659 (grub_vbe_bios_get_mode_info): ... to this.
49660 (grub_vbe_set_mode): Renamed from this...
49661 (grub_vbe_bios_set_mode): ... to this.
49662 (grub_vbe_get_mode): Renamed from this...
49663 (grub_vbe_bios_get_mode): ... to this.
49664 (grub_vbe_set_memory_window): Renamed from this...
49665 (grub_vbe_bios_set_memory_window): ... to this.
49666 (grub_vbe_get_memory_window): Renamed from this...
49667 (grub_vbe_bios_get_memory_window): ... to this.
49668 (grub_vbe_set_scanline_length): Renamed from this...
49669 (grub_vbe_set_scanline_length): ... to this.
49670 (grub_vbe_get_scanline_length): Renamed from this...
49671 (grub_vbe_bios_get_scanline_length): ... to this.
49672 (grub_vbe_set_display_start): Renamed from this...
49673 (grub_vbe_bios_set_display_start): ... to this.
49674 (grub_vbe_get_display_start): Renamed from this...
49675 (grub_vbe_bios_get_display_start): ... to this.
49676 (grub_vbe_set_palette_data): Renamed from this...
49677 (grub_vbe_bios_set_palette_data): ... to this.
49678 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49679 getting corrupted after calling it. Added more pushes and pops.
49680 (grub_vbe_bios_set_mode): Likewise.
49681 (grub_vbe_bios_get_mode): Likewise.
49682 (grub_vbe_bios_get_memory_window): Likewise.
49683 (grub_vbe_bios_set_scanline_length): Likewise.
49684 (grub_vbe_bios_get_scanline_length): Likewise.
49685 (grub_vbe_bios_get_display_start): Likewise.
49686 (grub_vbe_bios_set_palette_data): Likewise.
49687
49688 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49689 (cl_insert): Likewise.
49690 (cl_delete): Likewise.
49691
49692 * term/gfxterm.c: New file.
49693
49694 * term/i386/pc/vesafb.c: Removed file.
49695
49696 * video/video.c: New file.
49697
49698 * video/i386/pc/vbe.c (real2pm): Added new function.
49699 (grub_video_vbe_draw_pixel): Likewise.
49700 (grub_video_vbe_get_video_ptr): Likewise.
49701 (grub_video_vbe_get_pixel): Likewise
49702 (grub_video_vbe_init): Likewise.
49703 (grub_video_vbe_fini): Likewise.
49704 (grub_video_vbe_setup): Likewise.
49705 (grub_video_vbe_get_info): Likewise.
49706 (grub_video_vbe_set_palette): Likewise.
49707 (grub_video_vbe_get_palette): Likewise.
49708 (grub_video_vbe_set_viewport): Likewise.
49709 (grub_video_vbe_get_viewport): Likewise.
49710 (grub_video_vbe_map_color): Likewise.
49711 (grub_video_vbe_map_rgb): Likewise.
49712 (grub_video_vbe_map_rgba): Likewise.
49713 (grub_video_vbe_unmap_color): Likewise.
49714 (grub_video_vbe_fill_rect): Likewise.
49715 (grub_video_vbe_blit_glyph): Likewise.
49716 (grub_video_vbe_blit_bitmap): Likewise.
49717 (grub_video_vbe_blit_render_target): Likewise.
49718 (grub_video_vbe_scroll): Likewise.
49719 (grub_video_vbe_swap_buffers): Likewise.
49720 (grub_video_vbe_create_render_target): Likewise.
49721 (grub_video_vbe_delete_render_target): Likewise.
49722 (grub_video_vbe_set_active_render_target): Likewise.
49723 (grub_vbe_set_pixel_rgb): Remove function.
49724 (grub_vbe_set_pixel_index): Likewise.
49725 (index_color_mode): Remove static variable.
49726 (active_mode): Likewise.
49727 (framebuffer): Likewise.
49728 (bytes_per_scan_line): Likewise.
49729 (grub_video_vbe_adapter): Added new static variable.
49730 (framebuffer): Likewise.
49731 (render_target): Likewise.
49732 (initial_mode): Likewise.
49733 (mode_in_use): Likewise.
49734 (mode_list): Likewise.
49735
5f97350b 497362006-03-10 Marco Gerards <marco@gnu.org>
49737
49738 * configure.ac (AC_INIT): Bumped to 1.93.
49739
49740 * DISTLIST: Added `include/grub/hfs.h'.
49741
a3c5c6f8 497422006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49743
49744 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49745 18H, which might help the BIOS falling back to next boot media.
49746
6de53d26 497472006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49748
49749 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49750 Poe Chen <poe.poechen@gmail.com>.
49751
77c4a393 497522006-01-17 Marco Gerards <marco@gnu.org>
49753
49754 * include/grub/normal.h: Include <grub/script.h>.
49755 (grub_command_list): Removed struct.
49756 (grub_command_list_t): Removed type.
49757 (grub_menu_entry): Remove members `num' and `command_list'. Add
49758 members `commands' and `sourcecode'.
49759 * include/grub/script.h: Add inclusion guards.
49760 (grub_script_cmd_menuentry): New struct.
49761 (grub_script_execute_menuentry): New prototype.
49762 (grub_script_lexer_record_start): Likewise.
49763 (grub_script_lexer_record_stop): Likewise.
49764 * normal/execute.c (grub_script_execute_menuentry): New function.
49765 * normal/lexer.c (record, recording, recordpos, recordlen): New
49766 variables.
49767 (grub_script_lexer_record_start): New function.
49768 (grub_script_lexer_record_stop): Likewise.
49769 (recordchar): Likewise.
49770 (nextchar): Likewise.
49771 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49772 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49773 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49774 (current_menu): New variable.
49775 (free_menu): Mainly rewritten.
49776 (grub_normal_menu_addentry): New function.
49777 (read_config_file): Rewritten.
49778 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49779 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49780 the menu entry.
49781 (run): Mainly rewritten.
49782 * normal/parser.y (menu_entry): New variable.
49783 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49784 (menuentry): New rule.
49785 (command): Add `menuentry'.
49786 (if_statement): Allow additional returns before `fi'.
49787 * normal/script.c (grub_script_create_cmdmenu): New function.
49788
144f1f98 497892006-01-03 Marco Gerards <marco@gnu.org>
49790
49791 * INSTALL: GNU Bison is required.
49792 * configure.ac: Rewritten the test to detect Bison.
49793 * Makefile.in (YACC): New variable. Reported by Xun Sun
49794 <xun.sun.cn@gmail.com>.
49795
af4b2d89 497962006-01-03 Marco Gerards <marco@gnu.org>
49797
49798 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49799 the HFS+ filesystem to filesystem blocks.
49800 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49801 GCC warning is silenced.
49802
15643b71 498032006-01-03 Marco Gerards <marco@gnu.org>
49804
49805 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49806 read from disk from big endian to host byte order.
49807
00905879 498082006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49809
49810 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49811 documentation.
49812 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49813 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49814 embedded HFS+ filesystem.
49815 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49816 (grub_hfs_sblock): Move from here...
49817 * include/grub/hfs.h: To here... New file.
49818 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49819 documentation.
49820 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49821 New macros.
49822 (grub_hfsplus_volheader): Change type of member `magic' to
49823 `grub_uint16_t'.
49824 (grub_hfsplus_data): Add new member `embedded_offset'.
49825 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49826 returned block.
49827 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49828 Calculate the offset.
49829
8899bc3e 498302005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49831
49832 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49833 Removed.
49834 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49835
ae8c0277 498362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49837
49838 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49839 ENV->NAME is NULL after allocating ENV->VALUE.
49840
07084456 498412005-12-25 Marco Gerards <marco@gnu.org>
49842
49843 * kern/env.c (grub_env_set): Rewritten the error handling code.
49844
4750f5f1 498452005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49846
49847 * geninit.sh: Made more robust, and more portable.
49848
50214199 498492005-12-25 Marco Gerards <marco@gnu.org>
49850
49851 Add support for Apple HFS+ filesystems.
f19dbdb7 49852
50214199 49853 * fs/hfsplus.c: New file.
49854
49855 * DISTLIST: Added `fs/hfsplus.c'.
49856
49857 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49858 (hfsplus_mod_SOURCES): New variable.
49859 (hfsplus_mod_CFLAGS): Likewise.
49860 (hfsplus_mod_LDFLAGS): Likewise.
49861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49862 (grub_setup_SOURCES): Likewise.
49863 (grub_mkdevicemap_SOURCES): Likewise.
49864 (grub_emu_SOURCES): Likewise.
49865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49866
49867 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49868
49869 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49870
befaed6c 498712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49872
49873 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49874 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49875 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49876 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49877 normal/lexer.c, normal/parser.y, normal/script.c, and
49878 partmap/gpt.c.
49879 Removed kern/sparc64/cache.c.
49880
49881 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49882 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49883 grub_emu_init.c.
49884
49885 * configure.ac (AC_INIT): Bumped to 1.92.
49886
6a124103 498872005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49888
49889 * kern/err.c (grub_error_push): Added new function to support error
49890 stacks.
49891 (grub_error_pop): Likewise.
49892 (grub_error_stack_items): New local variable to support error stacks.
49893 (grub_error_stack_pos): Likewise.
49894 (grub_error_stack_assert): Likewise.
49895 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49896 stack depth.
49897 (grub_print_error): Added support to print errors from error stack.
49898
49899 * include/grub/err.h (grub_error_push): Added function prototype.
49900 (grub_error_pop): Likewise.
49901
be973c1b 499022005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49903
49904 * configure.ac: Accept `powerpc64' as host_cpu.
49905 (amd64): Rename to `biarch32'.
49906
49907 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49908 non-cacheline-aligned addresses.
49909
49910 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49911 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49912 if `size' is non-zero.
49913
b04216ab 499142005-12-03 Marco Gerards <mgerards@xs4all.nl>
49915
49916 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49917 and `cd' to make sure the filename is not prefixed with a
49918 directory name.
49919 (pkgdata_MODULES): Add `gpt.mod'.
49920 (gpt_mod_SOURCES): New variable.
49921 (gpt_mod_CFLAGS): Likewise.
49922 (gpt_mod_LDFLAGS): Likewise.
49923
49924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49925
49926 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49927 New macro.
49928
49929 * partmap/gpt.c: New file.
49930
49931 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49932 GPT partition map is detected.
49933
41730ed9 499342005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49935
49936 * commands/i386/pc/play.c: New file.
49937 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49938 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49939 macros.
f19dbdb7 49940
95dc3643 499412005-11-27 Marco Gerards <mgerards@xs4all.nl>
49942
49943 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49944 ((unused))' to silence gcc warning.
49945
1569ec51 499462005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49947
49948 * configure.ac: Correct `AC_PROG_YACC' test.
49949
9abde152 499502005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49951
49952 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49953 check before installing files.
49954
44b83271 499552005-11-22 Mike Small <smallm@panix.com>
49956
49957 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49958 number regex so multidigit numbers are recognized correctly.
49959
499602005-11-22 Mike Small <smallm@panix.com>
49961
49962 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49963 debugging message before attempting to claim memory.
49964 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49965 multiple addresses in case of failure.
49966
9c12956b 499672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49968
49969 * term/tparm.c (get_space): Remove empty `if' statement.
49970
49971 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49972
49973 * kern/parser.c (check_varstate): Rename `state' to 's'.
49974
aeaf81d9 499752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49976
49977 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49978 variable definitions to the beginning of each function. Sort stack
49979 variables by size.
49980 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49981 `buf' argument to `char *'.
49982
79bbb63f 499832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49984
49985 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49986 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49987 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49988 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49989 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49990 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49991 configfile.mod, search.mod, gzio.mod and test.mod.
49992 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49993 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49994 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49995 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49996 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49997 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49998 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49999 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50000 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50001 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50002 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50003 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50004 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50005 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50006 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50007 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50008 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50009 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50010 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50011 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50012 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50013 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50014 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50015
50016 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50017 `grep --include'.
50018 (pkgdata_MODULES): Add test.mod.
50019
233b1628 500202005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50021
50022 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50023 appending to variables with "+=".
50024 (PModule): Use full pathname to generate *.lst filenames.
50025
50026 * Makefile.in: Fixed list rules moved from genmk.rb.
50027 (.DELETE_ON_ERROR): New special target.
50028 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50029
50030 * conf/i386-pc.rmk: Include conf/common.mk.
50031 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50032 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50033 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50034 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50035 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50036 configfile.mod, search.mod, gzio.mod and test.mod.
50037 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50038 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50039 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50040 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50041 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50042 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50043 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50044 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50045 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50046 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50047 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50048 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50049 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50050 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50051 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50052 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50053 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50054 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50055 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50056 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50057 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50058 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50059 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50060 here...
50061 * conf/common.rmk: ... to here. New file.
50062
50063 * conf/common.mk: New file.
50064
16f820c8 500652005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50066
50067 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50068 (grub_script.tab.c): ... here.
50069
50070 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50071 (grub_script.tab.c): ... here.
50072
50073 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50074 (grub_script.tab.c): ... here.
50075
50076 * normal/command.c (grub_command_find): Fixed a memory leak of
50077 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50078
63ba1554 500792005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50080
50081 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50082 "@" which marks the start of a comment on ARM.
50083 (VARIABLE): Likewise.
50084
7f67dc13 500852005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50086
79bbb63f 50087 Add support for Linux/ADFS partition tables.
7f67dc13 50088
50089 * partmap/acorn.c: New file.
50090
50091 * include/grub/acorn_filecore.h: Likewise.
50092
50093 * DISTLIST: Added `partmap/acorn.c' and
50094 `include/grub/acorn_filecore.h'.
f19dbdb7 50095
7f67dc13 50096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50097 `partmap/acorn.c'.
50098 (pkgdata_MODULES): Add `acorn.mod'.
50099 (acorn_mod_SOURCES): New variable.
50100 (acorn_mod_CFLAGS): Likewise.
50101
50102 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50103 `partmap/acorn.c'.
50104 (pkgdata_MODULES): Add `acorn.mod'.
50105 (acorn_mod_SOURCES): New variable.
50106 (acorn_mod_CFLAGS): Likewise.
50107
50108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50109 (pkgdata_MODULES): Add `acorn.mod'.
50110 (acorn_mod_SOURCES): New variable.
50111 (acorn_mod_CFLAGS): Likewise.
50112 (acorn_mod_LDFLAGS): Likewise.
50113
50114 * include/types.h (grub_disk_addr_t): New typedef.
50115
6d099807 501162005-11-13 Marco Gerards <mgerards@xs4all.nl>
50117
50118 * geninit.sh: New file.
50119
50120 * geninitheader.sh: Likewise.
50121
50122 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50123 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50124 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50125 * commands/configfile.c (grub_configfile_init)
50126 (grub_configfile_fini): Likewise.
50127 * commands/default.c (grub_default_init, grub_default_fini):
50128 Likewise.
50129 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50130 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50131 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50132 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50133 Likewise.
50134 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50135 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50136 Likewise.
50137 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50138 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50139 Likewise.
50140 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50141 Likewise.
fe6b695a 50142 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50143 Likewise.
50144 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50145 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50146 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50147 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50148 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50149 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50150 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50151 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50152 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50153 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50154 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50155 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50156 * partmap/amiga.c (grub_amiga_partition_map_init)
50157 (grub_amiga_partition_map_fini): Likewise.
50158 * partmap/apple.c (grub_apple_partition_map_init)
50159 (grub_apple_partition_map_fini): Likewise.
50160 * partmap/pc.c (grub_pc_partition_map_init)
50161 (grub_pc_partition_map_fini): Likewise.
50162 * partmap/sun.c (grub_sun_partition_map_init,
50163 grub_sun_partition_map_fini): Likewise.
50164 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50165 Likewise.
50166
50167 * util/grub-emu.c: Include <grub_modules_init.h>.
50168 (main): Don't initialize and de-initialize any modules directly,
50169 use `grub_init_all' and `grub_fini_all' instead.
50170
50171 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50172 `grub_vesafb_mod_init'.
50173 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50174 all users.
50175 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50176 `grub_vga_mod_init'. Updated all users.
50177 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50178
6d099807 50179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50180 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50181 rules.
50182
50183 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50184 Generate a function to initialize the module in utilities.
50185 Updated all callers.
50186 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50187 initialize the module in utilities. Updated all callers.
50188
9046bcf0 501892005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50190
50191 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50192 escape sequence and a literal ^L to clear the screen.
50193
50194 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50195 when returning from Open Firmware.
50196
d13ea639 501972005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50198
50199 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50200 (grub_ofconsole_height): Likewise.
50201 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50202 manually insert a '\n'.
50203 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50204 `grub_ofconsole_height'. Return early if these are already set.
50205
a8fcf206 502062005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50207
50208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50209 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50210 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50211 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50212 and `normal/script.c'.
50213 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50214 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50215 (test_mod_SOURCES): New variable.
50216 (test_mod_CFLAGS): Likewise.
50217 (test_mod_LDFLAGS): Likewise.
50218 (pkgdata_MODULES): Add `test.mod'.
50219 (grub_script.tab.c): New rule.
50220 (grub_script.tab.h): Likewise.
50221
b6b32745 502222005-11-07 Marco Gerards <mgerards@xs4all.nl>
50223
50224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50225 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50226 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50227 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50228 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50229 (test_mod_SOURCES): New variable.
50230 (test_mod_CFLAGS): Likewise.
50231 (pkgdata_MODULES): Add `test.mod'.
50232 (grub_script.tab.c): New rule.
50233 (grub_script.tab.h): Likewise.
50234
daac212a 502352005-11-06 Marco Gerards <mgerards@xs4all.nl>
50236
50237 Add initial scripting support.
50238
50239 * commands/test.c: New file.
50240 * include/grub/script.h: Likewise.
50241 * normal/execute.c: Likewise.
50242 * normal/function.c: Likewise.
50243 * normal/lexer.c: Likewise.
50244 * normal/parser.y: Likewise.
50245 * normal/script.c: Likewise.
50246
50247 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50248
daac212a 50249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50250 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50251 `normal/function.c' and `normal/script.c'.
50252 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50253 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50254 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50255 variables.
daac212a 50256 (pkgdata_MODULES): Add `test.mod'.
50257 (grub_script.tab.c): New rule.
50258 (grub_script.tab.h): Likewise.
50259
50260 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50261
50262 * include/grub/normal.h (grub_test_init): New prototype.
50263 (grub_test_fini): Likewise.
f19dbdb7 50264
daac212a 50265 * normal/command.c: Include <grub/script.h>.
50266 (grub_command_execute): Rewritten.
f19dbdb7 50267
daac212a 50268 * util/grub-emu.c (main): Call `grub_test_init' and
50269 `grub_test_fini'.
50270
77500b2b 502712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50272
50273 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50274 to 0.
50275 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50276 there are no pending characters.
50277
e45deb9e 502782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50279
50280 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50281 `grub_strndup' to drop device arguments. Replace unnecessary
50282 `grub_strndup' with `grub_strdup'.
50283
4ce32619 502842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50285
50286 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50287 `debug' environment variable has been set.
50288
502892005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50290
4ce32619 50291 * Makefile.in (install-local): Use $(DATA).
50292 (uninstall): Likewise.
50293 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50294 (sbin_UTILITIES): ... to here.
50295 (sbin_SCRIPTS): New variable.
50296 (grub_install_SOURCES): New variable.
50297 * util/powerpc/ieee1275/grub-install.in: New file.
50298 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50299 variable.
50300 (add_segments): Call `grub_util_get_path'.
50301
25fe6f03 503022005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 From Timothy Baldwin:
50305 * commands/ls.c (grub_ls_list_files): Close FILE with
50306 grub_file_close.
50307 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50308
04ccf3ec 503092005-10-24 Marco Gerards <mgerards@xs4all.nl>
50310
50311 * include/grub/parser.h: New file.
50312
50313 * kern/parser.c: Likewise.
50314
50315 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50316 (grub_setup_SOURCES): Likewise.
50317 (grub_probefs_SOURCES): Likewise.
50318 (grub_emu_SOURCES): Likewise.
50319 (kernel_img_HEADERS): Add `parser.h'.
50320
50321 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50322 (grub_emu_SOURCES): Add `kern/parser.c'.
50323 (grubof_SOURCES): Likewise.
50324
50325 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50326 (grubof_SOURCES): Add `kern/parser.c'.
50327
50328 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50329
50330 * kern/misc.c (grub_split_cmdline): Removed function.
50331
50332 * kern/rescue.c: Include <grub/parser.h>.
50333 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50334 of `grub_split_cmdline'.
50335
50336 * normal/command.c: Include <grub/parser.h>.
50337 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50338 of `grub_split_cmdline'.
50339
50340 * normal/completion.c: Include <grub/parser.h>.
50341 (cmdline_state): New variable.
50342 (iterate_dir): End the filename with a quote depending on the
50343 command line state.
50344 (get_state): new function.
50345 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50346 split the arguments and determine the current argument. When the
50347 argument string is not quoted, escape all spaces.
50348
6d8f4b0e 503492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50350
50351 * normal/sparc64/setjmp.S: New file.
50352
15cf03ed 503532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50354
50355 * include/grub/sparc64/libgcc.h: New file.
50356 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50357 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50358 normal/sparc64/setjmp.c.
50359
03e8661a 503602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50361
50362 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50363 * kern/sparc64/cache.S: New file.
50364 * kern/sparc64/cache.c: Removed.
50365 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50366 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50367 -mtune=ultrasparc.
50368 (COMMON_LDFLAGS): Add -melf64_sparc.
50369 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50370 (grubof_SOURCES): Use cache.S instead of cache.c.
50371 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50372 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50373 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50374 commented though.
50375 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50376 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50377 (linux_mod_CFLAGS): Commented out.
50378 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50379 out because module isn't built.
50380 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50381 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50382 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50383 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50384 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50385 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50386 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50387 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50388 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50389 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50390 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50391 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50392 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50393 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50394
34eeec8a 503952005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50396
50397 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50398 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50399 longer, because HFS should not be used on PC.
50400
708367a3 504012005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50402
50403 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50404 consistently within the loop.
50405
6fa1251a 504062005-10-15 Marco Gerards <mgerards@xs4all.nl>
50407
50408 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50409 directory can not be read.
50410
4801580b 504112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50412
50413 * configure.ac (AC_INIT): Increase the version number to 1.91.
50414
50415 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50416 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50417 term/i386/pc/serial.c.
50418
219ad426 504192005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50420
50421 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50422 file size must be permitted.
50423
50424 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50425 between %ah and %al.
50426
688e5699 504272005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50428
50429 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50430 grub_uint64_t.
50431 Call the hook with a NUL-terminated filename.
50432 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50433 grub_cpu_to_be32.
50434
50435 * kern/term.c (cursor_state): New variable.
50436 (grub_term_set_current): Reset the cursor state on a new
50437 terminal.
50438 (grub_setcursor): Rewritten to use CURSOR_STATE.
50439 (grub_getcursor): New function.
50440
50441 * include/grub/term.h (grub_getcursor): New prototype.
50442
50443 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50444 integers on ARM. Reported by Timothy Baldwin
50445 <T.E.Baldwin99@members.leeds.ac.uk>.
50446
bb34586c 504472005-10-11 Marco Gerards <mgerards@xs4all.nl>
50448
50449 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50450 allocated.
50451 (grub_sfs_dir): Likewise.
50452
9a909877 504532005-10-09 Marco Gerards <mgerards@xs4all.nl>
50454
50455 Add support for the SFS filesystem.
50456
50457 * fs/sfs.c: New file.
50458
50459 * DISTLIST: Added `fs/sfs.c'.
50460
50461 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50462 (grub_probefs_SOURCES): Likewise.
50463 (grub_emu_SOURCES): Likewise.
50464 (pkgdata_MODULES): Add `sfs.mod'.
50465 (sfs_mod_SOURCES): New variable.
50466 (sfs_mod_CFLAGS): Likewise.
50467 (sfs_mod_LDFLAGS): Likewise.
50468
50469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50470 (pkgdata_MODULES): Add `sfs.mod'.
50471 (sfs_mod_SOURCES): New variable.
50472 (sfs_mod_CFLAGS): Likewise.
50473
50474 * util/grub-emu.c (main): Call `grub_sfs_init' and
50475 `grub_sfs_fini'.
50476
50477 * include/grub/fs.h (grub_sfs_init): New prototype.
50478 (grub_sfs_fini): Likewise.
50479
57bdbde3 504802005-10-07 Marco Gerards <mgerards@xs4all.nl>
50481
50482 Add support for the AFFS filesystem.
50483
50484 * fs/affs.c: New file.
50485
50486 * DISTLIST: Added `fs/affs.c'.
50487
50488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50489 (grub_probefs_SOURCES): Likewise.
50490 (grub_emu_SOURCES): Likewise.
50491 (pkgdata_MODULES): Add `affs.mod'.
50492 (affs_mod_SOURCES): New variable.
50493 (affs_mod_CFLAGS): Likewise.
50494 (affs_mod_LDFLAGS): Likewise.
50495
50496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50497 (pkgdata_MODULES): Add `affs.mod'.
50498 (affs_mod_SOURCES): New variable.
50499 (affs_mod_CFLAGS): Likewise.
50500
50501 * util/grub-emu.c (main): Call `grub_affs_init' and
50502 `grub_affs_fini'.
50503
50504 * include/grub/fs.h (grub_affs_init): New prototype.
50505 (grub_affs_fini): Likewise.
50506
047b67e0 505072005-10-01 Marco Gerards <mgerards@xs4all.nl>
50508
50509 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50510
59b8208a 505112005-10-01 Marco Gerards <mgerards@xs4all.nl>
50512
50513 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50514 `-m32' to CFLAGS.
50515
50516 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50517 linking.
f19dbdb7 50518
59b8208a 50519 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50520 (COMMON_LDFLAGS): New variable.
50521 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50522 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50523 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50524 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50525 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50526 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50527 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50528 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50529 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50530 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50531 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50532 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50533 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50534 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50535 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50536 variables.
50537 (normal_mod_ASFLAGS): Add `-m32'.
50538
50539 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50540 (grub_host_size_t, grub_host_ssize_t): New types.
50541 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50542 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50543 `GRUB_HOST_SIZEOF_VOID_P'.
50544
50545 * include/grub/kernel.h (struct grub_module_header): Type of
50546 member offset changed to `grub_host_off_t'. Type of member size
50547 changed to `grub_host_size_t'.
50548 (struct grub_module_info): Type of member offset changed to
50549 `grub_host_off_t'. Type of member size changed to
50550 `grub_host_size_t'.
50551
b4093103 505522005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50553
50554 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50555
b4093103 50556 * kern/i386/pc/startup.S (multiboot_header): New label.
50557 (multiboot_entry): Likewise.
50558 (multiboot_trampoline): Likewise.
50559
50560 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50561 Increased to 0x4A0.
50562
50563 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50564 put parentheses after a question mark.
50565 [!GRUB_UTIL] (my_mod): New variable.
50566
50567 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50568
b2499b29 505692005-09-28 Marco Gerards <mgerards@xs4all.nl>
50570
50571 Adds support for the XFS filesystem. Btrees are not supported
50572 yet.
50573
50574 * fs/xfs.c: New file.
50575
50576 * DISTLIST: Added `fs/xfs.c'.
50577
50578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50579 (grub_probefs_SOURCES): Likewise.
50580 (grub_emu_SOURCES): Likewise.
50581 (pkgdata_MODULES): Add `xfs.mod'.
50582 (xfs_mod_SOURCES): New variable.
50583 (xfs_mod_CFLAGS): Likewise.
50584
50585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50586 (pkgdata_MODULES): Add `xfs.mod'.
50587 (xfs_mod_SOURCES): New variable.
50588 (xfs_mod_CFLAGS): Likewise.
50589
50590 * util/grub-emu.c (main): Call `grub_xfs_init' and
50591 `grub_xfs_fini'.
50592
50593 * include/grub/fs.h (grub_xfs_init): New prototype.
50594 (grub_xfs_fini): Likewise.
50595
f19dbdb7 50596
83d37a62 505972005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50598
50599 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50600 color modes, allow greater than 16 colors to be configured as
50601 a default palette.
50602
47d2d65e 506032005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50604
50605 * normal/completion.c (complete_arguments): Add the qualifier
50606 const into OPTIONS.
50607
50608 From Omniflux <omniflux+lists@omniflux.com>:
50609 * include/grub/terminfo.h: New file.
50610 * include/grub/tparm.h: Likewise.
50611 * include/grub/i386/pc/serial.h: Likewise.
50612 * term/terminfo.c: Likewise.
50613 * term/tparm.c: Likewise.
50614 * term/i386/pc/serial.c: Likewise.
50615 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50616 serial.mod.
50617 (terminfo_mod_SOURCES): New variable.
50618 (terminfo_mod_CFLAGS): Likewise.
50619 (serial_mod_SOURCES): Likewise.
50620 (serial_mod_CFLAGS): Likewise.
50621
48b671ff 506222005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50623
50624 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50625 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50626 and kern/powerpc/ieee1275/cmain.c, respectively.
50627
50628 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50629 * kern/powerpc/ieee1275/crt0.S: ... here.
50630
50631 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50632 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50633
48b671ff 50634 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50635 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50636 instead of boot/powerpc/ieee1275/crt0.S and
50637 boot/powerpc/ieee1275/cmain.c, respectively.
50638
50639 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50640 sectors. It was not used anyway.
50641
09fc77a7 506422005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50643
50644 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50645 `unused parameter' warning.
50646
003789c7 506472005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50648
50649 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50650 function.
50651 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50652 getcharwidth.
50653
67f44c86 506542005-08-28 Marco Gerards <metgerards@student.han.nl>
50655
50656 * include/grub/normal.h (enum grub_completion_type): Added
50657 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50658
50659 * normal/cmdline.c (print_completion): Handle
50660 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50661 * normal/menu_entry.c (store_completion): Likewise.
50662
50663 * normal/completion.c (complete_arguments): New function.
50664 (grub_normal_do_completion): Call `complete_arguments' when the
50665 current words start with a dash.
50666
0b5abe02 506672005-08-27 Marco Gerards <metgerards@student.han.nl>
50668
50669 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50670 `gzio.mod' instead of `io.mod').
50671
d9864ee1 506722005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50673
50674 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50675 (DISTDIRS): Added io and video.
50676 Rewrite the search routine to make an output consistently.
50677
50678 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50679 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50680 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50681 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50682 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50683 util/powerpc/ieee1275/misc.c.
f19dbdb7 50684
d9864ee1 50685 * include/grub/gzio.h: New file.
50686 * io/gzio.c: Likewise.
f19dbdb7 50687
d9864ee1 50688 * kern/file.c (grub_file_close): Call grub_device_close only if
50689 FILE->DEVICE is not NULL.
50690
50691 * include/grub/mm.h [!NULL] (NULL): New macro.
50692
50693 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50694
50695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50696 (pkgdata_MODULES): Added gzio.mod.
50697 (gzio_mod_SOURCES): New variable.
50698 (gzio_mod_CFLAGS): Likewise.
50699
50700 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50701 (pkgdata_MODULES): Added gzio.mod.
50702 (gzio_mod_SOURCES): New variable.
50703 (gzio_mod_CFLAGS): Likewise.
50704
50705 * commands/cat.c: Include grub/gzio.h.
50706 (grub_cmd_cat): Use grub_gzfile_open instead of
50707 grub_file_open.
f19dbdb7 50708
d9864ee1 50709 * commands/cmp.c: Include grub/gzio.h.
50710 (grub_cmd_cmp): Use grub_gzfile_open instead of
50711 grub_file_open.
50712
50713 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50714 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50715 grub_file_open.
50716 (grub_rescue_cmd_module): Likewise.
50717
fa46f4b5 507182005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50719
50720 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50721 kern/sparc64/ieee1275/init.c because it contains _start.
50722 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50723
e9211b5d 507242005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50725
50726 * configure.ac: Add support for sparc64 host with ieee1275
50727 firmware.
50728 * configure: Generated from configure.ac.
50729 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50730 instead of int.
50731 (grub_ofdisk_read): Likewise.
50732 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50733 pointers as (void *) to remove a warning.
50734 (grub_ofdisk_close): Likewise.
50735 (grub_ofdisk_read): Likewise.
50736 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50737 returns, so make it return void to remove a warning.
50738 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50739 Corresponding prototype change.
50740 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50741 values, and cast the pointers as (void *) to remove a warning.
50742 (grub_mm_dump): Likewise.
50743 * conf/sparc64-ieee1275.mk: New file.
50744 * conf/sparc64-ieee1275.rmk: Likewise.
50745 * include/grub/sparc64/setjmp.h: Likewise.
50746 * include/grub/sparc64/types.h: Likewise.
50747 * include/grub/sparc64/ieee1275/console.h: Likewise.
50748 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50749 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50750 * include/grub/sparc64/ieee1275/time.h: Likewise.
50751 * kern/sparc64/cache.c: Likewise.
50752 * kern/sparc64/dl.c: Likewise.
50753 * kern/sparc64/ieee1275/init.c: Likewise.
50754 * kern/sparc64/ieee1275/openfw.c: Likewise.
50755
385c6a92 507562005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50757
50758 * util/console.c (grub_ncurses_putchar): If C is greater than
50759 0x7f, set C to a question mark.
50760 (grub_ncurses_getcharwidth): New function.
50761 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50762 getcharwidth.
50763
50764 * normal/menu.c (print_entry): Made aware of Unicode. First,
50765 convert TITLE to UCS-4, and predict the cursor position by
50766 grub_getcharwidth.
50767
50768 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50769 const to SRC.
50770 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50771
16ccb8b1 507722005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50773
50774 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50775 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50776 grub_strcat.
50777
50778 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50779 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50780 grub_strcpy and grub_strlen. Take it into account that a space
50781 character is inserted as a delimiter.
50782
6a85ce79 507832005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50784
50785 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50786 invalid magic in the error.
6a85ce79 50787
50788 * commands/search.c: New file.
f19dbdb7 50789
6a85ce79 50790 * util/grub-emu.c (main): Call grub_search_init and
50791 grub_search_fini.
50792
50793 * kern/rescue.c (grub_rescue_print_disks): Removed.
50794 (grub_rescue_print_devices): New function.
50795 (grub_rescue_cmd_ls): Use grub_device_iterate with
50796 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50797 grub_rescue_print_disks.
50798
50799 * kern/partition.c (grub_partition_iterate): Return the result of
50800 PARTMAP->ITERATE instead of GRUB_ERRNO.
50801
50802 * kern/device.c: Include grub/partition.h.
50803 (grub_device_iterate): New function.
50804
50805 * include/grub/partition.h (grub_partition_iterate): Return int
50806 instead of grub_err_t.
50807
50808 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50809 prototype.
50810 [GRUB_UTIL] (grub_search_fini): Likewise.
50811
50812 * include/grub/device.h (grub_device_iterate): New prototype.
50813
50814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50815 commands/search.c.
50816 (pkgdata_MODULES): Added search.mod.
50817 (search_mod_SOURCES): New variable.
50818 (search_mod_CFLAGS): Likewise.
50819
50820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50821 (pkgdata_MODULES): Added search.mod.
50822 (search_mod_SOURCES): New variable.
50823 (search_mod_CFLAGS): Likewise.
50824
50825 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50826 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50827 All callers changed.
50828
50829 * DISTLIST: Added commands/search.c.
50830
ef095434 508312005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50832
50833 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50834 conversion.
50835 (grub_getcharwidth): New function.
50836
50837 * kern/misc.c (grub_utf8_to_ucs4): New function.
50838
50839 * include/grub/term.h (struct grub_term): Added a new member
50840 "getcharwidth".
50841 (grub_getcharwidth): New prototype.
50842
50843 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50844
50845 * term/i386/pc/console.c (map_char): New function. Segregated from
50846 grub_console_putchar.
50847 (grub_console_putchar): Use map_char.
50848 (grub_console_getcharwidth): New function.
50849 (grub_console_term): Specified grub_console_getcharwidth as
50850 getcharwidth.
50851
50852 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50853 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50854
50855 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50856 GRUB_ERRNO.
50857 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50858 on grub_strtoul completely.
50859 (write_char): Declare local variables in the beginning of the
50860 function.
50861 (grub_vesafb_getcharwidth): New function.
50862 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50863 getcharwidth.
50864
1f0a95e4 508652005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50866
50867 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50868 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50869 commands/i386/pc/vbetest.c.
50870
50871 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50872 call grub_vbe_get_controller_info again, because the returned
50873 information is volatile.
50874 (grub_vbe_set_video_mode): Mostly rewritten.
50875 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50876 grub_vbe_status_t correctly.
50877 (grub_vbe_get_video_mode_info): Likewise.
50878 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50879 several if statements.
50880
50881 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50882 * commands/i386/pc/vbeinfo.c: ... this.
50883
50884 * commands/i386/pc/vbe_test.c: Renamed to ...
50885 * commands/i386/pc/vbetest.c: ... this.
50886
50887 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50888 ...
50889 (grub_cmd_vbeinfo): ... this. Save video modes before
50890 iterating. Skip a video mode, if it is not available, not enough
50891 information is given or it is monochrome. Show the memory
50892 model. Leave the interpretation of MODEVAR to grub_strtoul
50893 completely.
50894 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50895 (GRUB_MOD_FINI): Likewise.
50896
50897 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50898 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50899 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50900 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50901 grub_strtoul completely.
50902 (real2pm): Removed.
50903 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50904 (GRUB_MOD_FINI): Likewise.
50905
50906 * normal/misc.c: Include grub/mm.h.
50907
50908 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50909 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50910 (vbe_list_modes_mod_SOURCES): Removed.
50911 (vbe_list_modes_mod_CFLAGS): Likewise.
50912 (vbe_test_mod_SOURCES): Likewise.
50913 (vbe_test_mod_CFLAGS): Likewise.
50914 (vbeinfo_mod_SOURCES): New variable.
50915 (vbeinfo_mod_CFLAGS): Likewise.
50916 (vbetest_mod_SOURCES): Likewise.
50917 (vbetest_mod_CFLAGS): Likewise.
50918
992ffbbe 509192005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50920
50921 * normal/misc.c: New file.
50922
50923 * DISTLIST: Added normal/misc.c.
f19dbdb7 50924
992ffbbe 50925 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50926 DISK to HOOK. Call HOOK with DISK.
50927 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50928 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50929 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50930
50931 * normal/menu_entry.c (struct screen): Added a new member
50932 "completion_shown".
50933 (completion_buffer): New global variable.
50934 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50935 (store_completion): New function.
50936 (complete): Likewise.
50937 (clear_completions): Likewise.
50938 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50939 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50940 a tab, call complete.
50941
50942 * normal/completion.c (disk_dev): Removed.
50943 (print_simple_completion): Likewise.
50944 (print_partition_completion): Likewise.
50945 (print_func): New global variable.
50946 (add_completion): Do not take the arguments WHAT or PRINT any
50947 longer. Added a new argument TYPE. Instead of printing directly,
50948 call PRINT_FUNC if not NULL.
50949 All callers changed.
50950 (complete_device): Use a local variable DEV instead of
50951 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50952 (grub_normal_do_completion): Take a new argument HOOK. Do not
50953 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50954 empty string, return NULL instead.
50955 All callers changed.
50956
50957 * normal/cmdline.c (print_completion): New function.
50958
50959 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50960 to HOOK.
50961 All callers changed.
50962
50963 * kern/disk.c (grub_print_partinfo): Removed.
50964
50965 * include/grub/partition.h (struct grub_partition_map): Add a new
50966 argument DISK into HOOK of ITERATE.
50967 (grub_partition_iterate): Add a new argument DISK to HOOK.
50968
50969 * include/grub/normal.h (enum grub_completion_type): New enum.
50970 (grub_completion_type_t): New type.
50971 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50972 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50973 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50974 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50975 (grub_normal_do_completion): Added a new argument HOOK.
50976 (grub_normal_print_device_info): New prototype.
50977
50978 * include/grub/disk.h (grub_print_partinfo): Removed.
50979
50980 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50981 (normal_mod_SOURCES): Likewise.
50982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50983 (normal_mod_SOURCES): Likewise.
50984
50985 * commands/ls.c (grub_ls_list_disks): Use
50986 grub_normal_print_device_info instead of grub_print_partinfo. Free
50987 PNAME.
50988 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50989 duplicating the code.
50990
0bd41162 509912005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50992
50993 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50994 follow GCS more precisely.
50995 * commands/i386/pc/vbe_test.c: Likewise.
50996 * include/grub/i386/pc/vbe.h: Likewise.
50997 * term/i386/pc/vesafb.c: Likewise.
50998 * video/i386/pc/vbe.c: Likewise.
0bd41162 50999
6323696a 510002005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51001
51002 * DISTLIST: Added term/i386/pc/vesafb.c
51003 DISTLIST: Added video/i386/pc/vbe.c
51004 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51005 DISTLIST: Added commands/i386/pc/vbe_test.c.
51006 * commands/i386/pc/vbe_list_modes.c: New file.
51007 * commands/i386/pc/vbe_test.c: Likewise.
51008 * term/i386/pc/vesafb.c: Likewise.
51009 * video/i386/pc/vbe.c: Likewise.
51010 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51011 (grub_vbe_probe) Added prototype.
51012 (grub_vbe_set_video_mode) Likewise.
51013 (grub_vbe_get_video_mode) Likewise.
51014 (grub_vbe_get_video_mode_info) Likewise.
51015 (grub_vbe_set_pixel_rgb) Likewise.
51016 (grub_vbe_set_pixel_index) Likewise.
51017 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51018 (pkgdata_MODULES): Added vesafb.mod.
51019 (pkgdata_MODULES): Added vbe_list_modes.mod.
51020 (pkgdata_MODULES): Added vbe_test.mod.
51021 (vbe_mod_SOURCES): Added.
51022 (vbe_mod_CFLAGS): Likewise.
51023 (vesafb_mod_SOURCES): Likewise.
51024 (vesafb_mod_CFLAGS): Likewise.
51025 (vbe_list_modes_mod_SOURCES): Likewise.
51026 (vbe_list_modes_mod_CFLAGS): Likewise.
51027 (vbe_test_mod_SOURCES): Likewise.
51028 (vbe_test_mod_CFLAGS): Likewise.
51029
0a74e62f 510302005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51031
0a74e62f 51032 * normal/command.c (grub_command_execute): If INTERACTIVE is
51033 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51034 CMDLINE. Disable the pager if INTERACTIVE is true.
51035 All callers are changed.
51036
51037 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51038 before reading a config file.
51039 * normal/main.c (read_config_file): Even if a command is not
51040 found, register it if it is within an entry.
51041
51042 * util/grub-emu.c: Include sys/types.h and unistd.h.
51043 (options): Added --hold.
51044 (struct arguments): Added a new member "hold".
51045 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51046 missing.
51047 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51048 cleared by a debugger, if it is not zero.
51049
51050 * include/grub/normal.h (grub_command_execute): Add an argument
51051 INTERACTIVE.
51052
e51f85ae 510532005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51054
51055 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51056
e9c6f39b 510572005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51058
51059 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51060 program with another one, because the old one didn't detect a bug
51061 in gcc-3.4. Always use regparm 2, because the new test is still
51062 not enough for gcc-4.0. Someone must investigate a simple test
51063 case which detects a bug in gcc-4.0.
51064
8de3495c 510652005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51066
51067 * DISTLIST: Added normal/completion.c.
51068
51069 * normal/completion.c: New file.
f19dbdb7 51070
8de3495c 51071 * term/i386/pc/console.c (grub_console_getwh): New function.
51072 (grub_console_term): Assign grub_console_getwh to getwh.
51073
51074 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51075 function is defined in normal/completion.c as
51076 grub_normal_do_completion.
51077 (grub_cmdline_get): Use grub_normal_do_completion instead of
51078 grub_tab_complete.
51079
51080 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51081 returns non-zero, otherwise return 0.
51082 (grub_partition_iterate): First, probe the partition map. Then,
51083 call ITERATE only for this partition map.
51084
51085 * kern/misc.c (grub_strncmp): Rewritten.
51086
51087 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51088 returns non-zero. Otherwise return 0.
51089
51090 * include/grub/partition.h (grub_partition_map_iterate): Return
51091 int instead of void.
51092
51093 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51094
51095 * include/grub/misc.h (grub_strncmp): Change the type of N to
51096 grub_size_t.
51097
51098 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51099 of void.
51100
51101 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51102 unsigned explicitly before comparing it with I.
8de3495c 51103
51104 * kern/main.c (grub_env_write_root): Add the attribute unused into
51105 VAR.
51106
51107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51108 normal/completion.c.
51109 (normal_mod_SOURCES): Likewise.
51110 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51111 (normal_mod_SOURCES): Likewise.
51112
51113 * normal/command.c (grub_iterate_commands): If ITERATE returns
51114 non-zero, return one immediately.
51115
e85e144b 511162005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51117
51118 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51119 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51120 descriptions.
51121 (grub_vbe_get_controller_info): New function.
51122 (grub_vbe_get_mode_info): Likewise.
51123 (grub_vbe_set_mode): Likewise.
51124 (grub_vbe_get_mode): Likewise.
51125 (grub_vbe_set_memory_window): Likewise.
51126 (grub_vbe_get_memory_window): Likewise.
51127 (grub_vbe_set_scanline_length): Likewise.
51128 (grub_vbe_get_scanline_length): Likewise.
51129 (grub_vbe_set_display_start): Likewise.
51130 (grub_vbe_get_display_start): Likewise.
51131 (grub_vbe_set_palette_data): Likewise.
51132 * include/grub/i386/pc/vbe.h: New file.
51133
c46153d2 511342005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51135
51136 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51137 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51138 * DISTLIST: Likewise.
51139 * kern/ieee1275/of.c: Moved to ...
51140 * kern/ieee1275/ieee1275.c: ... here.
51141
0cb90c45 511422005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51143
51144 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51145 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51146 Pass 0 as `end' parameter to grub_strtoul().
51147
a19fb360 511482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51149
51150 * include/grub/powerpc/ieee1275/console.h: Do not include
51151 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51152 ifdef.
51153 (grub_console_cur_color): Remove i386-specific prototype.
51154 (grub_console_real_putchar): Likewise.
51155 (grub_console_checkkey): Likewise.
51156 (grub_console_getkey): Likewise.
51157 (grub_console_getxy): Likewise.
51158 (grub_console_gotoxy): Likewise.
51159 (grub_console_cls): Likewise.
51160 (grub_console_setcursor): Likewise.
51161 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51162 Include <grub/machine/console.h>.
51163 * term/ieee1275/ofconsole.c: Likewise.
51164
4ac9bd04 511652005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51166
51167 * Makefile.in (LIBLZO): New variable.
51168
51169 * configure.ac: Check for LZO version 2.
51170
51171 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51172 lzo/lzo1x.h instead of lzo1x.h.
51173
51174 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51175 of -llzo.
51176
51177 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51178 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51179
51180 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51181 copying the data from PARTITION to P.
51182
f4917dfd 511832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51184
51185 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51186 negative, unload the module.
51187
51188 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51189 map is "pc_partition_map" but not "pc".
51190 (usage): Fix the description. The options are --boot-image and
51191 --core-image but not --boot-file or --core-file.
51192 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51193 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51194 DEFAULT_DIRECTORY.
51195
51196 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51197 --core-file. Specify INSTALL_DEVICE as an argument.
51198
51199 * util/console.c: Include config.h.
51200 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51201 [HAVE_NCURSES_H]: Include ncurses.h.
51202 [HAVE_CURSES_H]: Include curses.h.
51203 [!A_NORMAL] (A_NORMAL): Defined as zero.
51204 [!A_STANDOUT] (A_STANDOUT): Likewise.
51205
51206 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51207 -lncurses.
51208 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51209
51210 * configure.ac: Check for curses libraries and headers.
51211
51212 * Makefile.in (LIBCURSES): New variable.
51213
51214 * genmk.rb (Script::rule): Set the executable bits.
51215
51216 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51217 name of the PC partition map is "pc_partition_map" but not "pc".
51218
0e143073 512192005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51220
51221 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51222 (modules): Likewise.
51223 (usage): Added descriptions for --modules and --grub-probefs.
51224 Handle --modules and --grub-probefs. Save the arguments in MODULES
51225 and GRUB_PROBEFS, respectively.
51226 Auto-detect a filesystem module against GRUBDIR. If the result is
51227 empty and modules are not specified explicitly, abort the
51228 installation. Add the result to MODULES.
51229
51230 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51231 disk/powerpc/ieee1275/ofdisk.c,
51232 include/grub/powerpc/ieee1275/init.h and
51233 term/powerpc/ieee1275/ofconsole.c.
51234 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51235 term/ieee1275/ofconsole.c.
51236
51237 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51238
51239 * COPYING: Upgraded to the latest version. Only the address of the
51240 FSF office has changed.
f19dbdb7 51241
efd6e6d5 512422005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51243
51244 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51245 kern/ieee1275.c with kern/ieee1275/of.c.
51246
51247 * kern/ieee1275.c: Moved to ...
51248 * kern/ieee1275/of.c: ... here.
51249
8ceafda2 512502005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51251
51252 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51253 readability.
8ceafda2 51254
51255 * config.guess: Updated to the latest version from gnulib.
51256 * config.sub: Likewise.
51257 * install.sh: Likewise.
51258 * mkinstalldirs: Likewise.
51259
51260 * include/grub/console.h: Removed. This file is arch-specific. Do
51261 not put this in include/grub.
51262
51263 * include/grub/i386/pc/console.h: Resurrected.
51264
51265 * util/console.c: Include grub/machine/console.h instead of
51266 grub/console.h.
51267 * util/grub-emu.c: Likewise.
51268
267f6cd9 512692005-08-04 Marco Gerards <metgerards@student.han.nl>
51270
51271 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51272 hardcoded value.
f19dbdb7 51273
267f6cd9 51274 From Vincent Pelletier <subdino2004@yahoo.fr>
51275 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51276 Redefined to use grub_getwh.
51277 (grub_term): New member named getwh.
51278 (grub_getwh): New prototype.
51279 * kern/term.c (grub_getwh): New function.
51280 * term/i386/pc/console.c (grub_console_getwh): New function.
51281 (grub_console_term): New member `getwh'.
51282 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51283 (grub_vga_term): New member `getwh'.
0b5abe02 51284 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51285 grub_ssize_t.
51286 (grub_ofconsole_getw): New function.
51287 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51288 (grub_ofconsole_term): New field named getwh and new initial
51289 value.
51290
3be7266d 512912005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51292
51293 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51294 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51295 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51296 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51297 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51298 of <grub/machine/ieee1275.h>.
51299 * commands/ieee1275/reboot.c: Likewise.
51300 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51301 * kern/ieee1275.c: ... to here. All users updated. Change all
51302 parameter structs to use new type `grub_ieee1275_cell_t'.
51303 * term/powerpc/ieee1275/ofconsole.c: Move ...
51304 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51305 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51306 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51307 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51308 to return int.
51309 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51310 Remove unused prototypes. All users updated.
51311 * include/grub/powerpc/ieee1275/console.h: Removed.
51312 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51313 `grub_ieee1275_cell_t'.
51314 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51315 Cast comparisons with -1 to the correct type.
51316 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51317 type to match `grub_ieee1275_entry_fn'.
51318
8b5f3938 513192005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51320
51321 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51322
51323 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51324 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51325 partmap/sun.c.
51326 (grub_probefs_SOURCES): New variable.
51327
51328 * util/i386/pc/grub-probefs.c: New file.
51329
51330 * util/i386/pc/grub-setup.c (main): Call
51331 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51332 grub_hfs_init and grub_jfs_init to initialize the system. Call
51333 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51334 grub_pc_partition_map_fini to finish the system.
51335
ea409713 513362005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51337
51338 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51339 function.
51340 (grub_multiboot_load_elf32): Likewise.
51341 (grub_multiboot_is_elf64): Likewise.
51342 (grub_multiboot_load_elf64): Likewise.
51343 (grub_multiboot_load_elf): Likewise.
51344 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51345 an ELF32 or ELF64 file.
51346 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51347
51348 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51349 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51350 NULL before calling FS->LABEL.
51351 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51352 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51353 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51354 before calling FS->LABEL.
51355
141a288b 513562005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51357
51358 * util/i386/pc/grub-install.in (datadir): New variable.
51359 (libdir): Removed.
51360 (pkgdatadir): New variable.
51361 (pkglibdir): Removed.
51362
0d5f8a54 513632005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51364
51365 * DISTLIST: Added util/i386/pc/grub-install.in.
51366
51367 * util/i386/pc/grub-install.in: New file.
51368
51369 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51370 (grub_install_SOURCES): Likewise.
51371
51372 * genmk.rb: Added support for scripts.
51373 (Script): New class.
51374 (scripts): New variable.
51375
51376 * Makefile.in (install-local): Install sbin_SCRIPTS by
51377 INSTALL_SCRIPT.
51378 (uninstall): Remove sbin_SCRIPTS.
51379
51380 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51381 device, try to get a GRUB device by
51382 grub_util_biosdisk_get_grub_dev.
51383 Free DEST_DEV.
51384
51385 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51386 description for --device-map.
51387
5f968e1e 513882005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51389
51390 Change the semantics of variable hooks. They now return strings
51391 instead of error values.
f19dbdb7 51392
5f968e1e 51393 * util/i386/pc/grub-setup.c: Include grub/env.h.
51394 (setup): Use grub_device_set_root instead of grub_env_set.
51395
51396 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51397 grub_env_get instead of grub_device_set_root and
51398 grub_device_get_root, respectively.
51399
51400 * kern/main.c (grub_env_write_root): New function.
51401 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51402 grub_env_set instead of grub_device_set_root.
51403
51404 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51405 many variables.
51406 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51407 rather than calling ENV->WRITE_HOOK afterwards.
51408 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51409 passing a pointer of a pointer.
51410 (grub_register_variable_hook): Change the types of "read_hook" and
51411 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51412 respectively.
51413 Allocate the default empty string on the heap, because this string
51414 may be freed later.
51415
51416 * kern/device.c: Include grub/env.h.
51417 (grub_device_set_root): Removed.
51418 (grub_device_get_root): Likewise.
51419 (grub_device_open): Use grub_env_get instead of
51420 grub_device_get_root.
51421
51422 * include/grub/env.h (grub_env_read_hook_t): New type.
51423 (grub_env_write_hook_t): Likewise.
51424 (grub_env_var): Change the types of "read_hook" and "write_hook"
51425 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51426 (grub_register_variable_hook): Likewise.
51427
51428 * include/grub/device.h (grub_device_set_root): Removed.
51429 (grub_device_set_root): Likewise.
51430
51431 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51432 make sure that DIRNAME terminates with '/', so that
51433 grub_fat_find_dir will fail if PATH is not a directory.
51434
51435 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51436 from DIRNAME.
51437 Use the qualifier auto for print_files and print_files_long.
51438 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51439 as a regular file.
51440 Put a newline only if there is no error.
51441 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51442 used.
51443
896f0afd 514442005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51445
51446 * kern/partition.c (grub_partition_probe): Initialize PART to
51447 NULL. Otherwise, when no partition map is registered, this returns
51448 a garbage.
51449
b28b81b2 514502005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51451
51452 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51453 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51454 valid.
51455
5f3607e0 514562005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51457
51458 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51459 information on each device, if it does not have partitions. Print
51460 "Device" instead of "Disk", because this function is not specific
51461 to disk devices.
51462
51463 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51464 static to ensure that it is put on the memory rather than a
51465 register.
51466
502c87e8 514672005-07-17 Yoshinori Okuji <okuji@enbug.org>
51468
51469 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51470 (grub_cat_init): Likewise.
51471 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51472 (options): Likewise.
51473 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51474 (grub_configfile_init): Likewise.
51475 * font/manager.c (GRUB_MOD_INIT): Likewise.
51476 * commands/help.c (GRUB_MOD_INIT): Likewise.
51477 (grub_help_init): Likewise.
51478 * normal/command.c (grub_command_init): Likewise.
51479 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51480 * disk/loopback.c (grub_loop_init): Likewise.
51481 (GRUB_MOD_INIT): Likewise.
51482 * commands/ls.c (grub_ls_init): Likewise.
51483 (GRUB_MOD_INIT): Likewise.
51484 (options): Likewise.
51485 * commands/boot.c (grub_boot_init): Likewise.
51486 (GRUB_MOD_INIT): Likewise.
51487 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51488 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51489 (GRUB_MOD_INIT): Likewise.
51490 * commands/cmp.c (grub_cmp_init): Likewise.
51491 (GRUB_MOD_INIT): Likewise.
51492
51493 * normal/arg.c: Use <> instead of "" to include header files.
51494 (SHORT_ARG_HELP): New macro.
51495 (SHORT_ARG_USAGE): Likewise.
51496 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51497 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51498 descriptions.
51499 (find_short): Check if C is 'h' or 'u' explicitly.
51500 (grub_arg_show_help): Use space characters instead of tabs. Treat
51501 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51502 are shown with --help and --usage only if they are not used for
51503 the command itself.
51504 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51505 'h' and 'u'.
51506
51507 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51508 const into "longarg". Change the type of "shortarg" to int.
51509
f806d18e 515102005-07-17 Yoshinori Okuji <okuji@enbug.org>
51511
51512 * boot/i386/pc/boot.S (boot_drive_check): New label.
51513
51514 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51515 macro.
51516
51517 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51518 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51519
e293232b 515202005-07-17 Yoshinori Okuji <okuji@enbug.org>
51521
51522 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51523 When turning off Gate A20, skip the check and return immediately,
51524 because this is not fatal usually.
51525
ebedfd00 515262005-07-17 Yoshinori Okuji <okuji@enbug.org>
51527
51528 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51529 be 0x7C00 instead of 0x8000.
51530
51531 * boot/i386/pc/pxeboot.S: Rewritten.
51532
51533 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51534 EXT_C.
51535 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51536 result.
51537
654fc59f 515382005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51539
51540 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51541 robustness. This routine now supports a BIOS call and System
51542 Control Port A to modify the gate A20.
51543
51544 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51545 Increased to 0x440.
51546
09f9923f 515472005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51548
51549 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51550 device path and resulting ihandle.
51551 (grub_ofdisk_close): dprintf the ihandle being closed.
51552 (grub_ofdisk_read): dprintf function parameters.
51553 * kern/mm.c (grub_mm_init_region): Likewise.
51554 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51555 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51556 size, and boot arguments.
51557 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51558 before loading into memory.
51559 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51560 before loading into memory.
51561
7ef504d8 515622005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51563
51564 * kern/mm.c: Added much documentation.
51565 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51566 8, set to 5 instead of 8.
51567
e0f050c2 515682005-07-10 Yoshinori Okuji <okuji@enbug.org>
51569
51570 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51571
51572 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51573 (grub_mkdevicemap_SOURCES): New variable.
51574
51575 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51576 lib/device.c of GRUB Legacy.
51577
7224189a 515782005-07-10 Yoshinori Okuji <okuji@enbug.org>
51579
51580 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51581 instead of PATH is NULL.
51582
68c864eb 515832005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51584
51585 * commands/cmp.c (BUFFER_SIZE): New macro.
51586 (grub_cmd_cmp): Close the right file at the right time. Compare
51587 only data just read. Don't report files of different size as
51588 identical. Dynamically allocate buffers. Move variable
51589 declarations at the beginning of function.
51590
e6f3e614 515912005-07-09 Yoshinori Okuji <okuji@enbug.org>
51592
51593 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51594 reverse.
51595
f8f1559a 515962004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51597
51598 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51599 when backspace is pressed at beginning of line.
51600
39c9d41d 516012005-07-03 Yoshinori Okuji <okuji@enbug.org>
51602
51603 * DISTLIST: Added genfslist.sh.
51604
51605 * normal/main.c (fs_module_list): New variable.
51606 (autoload_fs_module): New function.
51607 (read_fs_list): Likewise.
51608 (grub_normal_execute): Call read_fs_list.
51609
51610 * kern/fs.c (grub_fs_autoload_hook): New variable.
51611 (grub_fs_probe): Added support for auto-loading.
51612
51613 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51614 (grub_fs_module_list_t): New type.
51615
51616 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51617 (grub_fs_autoload_hook): New prototype.
51618
51619 * genfslist.sh: New file.
f19dbdb7 51620
39c9d41d 51621 * genmk.rb: Added a rule to generate a filesystem list.
51622
121c1d83 516232005-06-30 Marco Gerards <metgerards@student.han.nl>
51624
51625 * configure.ac: Fix the test for cross-compiling.
51626
51627 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51628 define GRUB_UTIL anymore.
51629
51630 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51631 so this function works on other systems than just big endian.
51632 (load_modules): Likewise.
51633 (add_segments): Likewise.
51634
e75d76e1 516352005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51636
51637 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51638 contains `l' modifier, get a long from va_arg().
51639
50b5a0a7 516402005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51641
51642 * kern/mm.c (grub_free): If the next free block which is being
51643 merged is the first free block, set the first block to the block
51644 being freed.
51645 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51646
89371b20 516472005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51648
51649 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51650 `grub_ieee1275_chosen'.
51651
168d6e58 516522005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51653
51654 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51655 (grub_ieee1275_chosen): New variable.
51656 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51657 `chosen'.
51658 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51659 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51660 Rename first argument to `phandle' for consistency.
51661 (grub_ieee1275_get_property_length): Likewise.
51662 (grub_ieee1275_next_property): Likewise. Change type of first argument
51663 to grub_ieee1275_phandle_t.
51664 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51665 Move export next to declaration.
51666 (grub_ieee1275_chosen): New variable.
51667 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51668 Correct cosmetic typo.
51669 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51670 `grub_ieee1275_chosen'.
51671 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51672 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51673 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51674 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51675 `grub_ieee1275_chosen'.
51676
ca5baa3f 516772005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51678
51679 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51680 /chosen/bootargs.
51681 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51682 /chosen/bootargs as "variable=value" pairs.
51683
708b345f 516842005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51685
51686 * include/grub/misc.h (grub_dprintf): New macro.
51687 (grub_real_dprintf): New prototype.
51688 (grub_strword): Likewise.
51689 (grub_iswordseparator): Likewise.
51690 * kern/misc.c (grub_real_dprintf): New function.
51691 (grub_strword): Likewise.
51692 (grub_iswordseparator): Likewise.
51693
f4c5e67c 516942005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51695
51696 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51697 (roundup): Remove macro.
51698 (grub_ieee1275_flags): Make static.
51699 (grub_ieee1275_realmode): Remove.
51700 (grub_ieee1275_test_flag): New function.
51701 (grub_ieee1275_set_flag): Likewise.
51702 (find_options): Rename to `grub_ieee1275_find_options'; update
51703 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51704 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51705 (cmain): New prototype.
51706 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51707 `grub_ieee1275_flags' directly.
51708 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51709 machine/biosdisk.h.
51710 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51711 Don't include grub/machine/init.h.
51712 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51713 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51714 Remove prototype.
51715 (grub_ieee1275_realmode): Likewise.
51716 (grub_ieee1275_flag): New enum.
51717 (grub_ieee1275_test_flag): New prototype.
51718 (grub_ieee1275_set_flag): New prototype.
51719 * include/grub/powerpc/ieee1275/init.h: Remove file.
51720 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51721 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51722 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51723 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51724 comment.
51725 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51726 `grub_ieee1275_test_flag'.
51727 (grub_ieee1275_encode_devname): Likewise.
51728
ed16607e 517292005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51730
51731 * include/grub/powerpc/ieee1275/ieee1275.h
51732 (grub_ieee1275_encode_devname): New prototype.
51733 (grub_ieee1275_get_filename): Likewise.
51734 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51735 function.
51736 (grub_set_prefix): Likewise.
51737 (grub_machine_init): Call grub_set_prefix.
51738 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51739 (grub_parse_type): New enum.
51740 (grub_ieee1275_get_devargs): New function.
51741 (grub_ieee1275_get_devname): Likewise.
51742 (grub_ieee1275_parse_args): Likewise.
51743 (grub_ieee1275_get_filename): Likewise.
51744 (grub_ieee1275_encode_devname): Likewise.
51745
be369920 517462005-03-30 Marco Gerards <metgerards@student.han.nl>
51747
51748 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51749 `grub_loader_unset'.
51750
a5ce3a4a 517512005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51752
51753 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51754 instead of grub_ieee1275_interpret.
51755 (grub_halt_init): New function.
51756 (grub_halt_fini): Likewise.
51757 (GRUB_MOD_INIT): Correct message grammar.
51758 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51759 instead of grub_ieee1275_interpret.
51760 (grub_reboot_init): New function.
51761 (grub_reboot_fini): Likewise.
51762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51763 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51764 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51765 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51766 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51767 function.
51768 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51769 Add prototype.
51770 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51771 prototype.
51772 (grub_halt): Likewise.
51773 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51774 (cmain): Remove __attribute__((unused)).
51775 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51776 (grub_heap_len): Likewise.
51777 (grub_machine_fini): New function.
51778 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51779 (grub_halt): Likewise.
51780 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51781 function.
51782 * util/powerpc/ieee1275/misc.c: New file.
51783
0058f771 517842005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51785
51786 * DISTLIST: New file.
51787 * gendistlist.sh: Likewise.
f19dbdb7 51788
0058f771 51789 * Makefile.in (COMMON_DISTFILES): Removed.
51790 (BOOT_DISTFILES): Likewise.
51791 (CONF_DISTFILES): Likewise.
51792 (DISK_DISTFILES): Likewise.
51793 (FS_DISTFILES): Likewise.
51794 (INCLUDE_DISTFILES): Likewise.
51795 (KERN_DISTFILES): Likewise.
51796 (LOADER_DISTFILES): Likewise.
51797 (TERM_DISTFILES): Likewise.
51798 (UTIL_DISTFILES): Likewise.
51799 (DISTFILES): Likewise.
51800 (uninstall): Uninstall files in $(pkgdata_DATA).
51801 (DISTLIST): New target.
51802 (distdir): Use the contents of the file DISTLIST to get a list of
51803 distributed files.
51804
46b3b8a5 518052005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51806
51807 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51808 descriptor. This is ported from GRUB Legacy.
51809
51810 * gencmdlist.sh: Added an extra semicolon to make it work with
51811 old sed versions. Reported by Robert Bihlmeyer
51812 <robbe@orcus.priv.at>.
51813
5822ff87 518142005-03-08 Yoshinori Okuji <okuji@enbug.org>
51815
51816 Automatic loading of commands is supported.
f19dbdb7 51817
5822ff87 51818 * normal/main.c (read_command_list): New function.
51819 (grub_normal_execute): Call read_command_list.
51820
51821 * normal/command.c (grub_register_command): Return zero or CMD.
51822 Allocate CMD->NAME from the heap.
51823 Initialize CMD->MODULE_NAME to zero.
51824 Find the same name as well. If the same command is found and it is
51825 a dummy command, overwrite members. If it is not a dummy command,
51826 return zero.
51827 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51828 (grub_command_find): If a dummy command is found, load a module
51829 and retry to find a command only once.
51830
51831 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51832 make sure that each command is loaded.
51833
51834 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51835 macro.
51836 (struct grub_command): Remove const from the member `name'.
51837 Add a new member `module_name'.
51838 (grub_register_command): Return grub_command_t.
51839
51840 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51841 sure that each command is loaded.
51842
51843 * genmk.rb (PModule::rule): Specify a module name without the
51844 suffix ".mod" to gencmdlist.sh.
51845
7b1f4b57 518462005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51847
51848 * gencmdlist.sh: New file.
f19dbdb7 51849
7b1f4b57 51850 * genmk.rb (PModule::rule): Generate a rule for a command list.
51851 Clean command.lst.
51852 Generate command.lst from $(COMMANDFILES).
51853
51854 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51855 (DATA): Added $(pkgdata_DATA).
51856 (install-local): Install files in $(pkgdata_DATA).
51857
062aaf39 518582005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51859
51860 * term/i386/pc/vga.c (debug_command): Removed.
51861 (GRUB_MOD_INIT): Do not register the command "debug".
51862
51863 From Hollis Blanchard:
51864 * commands/configfile.c: New file.
51865 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51866 commands/configfile.c.
51867 (pkgdata_MODULES): Added configfile.mod.
51868 (configfile_mod_SOURCES): New variable.
51869 (configfile_mod_CFLAGS): Likewise.
51870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51871 commands/configfile.c.
51872 (pkgdata_MODULES): Added configfile.mod.
51873 (configfile_mod_SOURCES): New variable.
51874 (configfile_mod_CFLAGS): Likewise.
51875 * util/grub-emu.c (main): Call grub_configfile_init and
51876 grub_configfile_fini.
51877 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51878 prototype.
51879 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51880
cee01aa6 518812005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51882
51883 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51884 address.
51885
51886 * commands/help.c (grub_cmd_help): Do not print newlines after
51887 the last command in print_command_help.
51888
93f3a1d8 518892005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51890
51891 * commands/default.h: New file.
51892 * commands/timeout.h: Likewise.
51893 * normal/context.c: Likewise.
f19dbdb7 51894
93f3a1d8 51895 * util/misc.c: Do not include sys/times.h.
51896 Include sys/time.h and grub/machine/time.h.
51897 (grub_get_rtc): Rewritten with gettimeofday.
51898
51899 * util/grub-emu.c (main): Call grub_default_init and
51900 grub_timeout_init before grub_normal_init, and call
51901 grub_timeout_fini and grub_default_fini after grub_main.
51902
51903 * util/console.c (grub_ncurses_checkkey): Return the read
51904 character or -1.
51905
51906 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51907 timeouts.
51908
51909 * normal/main.c (read_config_file): Push MENU. If this fails,
51910 print an error and wait for a user input.
51911 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51912 If a menu is empty or an error occurs, pop MENU.
51913 (grub_normal_execute): Pop and free MENU after grub_menu_run
51914 returns.
51915
51916 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51917
51918 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51919 include time.h.
51920 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51921 without GRUB_UTIL.
51922 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51923 time.h.
51924 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51925 without GRUB_UTIL.
51926
51927 * include/grub/normal.h (struct grub_menu_list): New struct.
51928 (grub_menu_list_t): New type.
51929 (struct grub_context): New struct.
51930 (grub_context_t): New type.
51931 (grub_register_command): Got rid of EXPORT_FUNC.
51932 (grub_unregister_command): Likewise.
51933 (grub_context_get): New prototype.
51934 (grub_context_get_current_menu): Likewise.
51935 (grub_context_push_menu): Likewise.
51936 (grub_context_pop_menu): Likewise.
51937 [GRUB_UTIL] (grub_default_init): Likewise.
51938 [GRUB_UTIL] (grub_default_fini): Likewise.
51939 [GRUB_UTIL] (grub_timeout_init): Likewise.
51940 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51941
51942 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51943 commands/timeout.c and normal/context.c.
51944 (pkgdata_MODULES): Added default.mod and timeout.mod.
51945 (normal_mod_SOURCES): Added normal/context.c.
51946 (default_mod_SOURCES): New variable.
51947 (default_mod_CFLAGS): Likewise.
51948 (timeout_mod_SOURCES): Likewise.
51949 (timeout_mod_CFLAGS): Likewise.
51950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51951 conf/i386-pc.rmk.
51952 (pkgdata_MODULES): Added default.mod and timeout.mod.
51953 (normal_mod_SOURCES): Added normal/context.c.
51954 (default_mod_SOURCES): New variable.
51955 (default_mod_CFLAGS): Likewise.
51956 (timeout_mod_SOURCES): Likewise.
51957 (timeout_mod_CFLAGS): Likewise.
51958
51959 * Makefile.in (all-local): Added $(MKFILES).
51960
4ed2e1dd 519612005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51962
51963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51964 (grub_emu_SOURCES): Likewise.
51965 (pkgdata_MODULES): Add `sun.mod'.
51966 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51968 `partmap/sun.c'.
51969 (pkgdata_MODULES): Add `sun.mod'.
51970 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51971 * include/grub/partition.h (grub_sun_partition_map_init): New
51972 prototype.
51973 (grub_sun_partition_map_fini): Likewise.
51974 * partmap/sun.c: New file.
51975 * util/grub-emu.c (main): Initialize and de-initialize the sun
51976 partitionmap support.
51977
4d4e372e 519782005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51979
51980 This implements an Emacs-like menu entry editor.
f19dbdb7 51981
4d4e372e 51982 * normal/menu_entry.c: New file.
f19dbdb7 51983
4d4e372e 51984 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51985 characters to ASCII.
51986 (saved_char): New variable.
51987 (grub_ncurses_checkkey): Rewritten completely.
51988 (grub_ncurses_getkey): Likewise.
51989 (grub_ncurses_init): Call raw instead of cbreak.
51990
51991 * normal/menu.c (print_entry): Do not put a space.
51992 (init_page): Renamed to ...
51993 (grub_menu_init_page): ... this. All callers changed.
51994 (edit_menu_entry): Removed.
51995 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51996
51997 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51998
51999 * kern/misc.c (grub_vprintf): Call grub_refresh.
52000
52001 * normal/menu.c (DISP_LEFT): Renamed to ...
52002 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52003 * normal/menu.c (DISP_UP): Renamed to ...
52004 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52005 * normal/menu.c (DISP_RIGHT): Renamed to ...
52006 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52007 * normal/menu.c (DISP_DOWN): Renamed to ...
52008 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52009 * normal/menu.c (DISP_HLINE): Renamed to ...
52010 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52011 * normal/menu.c (DISP_VLINE): Renamed to ...
52012 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52013 * normal/menu.c (DISP_UL): Renamed to ...
52014 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52015 * normal/menu.c (DISP_UR): Renamed to ...
52016 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52017 * normal/menu.c (DISP_LL): Renamed to ...
52018 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52019 * normal/menu.c (DISP_LR): Renamed to ...
52020 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52021 * normal/menu.c (TERM_WIDTH): Renamed to ...
52022 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52023 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52024 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52025 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52026 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52027 * normal/menu.c (TERM_MARGIN): Renamed to ...
52028 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52029 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52030 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52031 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52032 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52033 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52034 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52035 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52036 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52037 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52038 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52039 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52040 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52041 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52042 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52043 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52044 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52045 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52046 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52047 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52048 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52049 All callers changed.
52050
52051 * include/grub/normal.h: New prototype.
52052
52053 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52054 normal/menu_entry.c.
52055 (normal_mod_SOURCES): Likewise.
52056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52057 (normal_mod_SOURCES): Likewise.
52058
e6b92c8a 520592005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52060
52061 * include/grub/normal.h (grub_halt_init): New prototype.
52062 (grub_halt_fini): Likewise.
52063 (grub_reboot_init): Likewise.
52064 (grub_reboot_fini): Likewise.
52065
52066 * util/grub-emu.c: Include signal.h.
52067 (main_env): New global variable.
52068 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52069 catch C-c.
52070 (grub_machine_fini): New function.
52071 (main): Call grub_halt_init and grub_reboot_init before
52072 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52073 Call setjmp with MAIN_ENV to go back afterwards.
52074 Call grub_machine_fini right before return.
52075
52076 * include/grub/util/misc.h: Include setjmp.h.
52077 (main_env): New prototype.
52078
52079 * include/grub/kernel.h (grub_machine_fini): New prototype.
52080 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52081 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52082
52083 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52084 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52085 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52086
e6b92c8a 52087 * util/i386/pc/misc.c: New file.
f19dbdb7 52088
e6b92c8a 52089 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52090 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52091 commands/i386/pc/reboot.c.
52092
c642636f 520932005-02-14 Guillem Jover <guillem@hadrons.org>
52094
52095 * include/grub/dl.h (grub_dl_check_header): New prototype.
52096 (grub_arch_dl_check_header): Change return type to grub_err_t,
52097 remove size parameter and export function. Update all callers.
52098 * kern/dl.c (grub_dl_check_header): New function.
52099 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52100 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52101 are inside the core.
52102 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52103 independent ELF header checks.
52104 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52105 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52106 `grub_dl_check_header' instead of explicit checks. Check for the
52107 ELF type.
52108 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52109 `grub_dl_check_header' instead of explicit checks. Remove arch
52110 specific ELF header checks.
52111
e6b92c8a 52112 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52113 argument SIZE.
52114
5eabe94b 521152005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52116
52117 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52118 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52119
1b14a681 521202005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52121
52122 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52123 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52124 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52125 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52126 * partmap/amiga.c (amiga_partition_map_iterate): Return
52127 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52128 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52129
aca108aa 521302005-02-01 Guillem Jover <guillem@hadrons.org>
52131
52132 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52133 help info.
52134
c9f9c556 521352005-01-31 Marco Gerards <metgerards@student.han.nl>
52136
52137 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52138 Removed prototype.
52139 (grub_rescue_cmd_linux): New prototype.
52140 (grub_rescue_cmd_initrd): Likewise.
52141 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52142 `bi_rec'.
52143 (grub_linux_release_mem): Release the memory for the initrd.
52144 (grub_load_linux): Renamed from this...
52145 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52146 Changed `entry' not to be static. Loop over memory regions to
52147 find another one when the default fails.
52148 (grub_rescue_cmd_initrd): New function.
52149 (grub_linux_init): Remove function.
52150 (grub_linux_fini): Likewise.
52151 (GRUB_MOD_INIT): Register `initrd'.
52152 (GRUB_MOD_FINI): Unregister `initrd'.
52153 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52154 Function removed.
52155 (grub_linux_normal_fini): Likewise.
52156 (GRUB_MOD_INIT): Register `initrd'.
52157 (GRUB_MOD_FINI): Unregister `initrd'.
52158
990cf3aa 521592005-01-31 Marco Gerards <metgerards@student.han.nl>
52160
52161 * commands/help.c: New file.
52162 * normal/arg.c (show_help): Renamed to...
52163 (grub_arg_show_help): ... this.
52164 * commands/i386/pc/halt.c: New file.
52165 * commands/i386/pc/reboot.c: Likewise.
52166 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52167 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52168 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52169 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52170 variables.
52171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52172 `commands/help.c'.
52173 (pkgdata_MODULES): Add `help.mod'.
52174 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52175 * grub/i386/pc/init.h (grub_reboot): New prototype.
52176 (grub_halt): Likewise.
52177 * include/grub/normal.h (grub_arg_show_help): New prototype.
52178 (grub_help_init): Likewise.
52179 (grub_help_fini): Likewise.
52180 * util/grub-emu.c (main): Initialize and deinitialize the help
52181 command.
52182
52183 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52184
52185 * normal/command.c (grub_command_init): Fixed the description of
52186 the `set' and `unset' commands.
52187
521882005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52189
52190 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52191 function.
52192 * commands/ieee1275/halt.c: New file.
52193 * commands/ieee1275/reboot.c: Likewise.
52194 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52195 `__attribute__ ((unused))'. Some GCS related fixed.
52196 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52197 (grub_suspend_fini): Likewise.
52198 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52199 and `halt.mod'.
52200 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52201 (halt_mod_CFLAGS): New variables.
52202 * include/grub/powerpc/ieee1275/ieee1275.h
52203 (grub_ieee1275_interpret): New prototype.
52204
1ab09cc7 522052005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52206
52207 * include/grub/misc.h (memmove): New prototype.
52208 (memcpy): Likewise.
52209
8b8cbdb2 522102005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52211
52212 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52213 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52214
e3741a27 522152005-01-22 Marco Gerards <metgerards@student.han.nl>
52216
52217 * kern/misc.c (grub_strndup): Function rewritten.
52218
776bd780 522192005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52220
52221 * normal/menu.c (TERM_WIDTH): Macro redefined.
52222 (TERM_TOP_BORDER_Y): Likewise.
52223 (draw_border): Replaced while-loop by a for-loop. Make the number
52224 of lines consistent with the number of lines displayed in
52225 print_entries. Added a margin below the rectangle.
52226 (print_entry): Make the entry fit in the rectangle.
52227 (print_entries): Display the scroll arrows next to the right
52228 border.
52229
78026bce 522302005-01-21 Marco Gerards <metgerards@student.han.nl>
52231
52232 * fs/minix.c (grub_minix_find_file): Reserve more space for
52233 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52234 `grub_strncpy' to copy `path' into it.
52235
67bbaf0f 522362005-01-21 Marco Gerards <metgerards@student.han.nl>
52237
52238 Add the loopback device, a device via which files can be accessed
52239 as devices.
f19dbdb7 52240
67bbaf0f 52241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52242 (pkgdata_MODULES): Add loopback.mod.
52243 (loopback_mod_SOURCES): New variable.
52244 (loopback_mod_CFLAGS): Likewise.
52245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52246 `disk/loopback.c'.
52247 (pkgdata_MODULES): Add loopback.mod.
52248 (loopback_mod_SOURCES): New variable.
52249 (loopback_mod_CFLAGS): Likewise.
52250 * disk/loopback.c: new file.
52251 * include/grub/normal.h (grub_loop_init): New prototype.
52252 (grub_loop_fini): New prototype.
52253 * util/grub-emu.c (main): Initialize and de-initialize loopback
52254 support.
52255 * include/grub/disk.h (grub_disk_dev_id): Add
52256 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52257
6f1c18bd 522582005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52259
52260 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52261 function.
52262 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52263 (suspend_mod_SOURCES): New variable.
52264 (suspend_mod_CFLAGS): Likewise.
52265 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52266 New prototype.
52267 * commands/ieee1275/suspend.c: New file.
52268
b38551da 522692005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52270
52271 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52272 ((unused))' to `__attribute__ ((used))'.
b38551da 52273 (GRUB_MOD_FINI): Likewise.
52274 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52275 * genmk.rb (PModule): Assign space to common symbols when linking
52276 modules.
52277
777aff39 522782005-01-20 Marco Gerards <metgerards@student.han.nl>
52279
52280 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52281 `unsigned' arguments to `grub_size_t'.
52282 (grub_malloc): Likewise.
52283 (grub_realloc): Likewise.
52284 (grub_memalign): Likewise.
52285 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52286 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52287 * util/misc.c (grub_malloc): Likewise.
52288 (grub_realloc): Likewise.
52289 * kern/mm.c (get_header_from_pointer): Change the casts to
52290 `unsigned' into a cast to `grub_size_t'.
52291
52292 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52293 point to `currnode' when `currnode' is changed.
52294
52295 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52296 Schottelius <nico-linux@schottelius.org>.
52297
d0ff18e1 522982005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52299
52300 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52301 (note_path): Remove variable.
52302 (GRUB_IEEE1275_NOTE_NAME): New macro.
52303 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52304 (grub_ieee1275_note_hdr): New structure.
52305 (grub_ieee1275_note_desc): Likewise.
52306 (grub_ieee1275_note): Likewise.
52307 (load_note): Remove `dir' argument. All callers updated. Remove
52308 `note_img' and `path'. Do not load a file from `note_path'.
52309 Initialize a struct grub_ieee1275_note and write that to `out'.
52310 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52311
4ca7004c 523122005-01-05 Marco Gerards <metgerards@student.han.nl>
52313
52314 * util/misc.c (grub_util_read_image): Revert last change. It
52315 called `grub_util_read_at', which seeks from the beginning of the
52316 file.
52317
0b412211 523182005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52319
52320 * TODO: Add note about endianness in grub-mkimage.
52321 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52322 section.
52323 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52324 (grub_mkimage_SOURCES): New target.
52325 * include/grub/kernel.h (grub_start_addr): Remove variable.
52326 (grub_end_addr): Likewise.
52327 (grub_total_module_size): Likewise.
52328 (grub_kernel_image_size): Likewise.
52329 (GRUB_MODULE_MAGIC): New constant.
52330 (grub_module_info): New structure.
52331 (grub_arch_modules_addr): New prototype.
52332 (grub_get_end_addr): Remove prototype.
52333 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52334 * include/grub/powerpc/ieee1275/kernel.h: New file.
52335 * include/grub/util/misc.h (grub_util_get_fp_size): New
52336 prototype.
52337 (grub_util_read_at): Likewise.
52338 (grub_util_write_image_at): Likewise.
52339 * kern/main.c (grub_get_end_addr): Remove function.
52340 (grub_load_modules): Call grub_arch_modules_addr instead of using
52341 grub_end_addr. Look for a grub_module_info struct in memory. Use
52342 the grub_module_info fields instead of calling grub_get_end_addr
52343 as loop conditions. Move grub_add_unused_region code here.
52344 (grub_add_unused_region): Remove function.
52345 * kern/i386/pc/init.c: Include grub/cache.h.
52346 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52347 one call to add_mem_region.
52348 (grub_arch_modules_addr): New function.
52349 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52350 (grub_total_module_size): Likewise.
52351 Include grub/machine/kernel.h.
52352 (grub_arch_modules_addr): New function.
52353 * util/grub-emu.c (grub_end_addr): Remove variable.
52354 (grub_total_module_size): Likewise.
52355 (grub_arch_modules_addr): New function.
52356 * util/misc.c: Include unistd.h.
52357 (grub_util_get_fp_size): New function.
52358 (grub_util_read_at): Likewise.
52359 (grub_util_write_image_at): Likewise.
52360 (grub_util_read_image): Call grub_util_read_at.
52361 (grub_util_write_image): Call grub_util_write_image_at.
52362 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52363 additional memory in kernel_img for a struct grub_module_info.
52364 Fill in that grub_module_info.
52365 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52366
458786f8 523672005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52368
52369 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52370 New function.
52371 * include/grub/powerpc/ieee1275/ieee1275.h
52372 (grub_ieee1275_milliseconds): New prototype.
52373 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52374 Change to 1000.
52375 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52376 grub_ieee1275_milliseconds.
52377
ac507d1b 523782005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52379
52380 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52381 variable.
52382 (find_options): New function.
52383 (cmain): Call find_options.
52384 * include/grub/powerpc/ieee1275/ieee1275.h
52385 (grub_ieee1275_realmode): New extern variable.
52386 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52387 grub_map if grub_ieee1275_realmode is false.
52388
6b8fd1c4 523892004-12-29 Marco Gerards <metgerards@student.han.nl>
52390
52391 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52392 lines are inserted and make it work like readline. Reported by
52393 Vincent Pelletier <subdino2004@yahoo.fr>.
52394
8514a1e0 523952004-12-28 Marco Gerards <metgerards@student.han.nl>
52396
52397 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52398
52399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52400 `kern/powerpc/cache.S'.
52401
924b6140 524022004-12-27 Marco Gerards <metgerards@student.han.nl>
52403
52404 * genmk.rb: Handle the `Program' class in the main loop. Written
52405 by Johan Rydberg <jrydberg@gnu.org>.
52406 (Program): New class.
52407 (programs): New variable.
52408 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52409 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52410 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52411 (help_arch): Function removed.
52412 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52413 `powerpc/libgcc.h' and `loader.h'.
52414 (pkgdata_PROGRAMS): New variable.
52415 (sbin_UTILITIES): Variable removed.
52416 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52417 (grubof_SOURCES): Variable re-defined so it only includes the
52418 core functionality.
52419 (grubof_CFLAGS): Remove `-DGRUBOF'.
52420 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52421 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52422 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52423 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52424 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52425 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52426 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52427 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52428 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52429 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52430 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52431 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52432 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52433 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52434 (pc_mod_CFLAGS): New variables.
52435 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52436 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52437 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52438 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52439 Moved from here...
52440 * include/grub/i386/pc/init.h (grub_os_area_addr)
52441 (rub_os_area_size): ... to here.
52442 * include/grub/powerpc/ieee1275/ieee1275.h
52443 (grub_ieee1275_entry_fn): Export symbol.
52444 * include/grub/powerpc/ieee1275/init.h: New file.
52445 * include/grub/powerpc/libgcc.h: Likewise.
52446 * include/grub/cache.h: Likewise.
52447 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52448 <hollis@penguinppc.org>.
52449 * kern/dl.c: Include <grub/cache.h>.
52450 (grub_dl_flush_cache): New function.
52451 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52452 for this module.
52453 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52454 (grub_console_init): Removed prototypes.
52455 (grub_machine_init): Don't initialize the modules anymore.
52456 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52457 static.
52458 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52459 Macro undef removed.
52460 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52461 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52462 relocation `R_PPC_REL32'. Return an error when the relocation is
52463 unknown.
52464 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52465 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52466 * util/misc.c (grub_arch_sync_caches): Likewise.
52467
e4b47e0c 524682004-12-19 Marco Gerards <metgerards@student.han.nl>
52469
52470 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52471 `symlist.c', add `grubof_symlist.c'.
52472 (symlist.c): Variable removed.
52473 (grubof_HEADERS): Variable added.
52474 (grubof_symlist.c): New target.
52475 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52476 `kernel_img_HEADERS'.
52477 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52478 * kern/powerpc/dl.c: New file.
52479 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52480 Function removed.
52481 (grub_arch_dl_relocate_symbols): Likewise.
52482 (grub_register_exported_symbols): Likewise.
52483
4ceb3636 524842004-12-13 Marco Gerards <metgerards@student.han.nl>
52485
52486 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52487 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52488 to fail instead. Reported by Vincent Pelletier
52489 <subdino2004@yahoo.fr>.
52490
52491 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52492 it is not allocated. Reported by Vincent Pelletier
52493 <subdino2004@yahoo.fr>.
52494
52495 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52496 output so the output looks better.
f19dbdb7 52497
3f1578fe 524982004-12-04 Marco Gerards <metgerards@student.han.nl>
52499
52500 Modulize the partition map support and add support for the amiga
52501 partition map.
f19dbdb7 52502
3f1578fe 52503 * commands/ls.c: Include <grub/partition.h> instead of
52504 <grub/machine/partition.h>.
52505 * kern/disk.c: Likewise.
52506 * kern/rescue.c: Likewise.
52507 * loader/i386/pc/chainloader.c: Likewise.
52508 * normal/cmdline.c: Likewise.
52509 * kern/powerpc/ieee1275/init.c: Likewise.
52510 (grub_machine_init): Call `grub_pc_partition_map_init',
52511 `grub_amiga_partition_map_init' and
52512 `grub_apple_partition_map_init'.
52513 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52514 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52515 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52516 `partition.h' and `pc_partition.h'.
52517 (grub_setup_SOURCES): Remove
52518 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52519 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52520 (grub_emu_SOURCES): Likewise.
52521 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52522 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52523 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52525 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52526 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52527 (grubof_SOURCES): Likewise.
52528 * disk/i386/pc/partition.c: File removed.
52529 * disk/powerpc/ieee1275/partition.c: Likewise.
52530 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52531 * include/grub/i386/pc/partition.h: Likewise.
52532 * kern/partition.c: New file.
52533 * partmap/amiga.c: Likewise.
52534 * partmap/apple.c: Likewise.
52535 * partmap/pc.c: Likewise.
52536 * include/grub/partition.h: Likewise..
52537 * include/grub/pc_partition.h: Likewise.
52538 * util/grub-emu.c: Include <grub/partition.h> instead of
52539 <grub/machine/partition.h>.
52540 (main): Call `grub_pc_partition_map_init',
52541 `grub_amiga_partition_map_init' and
52542 `grub_apple_partition_map_init' and deinitialize afterwards.
52543 * util/i386/pc/biosdisk.c: Include `#include
52544 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52545 `<grub/machine/partition.h>'.
52546 * util/i386/pc/grub-setup.c: Likewise.
52547 * util/i386/pc/biosdisk.c: Likewise.
52548 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52549 partition information in case of a PC partition.
52550 * util/i386/pc/grub-setup.c: Include `#include
52551 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52552 `<grub/machine/partition.h>'.
52553 (setup): Only access the PC specific partition information in case
52554 of a PC partition.
52555
0ef4ced9 525562004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52557
0ef4ced9 52558 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52559 (grub_longjmp): Likewise.
52560 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52561 20.
52562 * normal/powerpc/setjmp.S: New file.
52563 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52564 `normal/powerpc/setjmp.S'.
52565 (grubof_CFLAGS): Add `-DGRUBOF'.
52566 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52567 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52568
19950e29 525692004-11-16 Marco Gerards <metgerards@student.han.nl>
52570
52571 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52572 property named `name'. Correctly handle the error returned by
52573 `grub_ieee1275_finddevice' if a device can not be opened.
52574
a2fea427 525752004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52576
52577 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52578 `actual' for negativity.
52579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52580 kern/fshelp.c.
52581
41ea0ea3 525822004-11-01 Marco Gerards <metgerards@student.han.nl>
52583
52584 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52585 (PAGE_OFFSET): New macro.
52586 (CRTC_ADDR_PORT): Likewise.
52587 (CRTC_DATA_PORT): Likewise.
52588 (START_ADDR_HIGH_REGISTER): Likewise.
52589 (START_ADDR_LOW_REGISTER): Likewise.
52590 (GRAPHICS_ADDR_PORT): Likewise.
52591 (GRAPHICS_DATA_PORT): Likewise.
52592 (READ_MAP_REGISTER): Likewise.
52593 (INPUT_STATUS1_REGISTER): Likewise.
52594 (INPUT_STATUS1_VERTR_BIT): Likewise.
52595 (page): New variable.
52596 (wait_vretrace): New function.
52597 (set_read_map): Likewise.
52598 (set_start_address): Likewise.
52599 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52600 the right page.
52601 (check_vga_mem): Take the page into account.
52602 (write_char): Likewise.
52603 (write_cursor): Likewise.
52604 (scroll_up): Likewise. Copy the page to the page that is not
52605 shown and switch between both pages.
52606 (grub_vga_putchar): Fix off by one error.
52607 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52608 account.
52609
ad0bd20b 526102004-11-01 Marco Gerards <metgerards@student.han.nl>
52611
52612 Add support for iso9660 (including rockridge).
f19dbdb7 52613
ad0bd20b 52614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52615 (iso9660_mod_SOURCES): New variable.
52616 (iso9660_mod_CFLAGS): Likewise.
52617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52618 * include/grub/fs.h (grub_iso9660_init): New prototype.
52619 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52620 * fs/iso9660.c: New file.
52621
52622 * include/grub/misc.h (grub_strncat): New prototype.
52623 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52624
ad0bd20b 52625 * fs/hfs.c (grub_hfs_mount): Translate the error
52626 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52627 * fs/jfs.c (grub_jfs_mount): Likewise.
52628 * fs/ufs.c (grub_ufs_mount): Likewise.
52629
a5477a59 526302004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52631
52632 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52633 which initialized BAT registers.
52634 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52635 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52636 Move from here...
52637 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52638 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52639 ... to here.
52640 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52641 (grub_mapclaim): Likewise.
52642 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52643 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52644 hand.
52645
9304c1f8 526462004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52647
52648 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52649 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52650 -ffreestanding and -msoft-float.
52651
86f4ae25 526522004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52653
52654 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52655 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52656 set in grub_ieee1275_flags.
52657
38912228 526582004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52659
52660 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52661 prototype.
52662 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52663 grub_console_init first.
52664 Change the memory range used for grub_ieee1275_claim and
52665 grub_mm_init_region.
52666 Print an error message if the claim fails.
52667 Include <grub/misc.h>.
52668
d1923dc8 526692004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52670
52671 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52672 Call grub_children_iterate for device nodes of type `scsi',
52673 `ide', or `ata'.
52674 (grub_ofdisk_open): Remove manual device alias resolution.
52675 Fix memory leak when device cannot be opened.
f19dbdb7 52676 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52677 (grub_children_iterate): New prototype.
52678 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52679 New function.
52680 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52681 Return -1 if args.size was -1.
52682
4512e4f3 526832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52684
52685 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52686 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52687 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52688 Open Firmware's memory for it; claim memory from _start to _end.
52689 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52690 (_end): New extern.
52691 (_start): Zero BSS from __bss_start to _end.
52692 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52693 New extern.
52694 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52695
4d61feb0 526962004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52697
ad0bd20b 52698 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52699 -1 if args.base was -1.
4d61feb0 52700
026fa2f9 527012004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52702
52703 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52704 escape sequence instead of a literal ^L. Also call
52705 grub_ofconsole_gotoxy.
52706
9f2220ef 527072004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52708
52709 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52710 void * arguments to grub_addr_t. All callers updated. Also make
52711 the `result' argument optional.
52712 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52713 All callers updated.
52714
8a572cd7 527152004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52716
52717 * commands/ls.c (grub_ls_list_files): Use the string following the
52718 initial ')', if present, as the filesystem path.
52719 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52720
52721 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52722
18aa81f2 527232004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52724
52725 Make the source code of the menu interface more readable.
f19dbdb7 52726
18aa81f2 52727 * normal/menu.c: Include grub/mm.h.
52728 (TERM_WIDTH): New macro.
52729 (TERM_HEIGHT): Likewise.
52730 (TERM_INFO_HEIGHT): Likewise.
52731 (TERM_MARGIN): Likewise.
52732 (TERM_SCROLL_WIDTH): Likewise.
52733 (TERM_TOP_BORDER_Y): Likewise.
52734 (TERM_LEFT_BORDER_X): Likewise.
52735 (TERM_BORDER_WIDTH): Likewise.
52736 (TERM_MESSAGE_HEIGHT): Likewise.
52737 (TERM_BORDER_HEIGHT): Likewise.
52738 (TERM_NUM_ENTRIES): Likewise.
52739 (TERM_FIRST_ENTRY_Y): Likewise.
52740 (TERM_ENTRY_WIDTH): Likewise.
52741 (TERM_CURSOR_X): Likewise.
52742 (draw_border): Use macros instead of magic numbers.
52743 (print_entry): Likewise.
52744 (print_entries): Likewise.
52745 (run_menu): Likewise. Also, handle the key 'e'.
52746 (run_menu_entry): Ignore empty command lines.
52747 (print_message): Added a new argument EDIT. If EDIT is true,
52748 print a different message.
52749 (init_page): Likewise.
52750 (edit_menu_entry): New function. Not implemented yet.
52751
b47efe30 527522004-09-17 Marco Gerards <metgerards@student.han.nl>
52753
52754 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52755 can be loaded from normal mode.
f19dbdb7 52756
b47efe30 52757 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52758 `multiboot.mod'.
52759 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52760 (multiboot_mod_CFLAGS): New variables.
52761 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52762 * loader/i386/pc/multiboot_normal.c: Likewise.
52763
b47efe30 52764 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52765 attribute `unused'.
f19dbdb7 52766
b47efe30 52767 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52768 `fdiro' to read the mode information from instead of `diro'.
52769
52770 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52771 looking up a symlink.
52772
52773 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52774 macro.
52775 * normal/command.c (grub_command_execute): Don't parse the
52776 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52777 flags of the command.
52778
52779 * normal/menu.c (grub_menu_run): Fix typo.
52780
da75ac71 527812004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52782
52783 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52784
52785 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52786 `y + 1' instead of `y - 1'.
52787
52788 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52789
062b24c2 527902004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52791
52792 From Hollis Blanchard <hollis@penguinppc.org>:
52793 * kern/misc.c (memmove): New alias for grub_memmove.
52794 (memcmp): New alias for grub_memcmp.
52795 (memset): New alias for grub_memset.
f19dbdb7 52796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52797 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52798 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52799 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52800
8ddad845 528012004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52802
52803 Added normal mode command `chainloader' as module chain.mod, which
52804 depends on normal.mod and _chain.mod.
f19dbdb7 52805
8ddad845 52806 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52807 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52808 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52809 Deleted prototype.
52810 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52811 but arguments parsing moved to ...
52812 (grub_chainloader_cmd): ... here. New function.
52813 * include/grub/i386/pc/chainloader.h: New file.
52814 * loader/i386/pc/chainloader_normal.c: Likewise.
52815
2c1f4ce3 528162004-09-11 Marco Gerards <metgerards@student.han.nl>
52817
52818 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52819 (grub_mkimage_LDFLAGS): Likewise.
52820 (grub_emu_SOURCES): Likewise.
52821 (kernel_img_HEADERS): Added fshelp.h.
52822 * fs/ext2.c: Include <grub/fshelp.h>.
52823 (FILETYPE_REG): New macro.
52824 (FILETYPE_INO_REG): Likewise.
52825 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52826 Changed all users.
52827 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52828 all users.
52829 (grub_fshelp_node): New struct.
52830 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52831 to a pointer.
52832 (grub_ext2_get_file_block): Removed function.
52833 (grub_ext2_read_block): New function.
52834 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52835 This function was written.
52836 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52837 (grub_ext2_find_file): Removed function.
52838 (grub_ext2_read_symlink): New function.
52839 (grub_ext2_iterate_dir): Likewise.
52840 (grub_ext2_open): Rewritten.
52841 (grub_ext2_dir): Rewritten.
52842 * include/grub/fshelp.h: New file.
52843 * fs/fshelp.c: Likewise.
52844
3c52136a 528452004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52846
52847 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52848 (print_message): Add a missing newline.
52849 (run_menu): Added timeout support.
52850 (run_menu_entry): New local function.
52851 (grub_menu_run): Added support for booting.
52852
52853 * kern/loader.c (grub_loader_is_loaded): New function.
52854
52855 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52856 (grub_get_rtc): Exported.
52857
52858 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52859 (grub_get_rtc): Exported.
52860
52861 * include/grub/normal.h (struct grub_command_list): Remove
52862 constant from the member `command'.
52863
52864 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52865
52866 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52867
52868 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52869
aa033560 528702004-08-28 Marco Gerards <metgerards@student.han.nl>
52871
52872 Add support for the JFS filesystem.
52873
52874 * fs/jfs.c: New file.
52875 * include/grub/fs.h (grub_jfs_init): New prototype.
52876 (grub_jfs_fini): New prototype.
52877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52878 (grub_emu_SOURCES): Likewise.
52879 (pkgdata_MODULES): Add jfs.mod.
52880 (jfs_mod_SOURCES): New variable.
52881 (jfs_mod_CFLAGS): Likewise.
52882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52883 (grubof_SOURCES): Likewise.
52884 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52885
52886 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52887 endian to the host endian.
52888 (grub_fat_utf16_to_utf8): Move function from there...
52889 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52890 the endianness of the source string anymore.
aa033560 52891 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52892
94bc45af 528932004-08-24 Marco Gerards <metgerards@student.han.nl>
52894
52895 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52896 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52897 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52898 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52899
94bc45af 52900 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52901 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52902 for `node_found' and `it_dir'.
52903 (grub_hfs_dir): Add prototype for `dir_hook'.
52904
52905 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52906 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52907 and `indir32' to silence a gcc warning.
52908
52909 * include/grub/fs.h (grub_hfs_init): New prototype.
52910 (grub_hfs_fini): Likewise.
f19dbdb7 52911
52912
97543f08 529132004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52914
52915 Each disk device has its own id now. This is useful to make use
52916 of multiple disk devices.
f19dbdb7 52917
97543f08 52918 * include/grub/disk.h (grub_disk_dev_id): New enum.
52919 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52920 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52921
52922 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52923 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52924
52925 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52926 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52927
52928 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52929 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52930
52931 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52932 "id" which is used by the cache manager.
52933
52934 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52935 of just "GRUB".
52936
64372eb4 529372004-08-18 Marco Gerards <metgerards@student.han.nl>
52938
52939 * fs/hfs.c: New file.
52940 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52941 (grub_emu_SOURCES): Likewise.
52942 (pkgdata_MODULES): Add hfs.mod.
52943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52944 (grubof_SOURCES): Likewise.
52945 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52946
52947 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52948 * kern/misc.c (grub_strncasecmp): Add function.
52949
cc61b58f 529502004-08-14 Marco Gerards <metgerards@student.han.nl>
52951
52952 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52953 with parentheses.
52954
52955 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52956 (grub_ext2_dir): In case the directory entry type is unknown, read
52957 it from the inode.
52958
0ef123f6 529592004-08-02 Peter Bruin <pjbruin@dds.nl>
52960
52961 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52962 grub_load_linux instead of grub_rescue_cmd_linux as second
52963 argument of grub_rescue_register_command.
52964
52965 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52966
a447c5df 529672004-07-27 Marco Gerards <metgerards@student.han.nl>
52968
52969 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52970 function.
52971 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52972 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52973 `loader/powerpc/ieee1275/linux.c',
52974 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52975 * include/grub/powerpc/ieee1275/ieee1275.h
52976 (grub_ieee1275_release): New prototype.
52977 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52978 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52979 normal, boot, linux and linux_normal.
52980 * loader/powerpc/ieee1275/linux.c: New file.
52981 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52982
5a9e3546 529832004-07-12 Marco Gerards <metgerards@student.han.nl>
52984
52985 * normal/arg.c (grub_arg_parse): Correct error handling after
52986 reallocating the argumentlist (check if `argl' is not null instead
52987 of checking if `args' is not null).
52988 * kern/mm.c (grub_realloc): Return the same pointer when using the
52989 same region, instead of returning the header address.
52990
e15199cb 529912004-07-11 Marco Gerards <metgerards@student.han.nl>
52992
52993 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52994 one block instead of two when looking for the initial partition.
52995 (grub_partition_probe): Initialize the local variable `p' with 0.
52996 Use base 10 for the grub_strtoul call.
52997 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52998 need for one local variable.
52999 (grub_strtoul): Don't add the new value to `num', instead of that
53000 just assign it.
53001
020616c2 530022004-07-11 Marco Gerards <metgerards@student.han.nl>
53003
53004 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53005 (pxeboot_img_SOURCES): New variable.
53006 (pxeboot_img_ASFLAGS): Likewise.
53007 (pxeboot_img_LDFLAGS): Likewise.
53008 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53009 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53010 <lode_leroy@hotmail.com>.
53011
6c51eb64 530122004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53013
53014 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53015 there was no input.
53016
cfb12aff 530172004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53018
53019 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53020 the history buffer logic.
53021
6eabba74 530222004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53023
53024 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53025 (FILETYPE_INO_SYMLINK): New macros.
53026 (grub_ext2_find_file): Check if the node is a directory using the
53027 inode stat information instead of using the filetype in the
53028 dirent. Exclude the first character of an absolute symlink.
53029 (grub_ext2_dir): Mask out the filetype part of the mode member of
53030 the inode.
53031
66e19ef8 530322004-05-24 Marco Gerards <metgerards@student.han.nl>
53033
53034 Add support for UFS version 1 and 2. Add support for the minix
53035 filesystem version 1 and 2, both the variants with 14 and 30 long
53036 filenames.
f19dbdb7 53037
66e19ef8 53038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53039 fs/minix.c.
53040 (grub_emu_SOURCES): Likewise.
53041 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53042 (ufs_mod_SOURCES): New variable.
53043 (ufs_mod_CFLAGS): Likewise.
53044 (minix_mod_SOURCES): Likewise.
53045 (minix_mod_CFLAGS): Likewise.
53046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53047 fs/minix.c.
53048 (grubof_SOURCES): Likewise.
53049 * fs/ufs.c: New file.
53050 * fs/minix.c: New file.
53051 * include/grub/fs.h (grub_ufs_init): New prototype.
53052 (grub_ufs_fini): Likewise.
53053 (grub_minix_init): Likewise.
53054 (grub_minix_fini): Likewise.
53055 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53056 minix fs.
53057
cc2e748a 530582004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53059
53060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53061 commands/ls.c, commands/terminal.c, commands/boot.c,
53062 commands/cmp.c and commands/cat.c.
53063 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53064
53065 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53066 "env.h"
53067
4b13b216 530682004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53069
53070 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53071 and grub_, respectively. Because the conversion is trivial and
53072 mechanical, I omit the details here. Please refer to the CVS
53073 if you need more information.
53074
6a142551 530752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53076
53077 * include/pupa: Renamed to ...
53078 * include/grub: ... this.
53079 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53080 * util/i386/pc/grub-mkimage.c: ... this.
53081 * util/i386/pc/pupa-setup.c: Renamed to ...
53082 * util/i386/pc/grub-setup.c: ... this.
53083 * util/pupa-emu.c: Renamed to ...
53084 * util/grub-emu.c: ... this.
53085
e56cdf21 530862004-03-29 Marco Gerards <metgerards@student.han.nl>
53087
53088 Add support for the newworld apple macintosh (PPC). This has been
53089 tested on the powerbook 2000 only. It only adds support for
53090 generic ieee1275 functions, console and disk support. This should
53091 be easy to port to other architectures with support for Open
53092 Firmware.
f19dbdb7 53093
e56cdf21 53094 * configure.ac: Accept the powerpc as host_cpu. In the case of
53095 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53096 specific tests are only executed while building for the i386.
53097 Inverse test for crosscompile.
53098 * genmk.rb (Utility): Allow assembler files.
53099 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53100 * conf/powerpc-ieee1275.rmk: New file.
53101 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53102 * disk/powerpc/ieee1275/partition.c: Likewise.
53103 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53104 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53105 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53106 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53107 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53108 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53109 * include/pupa/powerpc/ieee1275/loader.h
53110 * include/pupa/powerpc/setjmp.h: Likewise.
53111 * include/pupa/powerpc/types.h: Likewise.
53112 * kern/powerpc/ieee1275/init.c: Likewise.
53113 * kern/powerpc/ieee1275/openfw.c: Likewise.
53114 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53115
53116 These files were written by Johan Rydberg
53117 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53118
e56cdf21 53119 * boot/powerpc/ieee1275/cmain.c: New file.
53120 * boot/powerpc/ieee1275/crt0.S: Likewise.
53121 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53122 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53123
8c8cc205 531242004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53125
53126 * Makefile.in: Update copyright.
53127 * genmodsrc.sh: Likewise.
53128 * gensymlist.sh: Likewise.
53129 * term/i386/pc/vga.c: Indent correctly.
53130
53131 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53132 bugreporting address.
53133 * util/i386/pc/pupa-setup.c (usage): Likewise,
53134 (main): Call pupa_ext2_init and pupa_ext2_fini.
53135
f19dbdb7 53136 * fs/fat.c (log2): Renamed to ...
8c8cc205 53137 (fat_log2): ... this.
53138 All callers changed.
53139 * kern/misc.c (memcpy): Alias to pupa_memmove.
53140 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53141 lvalue cast.
53142 * util/console.c (pupa_ncurses_fini): Return 0.
53143
53144 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53145 Move fail label here.
53146 [__GNU__]: Don't warn when using stat.
53147 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53148 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53149 long int. Use strtol instead of strtoul.
f19dbdb7 53150
db1771cf 531512004-03-14 Marco Gerards <metgerards@student.han.nl>
53152
53153 * commands/boot.c: New file.
53154 * commands/cat.c: Likewise.
53155 * commands/cmp.c: Likewise.
53156 * commands/ls.c: Likewise.
53157 * commands/terminal.c: Likewise.
53158 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53159 (pupa_register_command): Changed interface to match the new
53160 argument parser.
53161 (pupa_command_execute): Changed (almost rewritten) so it uses
53162 pupa_split_command. Added support for setting variables using the
53163 syntax `foo=bar'.
53164 (rescue_command): Changed to work with the new argument parser.
53165 (terminal_command): Moved from here to commands/terminal.c.
53166 (set_command): New function.
53167 (unset_command): New function.
53168 (insmod_command): New function.
53169 (rmmod_command): New function.
53170 (lsmod_command): New function.
53171 (pupa_command_init): Don't initialize the command terminal
53172 anymore. Initialize the commands set, unset, insmod, rmmod and
53173 lsmod.
53174 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53175 (kernel_img_HEADERS): Add arg.h and env.h.
53176 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53177 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53178 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53179 normal/arg.c.
53180 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53181 terminal.mod.
53182 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53183 (boot_mod_SOURCES): New variable.
53184 (terminal_mod_SOURCES): Likewise.
53185 (ls_mod_SOURCES): Likewise.
53186 (cmp_mod_SOURCES): Likewise.
53187 (cat_mod_SOURCES): Likewise.
53188
53189 * normal/arg.c: New file.
53190 * kern/env.c: Likewise.
53191 * include/pupa/arg.h: Likewise.
53192 * include/pupa/env.h: Likewise.
53193 * font/manager.c (font_command): Changed to match argument parsing
53194 interface changes.
53195 (PUPA_MOD_INIT): Likewise.
53196 * hello/hello.c (pupa_cmd_hello): Likewise.
53197 (PUPA_MOD_INIT): Likewise.
53198 * include/pupa/disk.h: Include <pupa/device.h>.
53199 (pupa_print_partinfo): New prototype.
53200 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53201 (pupa_dl_get_prefix): Likewise.
53202 * include/pupa/misc.h: Include <pupa/err.h>.
53203 (pupa_isgraph): New prototype.
53204 (pupa_isdigit): Likewise.
53205 (pupa_split_cmdline): Likewise.
53206 * include/pupa/normal.h: Include <pupa/arg.h>.
53207 (pupa_command): Changed the prototype of the member `func' to
53208 match the argument parsing interface. Added member `options'.
53209 (pupa_register_command): Updated to match function.
53210 (pupa_arg_parse): New prototype.
53211 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53212 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53213 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53214 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53215 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53216 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53217 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53218 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53219 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53220 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53221 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53222 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53223 * kern/disk.c: Include <pupa/file.h>.
53224 (pupa_print_partinfo): New function.
53225 * kern/dl.c: Include <pupa/env.h>.
53226 (pupa_dl_dir): Variable removed.
53227 (pupa_dl_load): Use the environment variable `prefix' instead of
53228 the variable pupa_dl_dir.
53229 (pupa_dl_set_prefix): Function removed.
53230 (pupa_dl_get_prefix): Likewise.
53231 * kern/i386/pc/init.c: Include <pupa/env.h>.
53232 (pupa_machine_init): Use the environment variable `prefix' instead of
53233 using pupa_dl_set_prefix to set the prefix.
53234 * kern/main.c: Include <pupa/env.h>.
53235 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53236 using pupa_dl_get_prefix to get the prefix.
53237 * kern/misc.c: Include <pupa/env.h>.
53238 (pupa_isdigit): New function.
53239 (pupa_isgraph): Likewise.
53240 (pupa_ftoa): Likewise.
53241 (pupa_vsprintf): Added support for printing values of the type
53242 `double'. Make it possible to format variable output when using
53243 formatting like `%1.2%f'.
53244 (pupa_split_cmdline): New function.
53245 * kern/rescue.c: Include <pupa/env.h>.
53246 (next_word): Removed function.
53247 (pupa_rescue_cmd_prefix): Likewise.
53248 (pupa_rescue_cmd_set): New function.
53249 (pupa_rescue_cmd_unset): New function.
53250 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53251 split the command line instead of splitting it here. Added
53252 support for setting variables using the syntax `foo=bar'. Don't
53253 initialize the prefix command anymore. Initialized the set and
53254 unset commands.
53255 * normal/cmdline.c: Include <pupa/env.h>.
53256 (pupa_tab_complete): Added prototypes for print_simple_completion,
53257 print_partition_completion, add_completion, iterate_commands,
53258 iterate_dev, iterate_part and iterate_dir. Moved code to print
53259 partition information from here to kern/disk.c.
fe6b695a 53260 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53261 * normal/main.c: Include <pupa/env.h>.
53262 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53263 instead of using pupa_dl_get_prefix to get the prefix.
53264 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53265 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53266 warning.
53267 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53268 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53269 ((unused))' to silence a gcc warning.
53270 (pupa_vga_setcolor): Likewise.
53271 (debug_command): Changed to match argument parsing
53272 interface changes.
53273 * util/pupa-emu.c: Include <pupa/env.h>.
53274 (options): Added 0's for unused fields to silence a gcc warning.
53275 (argp): Likewise.
53276 (main): Use the environment variable `prefix' instead of using
53277 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53278 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53279 and terminal.
53280
53281 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53282 * util/misc.c: Include <malloc.h>.
53283 (pupa_malloc): Rewritten so errors are correctly reported.
53284 (pupa_realloc): Likewise.
53285 (pupa_memalign): Likewise.
53286 (pupa_mm_init_region): Declare unused variables with
53287 `__attribute__ ((unused))' to silence a gcc warning.
53288 * normal/i386/setjmp.S: Remove tab at the end of the file to
53289 silence a gcc warning.
53290 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53291 variables with `__attribute__ ((unused))' to silence a gcc
53292 warning.
53293 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53294 local variable i unsigned to silence a gcc warning.
53295
53296 * kern/term.c: Include <pupa/misc.h>.
53297 (pupa_more_lines): New variable.
53298 (pupa_more): Likewise.
53299 (pupa_putcode): When the pager is active pause at the end of every
53300 screen.
53301 (pupa_set_more): New function.
53302 * include/pupa/term.h (pupa_set_more): New prototype.
53303
53304
3b1139cb 533052004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53306
53307 Now this project is GRUB 2 rather than PUPA. The location of
53308 the CVS repository was moved to GRUB's.
f19dbdb7 53309
3b1139cb 53310 * configure.ac: Use bug-grub as the reporting address.
53311 Use GRUB instead of PUPA.
53312 Change the version number to 1.90.
53313
8367695c 533142004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53315
53316 * genkernsyms.sh: Updated copyright information.
53317 * genmk.rb: Likewise.
53318 * genmodsrc.sh: Likewise.
53319 * gensymlist.sh: Likewise.
53320 * boot/i386/pc/boot.S: Likewise.
53321 * boot/i386/pc/diskboot.S: Likewise.
53322 * disk/i386/pc/biosdisk.c: Likewise.
53323 * disk/i386/pc/partition.c: Likewise.
53324 * font/manager.c: Likewise.
53325 * fs/ext2.c: Likewise.
53326 * fs/fat.c: Likewise.
53327 * include/pupa/boot.h: Likewise.
53328 * include/pupa/device.h: Likewise.
53329 * include/pupa/disk.h: Likewise.
53330 * include/pupa/dl.h: Likewise.
53331 * include/pupa/elf.h: Likewise.
53332 * include/pupa/err.h: Likewise.
53333 * include/pupa/file.h: Likewise.
53334 * include/pupa/font.h: Likewise.
53335 * include/pupa/fs.h: Likewise.
53336 * include/pupa/kernel.h: Likewise.
53337 * include/pupa/loader.h: Likewise.
53338 * include/pupa/misc.h: Likewise.
53339 * include/pupa/mm.h: Likewise.
53340 * include/pupa/net.h: Likewise.
53341 * include/pupa/normal.h: Likewise.
53342 * include/pupa/rescue.h: Likewise.
53343 * include/pupa/setjmp.h: Likewise.
53344 * include/pupa/symbol.h: Likewise.
53345 * include/pupa/term.h: Likewise.
53346 * include/pupa/types.h: Likewise.
53347 * include/pupa/i386/setjmp.h: Likewise.
53348 * include/pupa/i386/types.h: Likewise.
53349 * include/pupa/i386/pc/biosdisk.h: Likewise.
53350 * include/pupa/i386/pc/boot.h: Likewise.
53351 * include/pupa/i386/pc/console.h: Likewise.
53352 * include/pupa/i386/pc/init.h: Likewise.
53353 * include/pupa/i386/pc/kernel.h: Likewise.
53354 * include/pupa/i386/pc/linux.h: Likewise.
53355 * include/pupa/i386/pc/loader.h: Likewise.
53356 * include/pupa/i386/pc/memory.h: Likewise.
53357 * include/pupa/i386/pc/multiboot.h: Likewise.
53358 * include/pupa/i386/pc/partition.h: Likewise.
53359 * include/pupa/i386/pc/time.h: Likewise.
53360 * include/pupa/i386/pc/vga.h: Likewise.
53361 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53362 * include/pupa/util/getroot.h: Likewise.
53363 * include/pupa/util/misc.h: Likewise.
53364 * include/pupa/util/resolve.h: Likewise.
53365 * kern/device.c: Likewise.
53366 * kern/disk.c: Likewise.
53367 * kern/dl.c: Likewise.
53368 * kern/err.c: Likewise.
53369 * kern/file.c: Likewise.
53370 * kern/fs.c: Likewise.
53371 * kern/loader.c: Likewise.
53372 * kern/main.c: Likewise.
53373 * kern/misc.c: Likewise.
53374 * kern/mm.c: Likewise.
53375 * kern/rescue.c: Likewise.
53376 * kern/term.c: Likewise.
53377 * kern/i386/dl.c: Likewise.
53378 * kern/i386/pc/init.c: Likewise.
53379 * kern/i386/pc/lzo1x.S: Likewise.
53380 * kern/i386/pc/startup.S: Likewise.
53381 * loader/i386/pc/chainloader.c: Likewise.
53382 * loader/i386/pc/linux.c: Likewise.
53383 * loader/i386/pc/multiboot.c: Likewise.
53384 * normal/cmdline.c: Likewise.
53385 * normal/command.c: Likewise.
53386 * normal/main.c: Likewise.
53387 * normal/menu.c: Likewise.
53388 * normal/i386/setjmp.S: Likewise.
53389 * term/i386/pc/console.c: Likewise.
53390 * term/i386/pc/vga.c: Likewise.
53391 * util/console.c: Likewise.
53392 * util/genmoddep.c: Likewise.
53393 * util/misc.c: Likewise.
53394 * util/pupa-emu.c: Likewise.
53395 * util/resolve.c: Likewise.
53396 * util/unifont2pff.rb: Likewise.
53397 * util/i386/pc/biosdisk.c: Likewise.
53398 * util/i386/pc/getroot.c: Likewise.
53399 * util/i386/pc/pupa-mkimage.c: Likewise.
53400 * util/i386/pc/pupa-setup.c: Likewise.
53401
e6eced71 534022004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53403
53404 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53405 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53406 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53407 reading and reset it after reading.
53408 (pupa_ext2_close): Return PUPA_ERR_NONE.
53409
53410 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53411 Correct value.
53412 (struct linux_kernel_header): Add kernel_version and
53413 initrd_addr_max.
53414 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53415 pupa_file_read succeeds.
53416 (pupa_rescue_cmd_initrd): Implement.
53417
5aded270 534182003-12-03 Marco Gerards <metgerards@student.han.nl>
53419
53420 * fs/ext2.c (pupa_ext2_label): New function.
53421 (pupa_ext2_fs): Added label.
53422 * fs/fat.c (pupa_fat_label): New function.
53423 (pupa_fat_fs): Added label.
53424 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53425
53426 * kern/misc.c (pupa_strndup): New function.
53427 * include/pupa/misc.h (pupa_strndup): New prototype.
53428
53429 * include/pupa/normal.h: Include <pupa/err.h>.
53430 (pupa_set_history): New prototype.
53431 (pupa_iterate_commands): New prototype.
53432 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53433 <pupa/disk.h>, <pupa/file.h>.
53434 (hist_size): New variable.
53435 (hist_lines): Likewise.
53436 (hist_end): Likewise.
53437 (hist_used): Likewise.
53438 (pupa_set_history): New function.
53439 (pupa_history_get): Likewise.
53440 (pupa_history_add): Likewise.
53441 (pupa_history_replace): Likewise.
53442 (pupa_tab_complete): Likewise.
53443 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53444 completion shows partitionnames while completing partitions, this
53445 feature was suggested by Jeff Bailey.
53446 * normal/command.c (pupa_iterate_commands): New function.
53447 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53448 (pupa_normal_init): Initialize history buffer.
53449 (PUPA_MOD_INIT): Likewise.
53450 (pupa_normal_fini): Free the history buffer.
53451 (PUPA_MOD_FINI): Likewise.
53452
53453 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53454 key.
53455
53456 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53457 * configure.ac [i386]: Check for regparam bug.
53458 (NESTED_FUNC_ATTR) [! i386]: Defined.
53459
1f7315a3 534602003-11-17 Marco Gerards <metgerards@student.han.nl>
53461
53462 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53463 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53464 (pupa_emu_SOURCES): New variable.
53465 (pupa_emu_LDFLAGS): Likewise.
53466 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53467 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53468 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53469 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53470 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53471 (pupa_jmp_buf): New typedef.
53472 (pupa_setjmp) [PUPA_UTIL]: New macro.
53473 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53474 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53475 (pupa_refresh): New prototype.
53476 * include/pupa/util/getroot.h: New file.
53477 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53478 it.
53479 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53480 (pupa_rescue_cmd_cat): Likewise.
53481 (pupa_rescue_cmd_ls): Likewise.
53482 (pupa_rescue_cmd_testload): Likewise.
53483 (pupa_rescue_cmd_lsmod): Likewise.
53484 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53485 * normal/menu.c (run_menu): Likewise.
53486 * kern/term.c (pupa_cls): Likewise.
53487 (pupa_refresh): New function.
53488 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53489 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53490 * util/console.c: New file.
f19dbdb7 53491
1f7315a3 53492 * util/i386/pc/getroot.c: New file.
53493 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53494 (pupa_putchar): New function.
53495 (pupa_refresh): Likewise.
53496 (xgetcwd): Function moved to ...
53497 (strip_extra_slashes): Likewise.
53498 (get_prefix): Likewise.
f19dbdb7 53499 * util/i386/pc/getroot.c: ... here.
1f7315a3 53500 (find_root_device): Function moved and renamed to...
53501 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53502 Changed all callers.
53503 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53504 and renamed to...
53505 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53506 Changed all callers.
53507 * util/misc.c (pupa_memalign): New function.
53508 (pupa_mm_init_region): Likewise.
53509 (pupa_register_exported_symbols): Likewise.
53510 (pupa_putchar): Function removed.
53511 * util/pupa-emu.c: New file.
53512
9a5c1ade 535132003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53514
53515 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53516 (_multiboot_mod_SOURCES): New variable.
53517 (_multiboot_mod_CFLAGS): Likewise.
53518 * loader/i386/pc/multiboot.c: New file.
53519 * include/pupa/i386/pc/multiboot.h: Likewise.
53520 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53521 (pupa_multiboot_real_boot): New function.
53522 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53523 (pupa_multiboot_real_boot): New prototype.
53524 (pupa_rescue_cmd_multiboot): Likewise
53525 (pupa_rescue_cmd_module): Likewise.
53526
53527 * kern/loader.c (pupa_loader_set): Continue when
53528 pupa_loader_unload_func() fails.
53529 (pupa_loader_unset): New function.
53530 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53531
53532 * kern/misc.c (pupa_stpcpy): New function.
53533 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53534
8e72a9c0 535352003-11-12 Marco Gerards <metgerards@student.han.nl>
53536
53537 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53538 for available extensions.
53539
53540 * include/pupa/i386/pc/time.h: New file.
53541 * kern/disk.c: Include <pupa/machine/time.h>.
53542 (PUPA_CACHE_TIMEOUT): New macro.
53543 (pupa_last_time): New variable.
53544 (pupa_disk_open): Flush the cache when there was a timeout.
53545 (pupa_disk_close): Reset the timer.
53546 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53547 pupa_currticks.
53548 * util/misc.c: Include <sys/times.h>
53549 (pupa_get_rtc): New function.
53550
c4adbd32 535512003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53552
53553 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53554 as blocks.
53555 (pupa_ext2_get_file_block): Use blocks member.
53556
53557 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53558 first block. Return -1 instead of pupa_errno on error.
53559
bfd30f06 535602003-10-27 Marco Gerards <metgerards@student.han.nl>
53561
53562 * README: In the pupa-mkimage example use _chain instead of chain
53563 and ext2 instead of fat.
53564 * TODO: Replace ext2fs with jfs as an example. Add an item for
53565 adding journal playback for ext2fs.
53566 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53567 (pkgdata_MODULES): Added ext2.mod.
53568 (ext2_mod_SOURCES): New variable.
53569 (ext2_mod_CFLAGS): Likewise.
53570 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53571 * include/pupa/misc.h (pupa_strncpy): New prototype.
53572 (pupa_strcat): Likewise.
53573 (pupa_strncmp): Likewise.
53574 * kern/misc.c (pupa_strcat): Enable function.
53575 (pupa_strncpy): New function.
53576 (pupa_strncmp): Likewise.
53577 * fs/ext2.c: New file.
f19dbdb7 53578
bfd30f06 53579 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53580 when the read failed before retrying.
53581 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53582 (_FILE_OFFSET_BITS): Likewise.
53583 * configure.ac: Added AC_SYS_LARGEFILE.
53584
98d15063 535852003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53586
53587 * genmk.rb (PModule#rule): Make sure to get only symbol names
53588 from the output of nm.
59cad637 53589 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53590
18d9c7cd 535912003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53592
53593 I forgot to check in these changes for a long time. This adds
53594 incomplete support for VGA console, and this is still very
53595 buggy. Also, a lot of consideration is required for I18N,
53596 UNICODE, and VGA font issues. Therefore, assume that this is
53597 such that "better than nothing".
f19dbdb7 53598
18d9c7cd 53599 * font/manager.c: New file.
53600 * include/pupa/font.h: Likewise.
53601 * include/pupa/i386/pc/vga.h: Likewise.
53602 * term/i386/pc/vga.c: Likewise.
53603 * util/unifont2pff.rb: Likewise.
53604
53605 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53606 (pkgdata_MODULES): Added vga.mod and font.mod.
53607 (vga_mod_SOURCES): New variables.
53608 (vga_mod_CFLAGS): Likewise.
53609 (font_mod_SOURCES): Likewise.
53610 (font_mod_CFLAGS): Likewise.
53611
53612 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53613
53614 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53615 (struct pupa_term): Added init and fini.
18d9c7cd 53616 Changed the argument of putchar to pupa_uint32_t.
53617
53618 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53619 (pupa_console_real_putchar): New prototype.
53620 (pupa_console_putchar): Removed.
53621 (pupa_console_checkkey): Exported.
53622 (pupa_console_getkey): Likewise.
53623
53624 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53625 characters.
53626
53627 * kern/term.c (pupa_term_set_current): Rewritten.
53628 (pupa_putchar): Likewise.
53629 (pupa_putcode): New function.
53630
53631 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53632 (pupa_console_real_putchar): ... this.
53633 (pupa_vga_set_mode): New function.
53634 (pupa_vga_get_font): Likewise.
53635
53636 * normal/command.c: Include pupa/term.h.
53637 (terminal_command): New function.
53638 (pupa_command_init): Register the command "terminal".
53639
53640 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53641 (DISP_UP): Likewise.
53642 (DISP_RIGHT): Likewise.
53643 (DISP_DOWN): Likewise.
53644 (DISP_HLINE): Likewise.
53645 (DISP_VLINE): Likewise.
53646 (DISP_UL): Likewise.
53647 (DISP_UR): Likewise.
53648 (DISP_LL): Likewise.
53649 (DISP_LR): Likewise.
53650
53651 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53652
977329f5 536532003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53654
53655 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53656 FIX. Reverse the path_list.
53657
53658 * include/pupa/normal.h: Export pupa_register_command and
53659 pupa_unregister_command.
53660
53661 * hello/hello.c (pupa_cmd_hello): New module.
53662 * conf/i386-pc.rmk: Added hello.mod.
53663
1f5ab428 536642003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53665
53666 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53667
1f5ab428 53668 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53669 (compress_kernel): New variable.
53670 (generate_image): Heavily modified to support compressing a
53671 large part of the core image.
53672
53673 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53674 leak.
53675 (pupa_util_load_image): New function.
53676
53677 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53678 (pupa_compressed_size): New variable.
53679 (codestart): Enable Gate A20 here.
53680 Decompress the compressed part of the core image.
53681 Rearrange the code to put functions and variables which are
53682 required for initialization in the non-compressed part.
53683 Include lzo1x.S.
53684
53685 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53686 here.
53687
53688 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53689
f19dbdb7 53690 * include/pupa/i386/pc/kernel.h
1f5ab428 53691 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53692 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53693 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53694 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53695 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53696
53697 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53698
53699 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53700 (Utility#rule): Likewise.
53701
53702 * configure.ac: Check if LZO is available.
53703
ce5bf700 537042003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53705
53706 * include/pupa/normal.h: New file.
53707 * include/pupa/setjmp.h: Likewise.
53708 * include/pupa/i386/setjmp.h: Likewise.
53709 * normal/cmdline.c: Likewise.
53710 * normal/command.c: Likewise.
53711 * normal/main.c: Likewise.
53712 * normal/menu.c: Likewise.
53713 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53714
ce5bf700 53715 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53716 (pupa_rescue_cmd_initrd): Likewise.
53717
53718 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53719 Likewise.
53720
53721 * kern/i386/pc/startup.S (translation_table): New variable.
53722 (translate_keycode): New function.
53723 (pupa_console_getkey): Call translate_keycode.
53724
53725 * kern/rescue.c (attempt_normal_mode): New function.
53726 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53727 it failed, print a message.
53728
53729 * kern/mm.c (pupa_real_malloc): Print more information when a
53730 free magic is broken.
53731 (pupa_free): If the first free header is not free actually, set
53732 it to P.
53733
53734 * kern/main.c (pupa_load_normal_mode): Just load the module
53735 "normal".
53736 (pupa_main): Don't print the message
53737 "Entering into rescue mode..." here.
53738
53739 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53740 Declared.
53741 (pupa_rescue_cmd_initrd): Likewise.
53742 (pupa_rescue_cmd_initrd): Likewise.
53743
53744 * include/pupa/symbol.h (FUNCTION): Specify the type.
53745 (VARIABLE): Likewise.
53746
53747 * include/pupa/err.h (pupa_err_t): Added
53748 PUPA_ERR_UNKNOWN_COMMAND.
53749
53750 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53751 (pupa_dl_get_prefix): Likewise.
53752
53753 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53754 Added _chain.mod and _linux.mod instead of chain.mod and
53755 linux.mod.
53756 (chain_mod_SOURCES): Renamed to ...
53757 (_chain_mod_SOURCES): ... this.
53758 (chain_mod_CFLAGS): Renamed to ...
53759 (_chain_mod_CFLAGS): ... this.
53760 (linux_mod_SOURCES): Renamed to ...
53761 (_linux_mod_SOURCES): ... this.
53762 (linux_mod_CFLAGS): Renamed to ...
53763 (_linux_mod_CFLAGS): ... this.
53764 (normal_mod_SOURCES): New variable.
53765 (normal_mod_CFLAGS): Likewise.
53766 (normal_mod_ASFLAGS): Likewise.
53767
537682003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53769
53770 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53771 possible.
53772
fe6b695a 53773 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53774 recursively.
53775 (pupa_dl_unref): Unrefer depending modules recursively.
53776 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53777 a module is unloaded before one depending on that module is
53778 unloaded.
53779 (pupa_dl_unload): Unload depending modules explicitly,
53780 if possible.
53781
c04da074 537822003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53783
53784 * include/pupa/i386/pc/linux.h: New file.
53785 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53786
c04da074 53787 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53788 Removed.
53789 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53790 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53791 of PUPA_CHAINLOADER_BOOT_SECTOR.
53792
53793 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53794 (pupa_linux_prot_size): New variable.
53795 (pupa_linux_tmp_addr): Likewise.
53796 (pupa_linux_real_addr): Likewise.
53797 (pupa_linux_boot_zimage): New function.
53798 (pupa_linux_boot_bzimage): Likewise.
53799
53800 * kern/i386/pc/init.c (struct mem_region): New structure.
53801 (MAX_REGIONS): New macro.
53802 (mem_regions): New variable.
53803 (num_regions): Likewise.
53804 (pupa_os_area_addr): Likewise.
53805 (pupa_os_area_size): Likewise.
53806 (pupa_lower_mem): Likewise.
53807 (pupa_upper_mem): Likewise.
53808 (add_mem_region): New function.
53809 (compact_mem_regions): Likewise.
53810 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53811 the size of the conventional memory and that of so-called upper
53812 memory (before the first memory hole).
53813 Instead of adding each found region to free memory, use
53814 add_mem_region and add them after removing overlaps.
53815 Also, add only 1/4 of the upper memory to free memory. The rest
53816 is used for loading OS images. Maybe this is ad hoc, but this
53817 makes it much easier to relocate OS images when booting.
53818
53819 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53820 (pupa_enter_rescue_mode): Don't register initrd and module.
53821
53822 * kern/mm.c: Include pupa/dl.h.
53823
53824 * kern/main.c: Include pupa/file.h and pupa/device.h.
53825
53826 * kern/loader.c (pupa_loader_load_module_func): Removed.
53827 (pupa_loader_load_module): Likewise.
53828
53829 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53830 ``.o''.
53831
53832 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53833 (pupa_linux_tmp_addr): Likewise.
53834 (pupa_linux_real_addr): Likewise.
53835 (pupa_linux_boot_zimage): Likewise.
53836 (pupa_linux_boot_bzimage): Likewise.
53837
53838 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53839 (pupa_upper_mem): Likewise.
53840 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53841 module is too dangerous.
53842
53843 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53844 (pupa_os_area_size): Likewise.
53845 (pupa_loader_set): Remove the first argument. Loader doesn't
53846 manage modules or initrd any longer.
53847 (pupa_loader_load_module): Removed.
53848
53849 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53850 (linux_mod_SOURCES): New variable.
53851 (linux_mod_CFLAGS): Likewise.
53852
a13f9237 538532003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53854
53855 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53856 the length of a blocklist correctly.
53857
53858 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53859 Use ioctl only if the OS file is a block device.
53860 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53861 not very useful for normal files.
53862
53863 * kern/main.c (pupa_set_root_dev): New function.
53864 (pupa_load_normal_mode): Likewise.
53865 (pupa_main): Call those above.
53866
53867 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53868 pupa_uint16_t.
53869
53870 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53871
a5ffe966 538722003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53873
53874 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53875 (setup): Configure the installed partition information and the
53876 dl prefix.
53877
53878 * loader/i386/pc/chainloader.c (my_mod): New variable.
53879 (pupa_chainloader_unload): New function.
53880 (pupa_rescue_cmd_chainloader): Refer itself.
53881 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53882
53883 * kern/i386/pc/startup.S (install_partition): Removed.
53884 (version_string): Likewise.
53885 (config_file): Likewise.
53886 (pupa_install_dos_part): New variable.
53887 (pupa_install_bsd_part): Likewise.
53888 (pupa_prefix): Likewise.
53889 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53890
53891 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53892 and pupa/misc.h.
53893 (make_install_device): New function.
53894 (pupa_machine_init): Set the dl prefix.
53895
53896 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53897 (buf): Renamed to ...
53898 (linebuf): ... this.
53899 (pupa_rescue_cmd_prefix): New function.
53900 (pupa_rescue_cmd_insmod): Likewise.
53901 (pupa_rescue_cmd_rmmod): Likewise.
53902 (pupa_rescue_cmd_lsmod): Likewise.
53903 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53904 rmmod and lsmod.
53905
53906 * kern/mm.c (pupa_memalign): If failed even after invalidating
53907 disk caches, unload unneeded modules and retry.
53908
53909 * kern/misc.c (pupa_memmove): New function.
53910 (pupa_memcpy): Removed.
53911 (pupa_strcpy): New function.
53912 (pupa_itoa): Made static.
53913
53914 * kern/dl.c (pupa_dl_iterate): New function.
53915 (pupa_dl_ref): Likewise.
53916 (pupa_dl_unref): Likewise.
53917 (pupa_dl_unload): Return if succeeded or not.
53918 (pupa_dl_unload_unneeded): New function.
53919 (pupa_dl_unload_all): Likewise.
53920 (pupa_dl_init): Renamed to ...
53921 (pupa_dl_set_prefix): ... this.
53922 (pupa_dl_get_prefix): New function.
53923
53924 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53925 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53926 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53927 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53928 (pupa_install_dos_part): Declared.
53929 (pupa_install_bsd_part): Likewise.
53930 (pupa_prefix): Likewise.
53931 (pupa_boot_drive): Likewise.
53932
53933 * include/pupa/types.h: Fix a typo.
53934
53935 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53936 pupa_memmove.
53937 (pupa_memmove): Declared.
53938 (pupa_strcpy): Likewise.
53939
53940 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53941 pupa_mod_init takes one argument, its own module.
53942 (pupa_dl_unload_unneeded): Declared.
53943 (pupa_dl_unload_all): Likewise.
53944 (pupa_dl_ref): Likewise.
53945 (pupa_dl_unref): Likewise.
53946 (pupa_dl_iterate): Likewise.
53947 (pupa_dl_init): Renamed to ...
53948 (pupa_dl_set_prefix): ... this.
53949 (pupa_dl_get_prefix): Declared.
53950
53951 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53952 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53953 unloaded.
53954 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53955 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53956
53957 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53958 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53959
012d7999 539602003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53961
53962 * util/i386/pc/pupa-setup.c (setup): Define the internal
53963 function find_first_partition_start at the top level, because GCC
53964 3.0.x cannot compile internal functions in deeper scopes
53965 correctly.
53966 (find_root_device): Use lstat instead of stat.
53967 Don't follow symbolic links.
53968 Fix the path-constructing code.
53969
53970 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53971 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53972 by a BLKGETSIZE ioctl first, because block devices don't fill
53973 the member st_mode of the structure stat on Linux.
53974 [__linux__] (linux_find_partition): Use a temporary buffer
53975 REAL_DEV for the working space. Copy it to DEV before returning.
53976 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53977 buffer cache consistent.
53978 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53979 strncmp. The previous value was merely wrong.
53980 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53981
53982 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53983 FAT size is 12. The previous value was merely wrong.
53984
53985 * kern/main.c (pupa_main): Don't split the starting message from
53986 newlines.
53987
53988 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53989 LF, because BIOS goes crazy about character attributes in this
53990 case.
53991
1cc73a62 539922003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53993
53994 * include/i386/pc/util/biosdisk.h: New file.
53995 * util/i386/pc/biosdisk.c: Likewise.
53996 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53997
1cc73a62 53998 * Makefile.in (INCLUDE_DISTFILES): Added
53999 include/pupa/i386/pc/util/biosdisk.h.
54000 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54001 directory util/i386/pc.
54002 (install-local): Added a rule for sbin_UTILITIES.
54003 (uninstall): Likewise.
54004
54005 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54006
54007 * util/misc.c (xrealloc): New function.
54008 (pupa_malloc): Likewise.
54009 (pupa_free): Likewise.
54010 (pupa_realloc): Likewise.
54011 (pupa_stop): Likewise.
54012 (pupa_putchar): Likewise.
54013
54014 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54015
54016 * include/pupa/util/misc.h (xrealloc): Declared.
54017
54018 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54019 macro.
54020 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54021 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54022
54023 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54024 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54025
54026 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54027 way should be implemented.
54028 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54029
54030 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54031 the size of NAME for safety.
54032 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54033 0x88.
54034
54035 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54036 (pupa_setup_SOURCES): Likewise.
54037
54038 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54039
08b70fe8 540402002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54041
54042 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54043 bunch of pushl's from pusha, because this destroys the return
54044 value.
54045
62ddcc8f 540462002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54047
54048 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54049 This means that any missing prototypes could be fatal. Also, you
54050 must take care when writing assembly code. See the comments at
54051 the beginning of startup.S, for more details.
f19dbdb7 54052
62ddcc8f 54053 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54054 compilation mechanism.
54055 (pupa_chainloader_real_boot): Likewise.
54056 (pupa_biosdisk_rw_int13_extensions): Likewise.
54057 (pupa_biosdisk_rw_standard): Likewise.
54058 (pupa_biosdisk_check_int13_extensions): Likewise.
54059 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54060 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54061 (pupa_get_memsize): Likewise.
54062 (pupa_get_mmap_entry): Likewise.
54063 (pupa_console_putchar): Likewise.
54064 (pupa_console_setcursor): Likewise.
54065 (pupa_getrtsecs): Use pushl instead of push.
54066
54067 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54068 memory instead of the stack for a mmap entry, because some
54069 BIOSes may ignore the maximum size and overflow.
54070
54071 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54072
54073 * genmk.rb (PModule#rule): Compile automatically generated
54074 sources with module-specific CFLAGS as well as other sources.
54075
9962ed99 540762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54077
54078 * configure.ac: Check ld.
54079 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54080 respectively, before checking endianness and sizes.
54081
54082 * Makefile.in (LD): New variable.
f19dbdb7 54083
abdfc3c5 540842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54085
54086 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54087
6a161fa9 540882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54089
54090 * Changelog: New file.
54091