]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Add missing static qualifiers.
[grub2.git] / ChangeLog
CommitLineData
579ee114
VS
12013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Add missing static qualifiers.
4
ee5283d6
VS
52013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Add missing includes.
8
5dbde526
VS
92013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Inline printf templates when possible to enable format checking.
12
d88ae4f0
VS
132013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * include/grub/crypto.h: Don't discard const attribute.
16
17b43559
VS
172013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
20 was intended.
21
76a2a430
VS
222013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/lib/crypto.c: Don't discard const attribute.
25
0d26164e
VS
262013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/lib/disk.c: Fix potential overflow.
29
2622b1e8
VS
302013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/lib/arg.c: Don't discard const attribute.
33
05126706
VS
342013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/kern/dl.c: Don't discard const attribute.
37
2f9c4804
VS
382013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/disk.c: Fix potential overflow.
41
0438ebf1
VS
422013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * conf/Makefile.common: Don't include non-existing directory
45 grub-core/lib/libgcrypt-grub/include.
46
065adc34
VS
472013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
48
49 Clarify several translatable messages.
50
496a6b30
DP
512013-12-21 David Prévot <david@tilapin.org>
52
53 Correct some translatable strings.
54
971038be
CW
552013-12-21 Colin Watson <cjwatson@ubuntu.com>
56
57 * util/grub-mkrescue.c: Rephrase mkrescue description.
58
bfdfeb25
VS
592013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
602013-12-21 Colin Watson <cjwatson@ubuntu.com>
61
62 Clarify several translatable messages.
63
d642d761
CW
642013-12-20 Colin Watson <cjwatson@ubuntu.com>
65
66 Be more verbose about some configure failures.
67
3bc1b2da
CW
682013-12-20 Colin Watson <cjwatson@ubuntu.com>
69
70 Fix various build problems on GNU/Hurd.
71
72 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
73 !defined (__GNU__).
74 (xgetcwd): Likewise.
75 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
76 [__GNU__]: Add prototype.
77 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
78 long int using %ld rather than %d.
79
871aa709
VS
802013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * util/grub-install.c: Inform user about install platform.
83
2fa5a58c
VS
842013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * configure.ac: Set version to 2.02~beta1.
87
ee281fd0
AP
882013-12-18 Allen Pais <allen.pais@oracle.com>
892013-12-18 Bob Picco <bob.picco@oracle.com>
90
91 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
92
2e238b37
VS
932013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Make grub_zlib_decompress handle incomplete chunks.
96
97 Fixes squash4.
98
2984035e
VS
992013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
102 on i386-multiboot.
103
b9f03772
AN
1042013-12-18 Aleš Nesrsta <starous@volny.cz>
105
106 * grub-core/disk/usbms.c: Retry on unknown errors.
107 Reuse the same tag on retries.
108
e3ef0d30
AN
1092013-12-18 Aleš Nesrsta <starous@volny.cz>
110
111 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
112
113 Avoid confusing them with already completed transfers.
114
72c9a507
VS
1152013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
116
117 Remove xen VFB.
118
119 Due to XEN bug it prevents Linux boot. Remove it at least, until
120 workaround is found.
121
84455670
VS
1222013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * po/exclude.pot: Add 2 missing excludes.
125
64dd5fdc
VS
1262013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Add missing license section in macbless.mod and macho.mod.
129
a29f317a
VS
1302013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Allow compilation without thumb-interwork as long as no thumb is
133 involved or only thumb2 is used.
134
063f2a04
VS
1352013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Use -Wl,--no-relax rather than -mno-relax for uniformity.
138
113f7869
VS
1392013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * INSTALL: Update comment as to why sparc64 clang isn't usable.
142
eba2afed
VS
1432013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Add __attribute__ ((sysv_abi)) only if it's really needed.
146
147 Some compilers don't support it.
148
1962ed95
VS
1492013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
152
c2be6f7e
VS
1532013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Remove -Wold-style-definition.
156
157 Not very useful and interaction of it with regexp depends on GCC
158 version.
159
7a7f5238
VS
1602013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Make grub_util_get_windows_path_real static.
163
9246d5c8
VS
1642013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/commands/fileXX.c: Silence cast-align.
167 * grub-core/loader/i386/xen_fileXX.c: Likewise.
168
b3aea1bc
VS
1692013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
172 rather than LL suffix.
173
bc8dd119
VS
1742013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
175
e8c360ca
VS
176 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
177
1782013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 181
57a691b7
VS
1822013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
183
184 Decrease number of strings to translate.
185
74fa9417
VS
1862013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
189
636977b0
VS
1902013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Mark strings for translation and add remaining ones to exclude list.
193
ee4450eb
VS
1942013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub-file.c (main): Fix sizeof usage.
197
1982013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
199
200 Silence spurious warning.
201
ee4450eb 2022013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
203
204 Remove check_nt_hiberfil as it's been superseeded by file command.
205
a99c0a32
VS
2062013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * docs/osdetect.cfg: Add isolinux config to detected OSes.
209
8f5add13
VS
2102013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
211
212 Implement syslinux parser.
213
8ff35d0a
VS
2142013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
217
ba144760
VS
2182013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Support cpuid --pae.
221
daaa89db
VS
2222013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
223
224 Use AT keyboard on Yeeloong 3A.
225
25a7863d
VS
2262013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
227
228 Add Yeeloong 3A reboot and halt.
229
184c61dd
VS
2302013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Add Radeon Yeeloong 3A support.
233
fd4650a5
VS
2342013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
235
236 Add bonito 3A support.
237
3e88fbfa
VS
2382013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
241
1123bed9
VS
2422013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
245
ebda165f
VS
2462013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/loader/macho.c: Fix compilation on non-i386.
249
fe7c20bf
VS
2502013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
251
252 Add missing format_arg attribute to check that printf with translated
253 messages has proper arguments.
254
f4dab3d1
VS
2552013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
256
257 Use grub_xasprintf to format translated error messages containing
258 64-bit quantity.
259
24d5934d
JM
2602013-12-17 Jon McCune <jonmccune@google.com>
261
262 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
263
d6c2782a
VS
2642013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Unify message for unsupported relocation.
267
50d2e959
VS
2682013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Mark miscompile error for translation.
271
18e76955
VS
2722013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Use %I64 and not %ll when using OS printf if compiling for windows.
275
d218ec97
VS
2762013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
277
278 Update Mac code to match new register_efi prototype.
279
b8765fa0
VS
2802013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Implement better integration with Mac firmware.
283
1f032575
VS
2842013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/loader/multiboot_mbi2.c: Implement special value for
287 load_addr.
288
14829755
VS
2892013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Include serial module in default_payload.elf.
292
d45067a2
VS
2932013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
294
295 Add explicit thumb interwork bx in asm files.
296
297 Shouldn't matter for armv >= 5 but let's be safe.
298
30861754
VS
2992013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Implement Truecrypt ISO loader.
302
e14d409b
VS
3032013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/lib/arg.c: Ensure at least a single space between commands.
306
ec824e0f
VS
3072013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Implement grub_file tool and use it to implement generating of config
310 in separate root.
311
296f7606
VS
3122013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
313
314 Change to v1 xen grants.
315
2c384f1e
VS
3162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
319
320 GRUB relied on %ebx being preserved across hypercall which isn't true.
321
d16ff589
VS
3222013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
325
326 GRUB relied on %rdi being preserved across hypercall which isn't true.
327
71669c3b
VS
3282013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
329
330 Implement XEN VFB support.
331
60d1dd3d
VS
3322013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
333
334 Remove grub_bios_interrupt on coreboot.
335
336 It's not used currently and cannot be used safely currently.
337
a8201050
VS
3382013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
339
340 Update exclude.pot and mark few strings for translation.
341
6cc89597
VS
3422013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
345
346 Reported by: Jon McCune
347
840a2c05
AB
3482013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
349
350 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
351 Add verbose information which firmware directories were tried.
352
35248820
AB
3532013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
354
355 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
356 function to optionally redirect all three standard descriptors.
357 Redefine grub_util_exec, grub_util_exec_redirect and
358 grub_util_exec_redirect_null to use it.
359 * include/grub/emu/exec.h: Define it.
360 * include/grub/osdep/exec_unix.h: Delete, it is unused.
361 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
362 Use grub_util_exec_redirect_all to redirect error to NULL.
363
2a123f4c
VS
3642013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/tests/sleep_test.c: Silence spurious warning.
367
316c8d9a
VS
3682013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
371 linker trying to "fixup" the code.
372
8fcce8d5
VS
3732013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/kern/x86_64/xen/startup.S: Align stack.
376
6f1f6a0c
VS
3772013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Add support for converting PE+ to Elf64.
380
66a07ce2
VS
3812013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
384
cc6fb517
VS
3852013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Remove practice of assigning random const pointers to device id.
388
389 This is not required as cache code already checks driver id as well.
390
f009f07c
VS
3912013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
394 with mingw.
395
9fdec226
VS
3962013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * include/grub/efi/api.h: Don't use call wrappers when compiled with
399 mingw or cygwin as API already matches.
400
d87cb3ae
VS
4012013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
404
3e38c31a
VS
4052013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
408 not on long.
409
f4171ebd
VS
4102013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Handle X86_64_PC64 relocation.
413
414 Those are generated by some cygwin compilers.
415
252a289c
VS
4162013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Determine the need for mingw-related stubs at compile time rather than
419 using not very significant $target_os.
420
23d2abc3
VS
4212013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
424 may not work with ELF.
425
4f979ccb
VS
4262013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
427
428 Use unix functions for temporary files and special files on cygwin.
429
37378f74
VS
4302013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Define functions explicitly rather than using --defsym in tests
433 whenever possible. Respect locality in remaining cases.
434
6a09d83e
VS
4352013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
438
e477187b
AB
4392013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
440
441 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
442 unlikely errors when getting EFI variables and make exhaustive search
443 for all BootNNNN variables to find matching one.
444
80b865bd
IC
4452013-12-15 Ian Campbell <ijc@hellion.org.uk>
446
447 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
448
04b02857
VS
4492013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
450
451 New functional test for sleep function.
452
453 This test allows to check sleep without qemu. Keep qemu version as
454 well as functional test won't notice if all clocks are going too fast
455 or too slow.
456
39711101
VS
4572013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
458
459 Add explicit sysv_abi on amd64 asm routines.
460
d99af4f0
VS
4612013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
464 num_table_entries.
465
71043684
VS
4662013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
469 functions.
470
111bf5db
VS
4712013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
474 appropriate.
475
24ca71c9
VS
4762013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
479
48ba5c0c
VS
4802013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
483 appropriate.
484
8ae67045
VS
4852013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
488
489 In case of quick removal of loopback and adding another one it may
490 get same ID, confusing the cache system.
491
ed559310
VS
4922013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
495 appropriate.
496
8fa26279
VS
4972013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
500 than converting to long.
501
6f5f3337
VS
5022013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
505
e7c418c5
VS
5062013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
509 than almost useless pointer.
510
7e47e27b
VS
5112013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Add gcc_struct to all packed structures when compiling with mingw.
514
515 Just "packed" doesn't always pack the way we expect.
516
ae8159b9
VS
5172013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
520
74e7ad66
VS
5212013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * util/grub-pe2elf.c: Fix handling of .bss.
524
814442ba
VS
5252013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Implement windows flavour of EFI install routines.
528
5f5bb107
VS
5292013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
532
a24725cc
VS
5332013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
534
535 Change grub_install_register_efi interface to pass GRUB device.
536
537 This allows grub_install_register_efi to request partition info
538 directly.
539
38933cee
VS
5402013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
543
6d3cfe50
VS
5442013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Do not use TCHAR string functions as they are not available on cygwin.
547
4bad23a1
VS
5482013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Workaround windows bug when querying EFI system partition parameters.
551
6a5fe132
VS
5522013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
555 by using bitfields.
556
bc8fcf4b
VS
5572013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
560
60b967be
VS
5612013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
562
563 Make i386-* other than i386-pc compileable under cygwin.
564
6dc33377
VS
5652013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
566
567 Fix definition of grub_efi_hard_drive_device_path. Take care that
568 existing code would work even if by some reason bogus definition is
569 used by EFI implementations.
570
f2c6ff15
VS
5712013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
574
6b8a1625
VS
5752013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
578 invocation.
579
954c723a
VS
5802013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/config.c: Remove trailing newline from distributor in simple
583 parsing.
584
607a39f9
VS
5852013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * include/grub/efi/api.h: Rename protocol and interface to avoid
588 conflict.
589
df6fedca
VS
5902013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
593 entries.
594
f684d7e1
VS
5952013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/osdep/exec.c: Use unix version on cygwin.
598
0df77d79
VS
5992013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
600
601 Implement multiboot2 EFI BS specification.
602
dafff9ce
VS
6032013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/normal/charset.c: Fix premature line wrap and crash.
606 Crash happened only in some cases like a string starting at the
607 half of the screen of same length.
608
6644d973
VS
6092013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
612 with EFI counterpart.
613
44bbfa33
VS
6142013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
615
616 Propagate the EFI commits to x86-efi specific parts.
617
3e3dff24
VS
6182013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/commands/efi/lssal.c: Fix terminating condition.
621
316dda71
VS
6222013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Introduce grub_efi_packed_guid and use it where alignment is not
625 guaranteed.
626
219401b8
VS
6272013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * include/grub/efi/api.h (grub_efi_device_path): Define length as
630 unaligned u16 rather than u8[2].
631
30d00537
VS
6322013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
635 for relocation range.
636
979742bc
VS
6372013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
640 non-function pcrel21b relocation. It happens with .text.unlikely
641 section.
642
16c8f785
LL
6432013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
644
645 * make MAX_USABLE_ADDRESS platform-specific
646 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
647
3f1423e7
LL
6482013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
649
650 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
651
dd73313c
JM
6522013-12-09 Jon McCune <jonmccune@google.com>
653
654 * Add --no-rs-codes flag to optionally disable reed-solomon codes
655 in grub-install and grub-bios-setup for x86 BIOS targets.
656
eaf01c25
VS
6572013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Add missing compile and link options for sparc64-emu.
660
7a148da6
VS
6612013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Implement sparc64 trampolines (needed for sparc64-emu).
664
21eee750
VS
6652013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
668 range of R_SPARC_HI22.
669 Implement R_SPARC_LM22.
670
7b54b626
VS
6712013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
674 Do not explicitly check for symbol table as it's already checked in
675 platform-independent layer.
676
9a945e2a
VS
6772013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
680 on ia64 as __clear_cache is a dummy on ia64.
681
4f4ea1b4
VS
6822013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
685 Do not explicitly check for symbol table as it's already checked in
686 platform-independent layer.
687
fe4ae213
CW
6882013-12-09 Colin Watson <cjwatson@ubuntu.com>
689
690 * util/grub-mkconfig.in: Add missing newline to output.
691
78b2b0a1
VS
6922013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
695 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
696
d14772c4
VS
6972013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
700 compilation with GCC <= 4.2.
701 * grub-core/kern/emu/argp_common.c: Likewise.
702
388f3cd0
VS
7032013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
706 right platform rather than leaking to sparc64-emu.
707
11e4167a
VS
7082013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
711 But ensure that the variables in question are indeed unsigned.
712
fa7eb63d
VS
7132013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
716
50b3a68d
VS
7172013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Remove grub_memalign on emu.
720
fbbfb6ab
VS
7212013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
724 truncate incomplete lines but instead flushes them.
725
a19293cb
VS
7262013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
727
728 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
729 and implement windows variant.
730
d5c14e1e
VS
7312013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Fix mips-emu compilation.
734
b75db69a
VS
7352013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * configure.ac: Check for freetype library usability.
738
c311ced5
VS
7392013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Make arm-emu work.
742
c8fd2ddf
VS
7432013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
746
c50e5f45
AB
7472013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
748
749 * docs/grub.texi (Environment): Update color_normal and color_highlight
750 defaults (light-gray instead of white).
751
bb05e313
AB
7522013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
753
754 * grub-core/normal/main.c (INIT): Set default color to light-gray
755 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
756 and apparently BIOS defaults.
757
f23bc651
VS
7582013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
759
760 Transform -C option to grub-mkstandalone to --core-compress available
761 in all grub-install flavours.
762
4c4ea9c7
VS
7632013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Merge GRUBFS and GRUB_FS variables.
766
92e9352d
AB
7672013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
768
769 Revert commit 69ca97c820, it caused failures when using OS device name
770 in grub-install. Instead just strip off parenthesis in grub-install
771 if (hdX) was passed.
772
f585c905
AB
7732013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
774
775 * util/grub-install.c (push_partmap_module): Add helper to convert
776 partmap names to module names and use it in probe_mods(). Fixes
777 failure to find partmap modules in diskfilter case.
778
5ff24907
VS
7792013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * configure.ac: Make unifont mandatory on coreboot.
782
0277eab7
VS
7832013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * configure.ac: Skip unifont 6.3 pcf and bdf.
786
4861b6c8
VS
7872013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * Makefile.am: Remove partial font files if generation failed.
790
3100cdc7
AB
7912013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
792
793 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
794 strings.
795 * include/grub/util/misc.h: Define it ...
796 * util/grub-install.c (device_map_check_duplicates): ... and use it.
797
ad73cc33
AB
7982013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
799
800 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
801 ${grub_probe}.
802
41822625
VS
8032013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Don't add -mlong-calls when compiling with clang.
806
896f483d
VS
8072013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * configure.ac: Fix a typo.
810
8c534b85
VS
8112013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Revamp relocation handling.
814
815 Move more code to common dl.c. Add missing veneers for arm and arm64.
816 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
817
a846dd4b
VS
8182013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
821
aa437b58
MG
8222013-12-05 Mike Gilbert <floppym@gentoo.org>
823
824 * INSTALL: Raise minimum python version to 2.6.
825 * gentpl.py: Use python3-style print function.
826
b0f311f4
VS
8272013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * util/grub-install.c: Mention Boot* variable.
830
59b38922
CW
8312013-12-05 Colin Watson <cjwatson@ubuntu.com>
832
833 * grub-core/osdep/linux/hostdisk.c
834 (grub_util_find_partition_start_os): Initialise start to avoid
835 spurious compiler warning.
836
0480665b
CW
8372013-12-05 Colin Watson <cjwatson@ubuntu.com>
838
839 On Linux, read partition start offsets from sysfs if possible, to
840 cope with block device drivers that don't implement HDIO_GETGEO.
841 Fixes Ubuntu bug #1237519.
842
843 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
844 function.
845 (sysfs_partition_start): Likewise.
846 (grub_util_find_partition_start_os): Try sysfs_partition_start
847 before HDIO_GETGEO.
848
bbeee1c4
LL
8492013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
850
851 * grub-core/kern/fdt.c: Update struct size when adding node.
852
e5ed2f69
VS
8532013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Handle unaligned .bss on sparc64.
856
857 Current code improperly assumes that both __bss_start and _end are
858 aligned to 8-bytes. Eliminating this assumption and explicitly align
859 modules.
860
4a73746a
VS
8612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
864 so it doesn't land in the middle of loaded image.
865
382b500e
VS
8662013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * configure.ac: Move all warning options that may be absent in
869 gcc >= 3.1 to optional.
870
871 Note: while this allows to compile with older GCC, official requirements
872 remain the same and no support for older GCC.
873
3a82f8bb
CW
8742013-12-04 Colin Watson <cjwatson@ubuntu.com>
875
876 Copying the themes directory in grub-shell isn't
877 parallel-test-friendly and breaks on the second test when the source
878 directory is read-only (as in "make distcheck"). Instead, add a
879 hidden --themes-directory option to grub-mkrescue et al, and use it
880 in grub-shell.
881
e3046431
VS
8822013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
885 as it's no longer necessarry.
886
bdb6090d
VS
8872013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * configure.ac: Allow compilation with older GCC for ARM.
890
b73b70eb
VS
8912013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
894 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
895 ppc.
896
8a3f0a24
VS
8972013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
900
6f07c4e4
VS
9012013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Pass font config to config.h and not by TARGET_CFLAGS as adding
904 arguments doesn't work if TARGET_CFLAGS is specified on command
905 line.
906
60d5e9cb
VS
9072013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * configure.ac: Add -Wvla if compiler supports it.
910
cd15c394
VS
9112013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
914 Remove variable length arrays.
915 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
916
bb6e299c
VS
9172013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
920
85eb579a
VS
9212013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * include/grub/types.h: Declare all byteswaps as inline functions
924 except compile-time ones.
925
926 Solves variable shadowing in constructions like
927 cpu_to_le (le_to_cpu(x) + 1).
928
47f88cc9
VS
9292013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/kern/efi/efi.c: Remove variable length arrays.
932
40b5739f
VS
9332013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
936 minutes.
937
234d9346
VS
9382013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
941 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
942
0c0eab52
CW
9432013-12-03 Colin Watson <cjwatson@ubuntu.com>
944
945 * grub-core/Makefile.core.def (setjmp): Distribute
946 lib/arm64/setjmp.S.
947
44d48847 9482013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
949
950 Add a new timeout_style environment variable and a corresponding
951 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
952 controls hidden-timeout handling more simply than the previous
953 arrangements, and pressing any hotkeys associated with menu entries
954 during the hidden timeout will now boot the corresponding menu entry
955 immediately.
956
957 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
958 generates a warning, and if it shows the menu it will do so as if
959 the second timeout were not present. Other combinations are
960 translated into reasonable equivalents.
961
10955cda
CW
962 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
963
9e4e6ddf
VS
9642013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * util/config.c: Add missing pointer adjustment.
967 Reported by: qwertial
968
5037aa9a
AB
9692013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
970
971 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
972 directly, not via `cpu' link, to fix libgrub.pp generation.
973
8a952d20
VS
9742013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
975
976 New port arm64-efi.
977
be0d4555
AB
9782013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
979
980 * docs/grub.texi (sleep): Document exit codes.
981
d74b9a1d
VS
9822013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
983
984 Ensure that -mno-unaligned-access or some equivalent option is used.
985
35de6d4b
VS
9862013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
989 -march=armv3.
990
ce55ed03
VS
9912013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
992
993 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
994
8ddf84bf
CW
9952013-11-29 Colin Watson <cjwatson@ubuntu.com>
996
997 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
998 builds, since we don't have an EPS version of font_char_metrics.png.
999 Add leading dot to image extension per the Texinfo documentation.
1000
fd0df6d0
CW
10012013-11-29 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1004 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1005 * util/grub-gen-widthspec.c: Likewise.
1006 * util/grub-mkfont.c: Likewise.
1007
69ca97c8
AB
10082013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1009
1010 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1011 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1012 failed to install on (hdX).
1013 * util/grub-setup.c (get_device_name): Remove, not needed after
1014 above change.
1015
eec893ae
VS
10162013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1019
621e167f
VS
10202013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-fstest.c: Remove variable length arrays.
1023
d54f647a
VS
10242013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1027
c8a0f1b2
VS
10282013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1031 computing crc32 rather than handling with md fundtions directly.
1032
726409a5
VS
10332013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1036 checking fwstart.img rather than md fundtions directly.
1037
422e6e88
VS
10382013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * util/grub-mkrescue.c (main): Check that fread succeeded.
1041
af1faca3
VS
10422013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * conf/Makefile.common: Remove -mexplicit-relocs and
1045 -DUSE_ASCII_FALLBACK on yeeloong.
1046
1047 -DUSE_ASCII_FALLBACK is already added by font snippets.
1048 -mexplicit-relocs isn't needed is compiler/assemblera are
1049 configured properly.
1050 If they're not we shouldn't attempt to fix it by ourselves.
1051 Binary compare between before and after shows no difference.
1052
469021b4
VS
10532013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1056 sources in dependencies directly.
1057
1058 This was the only instance of "library" in core config. A bug was
1059 reported that -fno-stack-protector wasn't passed to it. Instead of
1060 figuring out why it failed just remove this construction used
1061 needlessly.
1062
83c256ba
VS
10632013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1066 fgets succeeded.
1067
b67422d3
FL
10682013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1069
1070 * docs/grub.texi (ls): Fix command description in case of a device name
1071 passed as argument.
1072
2d76b4d8
VS
10732013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 Eliminate variable length arrays in grub_vsnprintf_real.
1076
1077 A bit tricky because this function has to continue to work without
1078 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1079 but make all stack references use 32-bit offset rather than 8-bit one.
1080 So split va_args preparsing to separate function and put the prealloc
1081 into the caller.
1082
4f954122
VS
10832013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1086 Fixes build for windows.
1087
b1f742c1
VS
10882013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * gentpl.py: Don't generate platform-dependent conditionals for
1091 platform-independent targets.
1092
16ef26fd
CW
10932013-11-27 Colin Watson <cjwatson@ubuntu.com>
1094
1095 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1096 references to mdadm from otherwise generic code.
1097 (grub_util_exec_pipe): Likewise.
1098 (grub_util_exec_pipe_stderr): Likewise.
1099 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1100 This function calls vgs, not mdadm; adjust variable names
1101 accordingly.
1102
cf8c80ff 11032013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1104
1105 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1106 of Autogen. The Autogen definitions files remain intact as they
1107 offer a useful abstraction.
1108
5c7206e4
CW
11092013-11-27 Colin Watson <cjwatson@ubuntu.com>
1110
1111 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1112 into no-ops, and use it in programs that copy files but do not need
1113 to take special care to sync writes (grub-mknetdir, grub-rescue,
1114 grub-mkstandalone).
1115
fc3f2b72
CW
11162013-11-26 Colin Watson <cjwatson@ubuntu.com>
1117
1118 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1119 than hardcoding /usr/local/bin/xorriso.
1120
1e4b3587
VS
11212013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Add PCI command activation to all PCI drivers as required for coreboot
1124 and maybe some other firmwares.
1125
9208367d
VS
11262013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1129 and non-Apple variants of efiemu compile.
1130
67b9b7af
AB
11312013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1132
1133 * configure.ac: Add explicit check for linking format of
1134 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1135 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1136 hardcoding linking format.
1137
bee1b5ce
VS
11382013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1141 and not pkgdatadir.
1142
07e3b047
CW
11432013-11-25 Colin Watson <cjwatson@ubuntu.com>
11442013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 Add a --locale-directory option to grub-install and related tools.
1147
1148 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1149 --locale-directory option.
1150 (enum grub_install_options): Add
1151 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1152 * util/grub-install-common.c (grub_install_help_filter): Handle
1153 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1154 (grub_install_parse): Likewise.
1155 (get_localedir): New function to check for a user-provided option
1156 before trying grub_util_get_localedir.
1157 (copy_locales): Use get_localedir rather than
1158 grub_util_get_localedir. Handle differing locale directory layouts.
1159 (grub_install_copy_files): Likewise.
1160
61e1b9a4
VS
11612013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1164 Don't rely on PATH_MAX.
1165
c98dd165
VS
11662013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/genmoddep.awk: Use more portable && rather than and.
1169
ff1c277e
VS
11702013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1173 an object after data. While it doesn't seem right solution, it
1174 works well enough and OSX isn't main compilation platform.
1175
c8f7614b
VS
11762013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1179 While it doesn't seem right solution, it works well enough and
1180 OSX isn't main compilation platform.
1181
246a434f
VS
11822013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * configure.ac: Add -static to LDFLAGS when using apple linker to
1185 prevent it from pulling in dynamic linker.
1186
5c066a81
VS
11872013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 Apple assembly doesn't handle symbol arithmetic well. So define an
1190 offset symbol in boot.S and use it.
1191
78f961ef
VS
11922013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Apple assembly doesn't handle symbol arithmetic well. So instead
1195 of getting addres of kernel_sector + 4 define kernel_sector_high.
1196 It also makes code more readable.
1197
09bc0a57
VS
11982013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 With Apple assembly in .macro environvemnt you have to use $$ instead
1201 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1202 to $$x on Apple and to $x on everything else.
1203
b700a427
VS
12042013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1207 OBJCONV.
1208
4480b95d
VS
12092013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1212 and non-Apple. This instruction is shorter and faster,
1213 so no reason not to use it on both.
1214
e77c81f6
VS
12152013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1218 .text when compiling for Apple.
1219
971dbee5
VS
12202013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1223
6f2e82be
VS
12242013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1227 %dx restore the probe worked on non-existant drive. Reorganize the
1228 code a little bit to free 2 bytes necessary for push/pop.
1229
9eec9699
VS
12302013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1233 Add missing cast to silence warning.
1234
5ae5c54c
KPA
12352013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1236
1237 * util/grub-install.c (update_nvram): Support --no-nvram flag
1238 for EFI targets.
1239
7b04fe6c
VS
12402013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1243
e67566ce
VS
12442013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * util/garbage-gen.c: Add missing include of sys/time.h.
1247
f93ddcfd
VS
12482013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 Don't add -mflush-func if it's not supported by compiler.
1251
1bba40f5
VS
12522013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 Move common BIOS/coreboot memory map declarations to
1255 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1256
f65e14dc
AB
12572013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1258
1259 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1260
14a94bba
VS
12612013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * INSTALL: Document why older clang versions aren't appropriate.
1264
8109c5d4
VS
12652013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * INSTALL: Document about clang for mips.
1268
a92b5cb8
VS
12692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1272 clang.
1273
4a23e2fe
VS
12742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Add *-xen to the list of grub-install-common platforms.
1277
a3ba7410
VS
12782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1281 3 last commits.
1282
e1c22419
VS
12832013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1286
189090ce
VS
12872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1290 with -mcmodel=large.
1291
1a5b7b40
VS
12922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1295 range-checking for 32-bit quantities.
1296
9cf12b20
VS
12972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * configure.ac: Compile with -fPIC when compiling with clang on
1300 mips.
1301
63a45330
VS
13022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1305 when compiling with clang.
1306
4a0aaad0
VS
13072013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 clang emits calls to abort () under some unknown conditions.
1310 Export abort () when compiling with clang.
1311
095bb1bf
VS
13122013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * docs/grub-dev.texi: Document stack and heap sizes.
1315
3937bd96
VS
13162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * include/grub/i386/pc/memory.h: Decrease
1319 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1320 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1321 The binary doesn't change (checked). It's more to better reflect actual
1322 usage.
1323
ddb3efc9
VS
13242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1327 at compile time that enough of scratch size is available.
1328
4e42521d
VS
13292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1332 Previously we misaligned stack by 8 in startup.S and compensated
1333 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1334 right behaviour is to align stack in startup.S and keep it aligned
1335 in callwrap.S. startup.S part was committed few commits before. This
1336 takes care of callwrap.S.
1337 Reported by: Gary Lin.
1338
054efe54
VS
13392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1342 .data and .bss. May happen if compiler and assembly use different
1343 alignment.
1344
a0e1befb
VS
13452013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1348 way.
1349
c36c73f6
VS
13502013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Add support for a new magic symbol _gp_disp on mips to handle PIC
1353 binaries.
1354
6f4a19f5
VS
13552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1358
0d8f04cd
VS
13592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1362 when rest of GRUB is compiled for hisher stepping. Instead use
1363 .set mips3/.set mips1 around cache and sync opcodes.
1364
49060520
VS
13652013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1368 do essentially the same thing, do it in similar way.
1369
c6a823e2
CW
13702013-11-21 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * util/grub-mkrescue.c (main): If a source directory is not
1373 specified, read platform-specific files from subdirectories of
1374 pkglibdir, not pkgdatadir.
1375
b7f9aedf
CW
13762013-11-21 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * grub-core/normal/progress.c: Remove unused file.
1379
7dd0a303
VS
13802013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1383 array.
1384
ca120e31
VS
13852013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1388 than grub.cfg.
1389
48eb35cd
VS
13902013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * coreboot.cfg: Add missing file.
1393
7f20dbbc
VS
13942013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1397
55e706c9
AK
13982013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1399
1400 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1401 selectively skipping systems.
1402
4e7d433d
CW
14032013-11-19 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * Makefile.util.def (grub-mkimage): Add
1406 grub-core/osdep/aros/config.c to extra_dist.
1407 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1408 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1409 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1410 grub-core/gnulib-no-gets.diff.
1411
7d44ff7d
VS
14122013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Add automated filesystem checking based on scripts I've used now for
1415 quite some time locally. Most of the test require root so they are
1416 skipped when run without necessarry privelegies.
1417
a8c3e5e3
CW
14182013-11-19 Colin Watson <cjwatson@ubuntu.com>
1419
1420 * util/grub-install.c (main): Adjust info messages to match
1421 installed paths of grub-bios-setup and grub-sparc64-setup.
1422
4402db3e
CW
14232013-11-19 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * util/grub-install-common.c (copy_locales): Consistently use
1426 grub_util_get_localedir () rather than LOCALEDIR.
1427 (grub_install_copy_files): Likewise.
1428
7960d3e1
JT
14292013-11-19 Josh Triplett <josh@joshtriplett.org>
1430
1431 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1432 16-byte boundary, as required by the x86-64 ABI, before calling
1433 grub_main. In some cases, GCC emits code that assumes this
1434 alignment, which crashes if not aligned. The EFI firmware is also
1435 entitled to assume that stack alignment without checking.
1436
d53f4900
JT
14372013-11-18 Josh Triplett <josh@joshtriplett.org>
1438
1439 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1440 4k page boundaries as expected by firmware rather than 1k
1441 boundaries.
1442 (grub_mmap_malign_and_register): Likewise.
1443
bb2b275b
VS
14442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1447 fragmentation 512M is enough.
1448
45bf8b3a
VS
14492013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1452 pointer to 32K. This is the size of cache element which is the most
1453 common allocation >1K. This way the pointer is always around blocks
1454 of 32K and so we keep performance while decreasing fragmentation.
1455
39ff43c5
VS
14562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1459 current memory when allocating large chunks. This significantly
1460 decreases memory fragmentation.
1461
60870be8
CW
14622013-11-18 Colin Watson <cjwatson@ubuntu.com>
1463
1464 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1465 but for symmetry).
1466 * tests/lzocompress_test.in: Skip if lzop is not installed.
1467 * tests/xzcompress_test.in: Skip if xz is not installed.
1468
a1f00cc5
CW
14692013-11-18 Colin Watson <cjwatson@ubuntu.com>
1470
1471 * util/grub-mkrescue.c (main): Fix typo.
1472
74e632fe
VS
14732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1476 clock frequency to 200 MHz,
1477
efb8de49
VS
14782013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1481
b7526e78
VS
14822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1485 Load config file from (cbfsdisk)/etc/grub.cfg.
1486
b40ce651
VS
14872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * util/grub-install-common.c (grub_install_copy_files): Fix module
1490 destination directory.
1491
1e8e2e78
CW
14922013-11-18 Colin Watson <cjwatson@ubuntu.com>
1493
1494 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1495 files have not been built.
1496
3bf4088b
CW
14972013-11-18 Colin Watson <cjwatson@ubuntu.com>
1498
1499 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1500 Handle errors from mkstemp.
1501 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1502
35c2851c
VS
15032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1506 on primary master on pseries.
1507
ea7c1a7d
VS
15082013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1511 already loaded. This saves memory needed for tests,
1512
96adefdb
VS
15132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1516 work again.
1517
5e3cb8a7
VS
15182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1521 work again.
1522
256ee7ac
VS
15232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1526 master since with some combinations of qemu and firmware only primary
1527 IDE channel is available.
1528
f8b4c3b6
VS
15292013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1532 low-memory platforms where we don't have enough memory for them.
1533 * grub-core/tests/videotest_checksum.c: Likewise.
1534
4bf70320
VS
15352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1538 already loaded. This saves memory needed for tests,
1539
a284320e
VS
15402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Fix handling of install lists.
1543
2df8f43d
VS
15442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1547
6f1bc8bc
VS
15482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1551 the devices before accessing them.
1552
04f39f6d
VS
15532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1556 as file argument.
1557
35d4761c
VS
15582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1561
33d02a42
VS
15622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1565 (grub_file_close): Free file->name.
1566
7bbb60cf
VS
15672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1570 (grub_load_public_key): Likewise.
1571 (grub_verify_signature_real): Likewise.
1572 (grub_cmd_verify_signature): Likewise.
1573
da93d675
VS
15742013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1577 memory leak.
1578
59c943ec
VS
15792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1582 (grub_longjmp): Restore r31.
1583 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1584
4336b5d8
VS
15852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1588 modules to be in line with make_image_abs.
1589
44ce3a93
VS
15902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1593
1594 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1595
7d400406
IC
15962013-11-17 Ian Campbell <ijc@hellion.org.uk>
1597
1598 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1599
77dae919
VS
16002013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1603 to leave some memory to firmware.
1604
0ab8e025
VS
16052013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1608 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1609 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1610 Load gfxmenu.
1611
b80c2d6d
VS
16122013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1615 now needs full arguments.
1616
6aa6077b
VS
16172013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * util/grub-mkrescue.c (main): Add trailing \n in
1620 .disk_label.contentDetails to be in line with previous shell script.
1621
66c00cb1
VS
16222013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1625
3a129dba
VS
16262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * util/grub-install-common.c (grub_install_parse): Recognize
1629 --compress=none like shell script did.
1630
8df6eff6
VS
16312013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * include/grub/misc.h: Replace check for __sparc64__ with one for
1634 __sparc__ as __sparc64__ isn't actually defined.
1635
889ebe92
VS
16362013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1639 counterpart of fixing the naming of escc ports.
1640
d4d55b29
VS
16412013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * util/grub-install-common.c (platforms): Fix the order of entries and
1644 remove useless field val.
1645
55e2c84f
VS
16462013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * util/grub-install.c: Add new option --no-bootsector to skip
1649 installing of bootsector. Accept --grub-setup=/bin/true as
1650 backwards-compatible synonym.
1651
cd46aa6c
VS
16522013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1653
1654 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1655 order of qsort arguments (number of elements vs. element size).
1656
16572013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1660 the function of these files exceeds what can be sanely handled in shell
1661 in posix-comaptible way. Also writing it in C extends the functionality
1662 to non-UNIX-like OS and minimal environments.
1663
9ef81064
VS
16642013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1667 compiling to thumb2.
1668 * grub-core/kern/arm/cache_armv7.S: Likewise.
1669 * grub-core/lib/arm/setjmp.S: Likewise.
1670
11a77932
LL
16712013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1672
1673 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1674 in grub_uboot_syscall
1675
080603f0
VS
16762013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Decrease stack usage in lexer.
1679
1680 We have only 92K of stack and using over 4K per frame is wasteful
1681
1682 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1683 as macros so that compiler would remove useless structure on stack.
1684 Better solution would be to fix flex not to put this structure on
1685 the stack but flex is external program.
1686
4f84ae0e
VS
16872013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 Decrease stack usage in signature verification.
1690
1691 We have only 92K of stack and using over 4K per frame is wasteful
1692
1693 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1694 rather than stack.
1695 (grub_verify_signature_real): Likewise.
1696
e6a6182d
VS
16972013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 Decrease stack usage in mdraid 0.9x.
1700
1701 We have only 92K of stack and using over 4K per frame is wasteful
1702
1703 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1704 rather than stack.
1705
1a454efe
VS
17062013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Decrease stack usage in BtrFS.
1709
1710 We have only 92K of stack and using over 4K per frame is wasteful
1711
1712 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1713 rather than stack.
1714
7b5d51d8
VS
17152013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 Decrease stack usage in JFS.
1718
1719 We have only 92K of stack and using over 4K per frame is wasteful
1720
1721 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1722 stack. Note: this function is recursive.
1723 (grub_jfs_read_inode): Read only part we care about.
1724
593865b9
LL
17252013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1726
1727 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1728 handling
7b5d51d8 1729
31c0cd43
AB
17302013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1731
1732 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1733
c2fdb331
AB
17342013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1735
1736 * docs/grub.texi (Environment): Document cmdpath.
1737
9e18dfe2
AB
17382013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1739
1740 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1741 Remove "unused" attribute from arguments, they are used.
1742
59ba9d14
CW
17432013-11-15 Colin Watson <cjwatson@debian.org>
1744
1745 * .gitignore: Only ignore grub-mk* at the top level.
1746
23012db9
CW
17472013-11-15 Colin Watson <cjwatson@ubuntu.com>
1748
1749 * util/grub-reboot.in (usage): Fix a typo.
1750
6fcec439
VS
17512013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Replace libgcc version of ctz with our own.
1754
1755 On upcoming arm64 port libgcc ctz* are not usable in standalone
1756 environment. Since we need ctz* for this case and implementation is
1757 in C we may as well use it on all concerned platforms.
1758
a9f25a08
VS
17592013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * configure.ac: Probe for linking format rather than guessing it based
1762 on target_os.
1763
c7995256
VS
17642013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1767 "1" prior to handoff.
1768
1769 Reported by: M A Young.
1770
e1aa5b66
VS
17712013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1774 \0 to all files.
1775
1776 Reported by: M A Young.
1777
da5ed5cf
VS
17782013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1781 compilation on NetBSD.
1782
5757a93e
VS
17832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * acinclude.m4: Don't add -P on initial nm test.
1786
1787 Note: even though this patch postdates Andrey's it bears 14 Nov as
1788 date due to timezone difference.
1789
a5986276
AB
17902013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1791
1792 * grub-core/Makefile.core.def (signature_test): Add missing
1793 tests/signatures.h.
1794
0de172a0
CW
17952013-11-14 Colin Watson <cjwatson@ubuntu.com>
1796
1797 * util/grub-install_header: Set localedir here, since this file is
1798 where it's used.
1799 * util/grub-install.in: Remove setting of localedir.
1800 * util/grub-mkrescue.in: Likewise.
1801
da45f43c
VS
18022013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1805
20aea949
VS
18062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * configure.ac: Move nm checks to the end.
1809 Call grub_PROG_NM_WORKS.
1810 * acinclude.m4: New check grub_PROG_NM_WORKS.
1811 Use $TARGET_CFLAGS -c when compiling test binary.
1812
1326b9ae
CW
18132013-11-14 Colin Watson <cjwatson@ubuntu.com>
1814
1815 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1816 unused variables.
1817
1fe26ab4
MG
18182013-11-14 Matthew Garrett <mjg@redhat.com>
1819
1820 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1821 cmdpath to firmware directory.
1822
83e9c273
VS
18232013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1826 at the start of second iteration.
1827
ec525c18
VS
18282013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1831
93fcc7ad
VS
18322013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * Makefile.am (default_payload.elf): New target for easier coreboot
1835 build.
1836
57ffe934
VS
18372013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1840 clang (not necessarry with -no-integrated-as).
1841 * include/grub/symbol.h [__arm__]: Likewise.
1842
2312f06c
VS
18432013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * configure.ac: Use -no-integrated-as on arm with clang.
1846 * INSTALL: Mention ARM compilation with clang.
1847
2416415c
VS
18482013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1851 -mthumb-interwork.
1852
5da55172
CW
18532013-11-14 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1856 code for indirect block handling.
1857
1858 Saves 185 bytes on compressed image.
1859
da770328
PFS
18602013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1861
1862 Fix make clean.
1863
1864 * Makefile.am: Remove build-grub-* in make clean.
1865
f02e6b56
PFS
18662013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1867
1868 New files to gitignore.
1869
1870 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1871 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1872
035a26c1
LL
18732013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1874
1875 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1876
bc8a6137
LL
18772013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1878
1879 * .gitignore: fix rules for .dep* and add *.a post git migration
1880
6fe506b0
CW
18812013-11-13 Colin Watson <cjwatson@ubuntu.com>
1882
1883 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1884 to match INSTALL.
1885
81a2e438
CW
18862013-11-13 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * grub-core/kern/misc.c: Don't redirect divisions in the
1889 GRUB_UTIL case.
1890 * include/grub/misc.h: Likewise.
1891
9b45c073
CW
18922013-11-13 Colin Watson <cjwatson@ubuntu.com>
1893
1894 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1895 systems that require checking the return value of write.
1896
11b2a9b7
CW
18972013-11-13 Colin Watson <cjwatson@ubuntu.com>
1898
1899 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1900 efibootmgr quiet when --debug is not used, rather than when it is.
1901
d743d22d
CW
19022013-11-13 Colin Watson <cjwatson@ubuntu.com>
1903
1904 * gentpl.py (define_macro_for_platform_dependencies): Remove
1905 first (and thus unused) of two definitions for this function.
1906 (platform_dependencies): Likewise.
1907
11da14b5
CW
19082013-11-13 Colin Watson <cjwatson@ubuntu.com>
1909
1910 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1911 functions, we only need to check this for the target, not the host.
1912 * configure.ac (grub_apple_cc): Likewise.
1913
2bdd0719
VS
19142013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1917 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1918 asm to stay in arm even if surrounding is thumb.
1919
5e77d9cf
VS
19202013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1923 helper functions are needed for thumb.
1924
7d511625
VS
19252013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1928 level / 3 division explicitly unsigned. Saves few bytes.
1929
81023dbd
VS
19302013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1933
b2e9294f
VS
19342013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1937 division.
1938
16a22c38
VS
19392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1942 grub_uboot_boot_data to asm part.
1943
c9cd02c9
VS
19442013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1947 literal load.
1948 (grub_uboot_syscall): Save/restore r9 and align stack.
1949
81498615
VS
19502013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1953
ea57de18
VS
19542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1957 occurencies with END.
1958
d0d1e3da
CW
19592013-11-13 Colin Watson <cjwatson@ubuntu.com>
1960
1961 * util/grub-editenv.c (help_filter, argp): Document how to delete
1962 the whole environment block.
1963 Reported by Dan Jacobson. Fixes Debian bug #726265.
1964
3809f016
CW
19652013-11-13 Colin Watson <cjwatson@ubuntu.com>
1966
1967 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1968 sectioning.
1969
46d8a203
JT
19702013-11-13 Josh Triplett <josh@joshtriplett.org>
1971
1972 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1973 increment/decrement.
1974
513eeb61
VS
19752013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1978 compiling with clang.
1979
bc379c1a
VS
19802013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1983 ".".
1984
19852013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1986
16057d6b
VS
1987 Redirect all divisions to grub_divmod64.
1988
f649a6a8
VS
19892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1992
ef28ee8b
VS
19932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Add missing includes of loader.h.
1996
300f48c5
VS
19972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * configure.ac: Allow disabling themes.
2000
2d357558
LS
20012013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2002
2003 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2004
0c62a5b2
VS
20052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2008 until it becomes operational.
2009
b0720b49
VS
20102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/Makefile.core.def (legacy_password_test): Disable
2013 on platforms where no legacycfg is compiled.
2014 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2015 load legacy_password_test.
2016
d5bab2c0
VS
20172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2020
3ea0ccb3
VS
20212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2024
08772054
VS
20252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2028 strict-aliasing warning.
2029 (fsync): Silence cast warning.
2030
1dcb2715
VS
20312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/commands/verify.c: Remove variable length arrays.
2034 Load gcry_dsa/gcry_rsa automatically.
2035
61c22fdf
VS
20362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/tests/signature_test.c: New test.
2039
431e57a7
VS
20402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2043 API.
2044
b521bb81
VS
20452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2048 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2049
7d06b24e
VS
20502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2053
3bbeade4
VS
20542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/fs/proc.c: Allow \0 in proc files.
2057
ba82db7a
VS
20582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2061
801564c8
VS
20622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2065
ac8cac1d
VS
20662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/ext2.c: Remove variable length arrays.
2069
4b85f122
VS
20702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2073 length arrays.
2074
c35fcdc0
VS
20752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2078 * grub-core/disk/cryptodisk.c: Likewise.
2079 * grub-core/disk/geli.c: Likewise.
2080 * grub-core/disk/luks.c: Likewise.
2081
15decd26
VS
20822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/tests/legacy_password_test.c: New test.
2085 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2086
9c6482b8
VS
20872013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2090
41f26e0e
VS
20912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/tests/pbkdf2_test.c: New test.
2094
2def6616
VS
20952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2098
9e34a34e
VS
20992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/io/lzopio.c: Remove variable length arrays.
2102
5ccaf904
VS
21032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * include/grub/crypto.h: Add maximums on hash size and cipher block
2106 size.
2107
44a387e0
VS
21082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2111
a388e255
VS
21122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/tests/xnu_uuid_test.c: New test.
2115
a1ef7718
VS
21162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2119 covers it).
2120
65ddb300
VS
21212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/commands/hashsum.c: Remove variable length arrays.
2124
31747dd5
VS
21252013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2128 condition.
2129 * tests/grub_func_test.in: Increase memory allocation.
2130
6a74c4df
VS
21312013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2134 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2135 sys/mount.h.
2136
394c3e0a
VS
21372013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2140 (grub_util_get_fd_size_os): ...this.
2141 (grub_hostdisk_flush_initial_buffer): New empty function.
2142
60d31116
VS
21432013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2146 without --defined-only.
2147
8445b011
VS
21482013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2151 rip-relative addressing in prologue.
2152
8506a641
VS
21532013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2156 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2157
66acd9d6
VS
21582013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2161 Add missing semicolon.
2162
348d0535
VS
21632013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2166
0d2d30bb
VS
21672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * configure.ac: Check for lzma.h for enabling liblzma and allow
2170 manual disabling.
2171
631187be
VS
21722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Add missing includes of loader.h.
2175
e756ec82
FZ
21762013-11-11 Fam Zheng <famcool@gmail.com>
2177
2178 * util/grub.d/30_os-prober.in: Add minix entry.
2179
87d62d7d
VS
21802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2183 right buffer for temporary load.
2184
5460cfeb
VS
21852013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2188
89977306
VS
21892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2192 payload.
2193
3617c59b
VS
21942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2197 not Types.h.
2198 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2199 environment.
2200 (LzmaDec_InitDicAndState): Make static.
2201
881c6a10
VS
22022013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2205
2024ade2
VS
22062013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2209
2210 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2211
674ad4f6
VS
22122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * docs/grub-dev.texi: Replace bzr references with git ones.
2215
5b99970e
AB
22162013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2217
2218 * docs/grub.texi (Simple configuration): Remove reference to
2219 grub-reboot from saved default entry description - grub-default
2220 does not use it anymore.
2221
3c2304d5
VS
22222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2225 compiled with.
2226
80cfd940
AB
22272013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2228
2229 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2230
33690255
VS
22312013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Fix grub_machine_fini bitrot.
2234
2235 Reported by: Glenn Washburn.
2236
c61471fc
VS
22372013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2240
54da019f
VS
22412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2244 -DELF.
2245 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2246 instead of ELF*.
2247
22482013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2249
2250 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2251 Add -march=core2 when testing compile of efiemu64.
2252
2253 Thanks Andrey Borzenkov for spotting this.
2254
9612ebc0
VS
22552013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2258 XEN PV environment and load kernels.
2259
1a46a3a4
VS
22602013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2263 * grub-core/loader/multiboot_mbi2.c: Likewise.
2264
2df12551
VS
22652013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2268 handling.
2269
3c980381
VS
22702013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2273
2274 Tested by: Denis 'GNUtoo' Carikli.
2275
800f63d3
VS
22762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2279
9f8acdaa
VS
22802013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2281
5620eb53
VS
2282 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2283 Use to get rounded angle rather than truncated.
2284
22852013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2288 RTS/CTS flow control.
2289
2dc1eb6c
VS
22902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2293 divisions.
2294
b9563c94
VS
22952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2298 Use grub_fatal rather than divide by zero.
2299 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2300
d6d8e9a9
VS
23012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2304 truncate.
2305 (grub_fixed_fsf_divide): Likewise.
2306
d06de6c8
VS
23072013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2310 division by-zero and senseless negative divisions.
2311
6af7d49b
VS
23122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2315 division by-zero and senseless negative divisions.
2316 (circprog_set_property): Don't accept negative num_ticks.
2317
bcfa6d72
VS
23182013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2321 division by-zero and senseless negative divisions.
2322
dd7f792c
VS
23232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * configure.ac: Use elf_*_fbsd on kfreebsd.
2326
d061fda7
VS
23272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/tests/div_test.c: New test.
2330
4db22500
VT
23312013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2332
2333 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2334 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2335 * grub-core/gfxmenu/view.c: Likewise.
2336 * grub-core/video/fb/video_fb.c: Introduce new functions:
2337 grub_video_set_area_status, grub_video_get_area_status,
2338 grub_video_set_region, grub_video_get_region.
2339 * grub-core/video/bochs.c: Likewise.
2340 * grub-core/video/capture.c: Likewise.
2341 * grub-core/video/video.c: Likewise.
2342 * grub-core/video/cirrus.c: Likewise.
2343 * grub-core/video/efi_gop.c: Likewise.
2344 * grub-core/video/efi_uga.c: Likewise.
2345 * grub-core/video/emu/sdl.c: Likewise.
2346 * grub-core/video/radeon_fuloong2e.c: Likewise.
2347 * grub-core/video/sis315pro.c: Likewise.
2348 * grub-core/video/sm712.c: Likewise.
2349 * grub-core/video/i386/pc/vbe.c: Likewise.
2350 * grub-core/video/i386/pc/vga.c: Likewise.
2351 * grub-core/video/ieee1275.c: Likewise.
2352 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2353 * include/grub/video.h: Likewise.
2354 * include/grub/video_fb.h: Likewise.
2355 * include/grub/fbfill.h: Updated render_target structure.
2356 grub_video_rect_t viewport, region, area
2357 int area_offset_x, area_offset_y, area_enabled
2358 * include/grub/gui.h: New helper function
2359 grub_video_bounds_inside_region.
2360 * docs/grub-dev.texi: Added information about new functions.
2361
c6b755df
VS
23622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2365 for alignment.
2366
e2a68100
VS
23672013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2370 missing attribute.
2371 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2372
c4f11a2a
VS
23732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2376 simple division on arm and ia64.
2377
e0a7bffa
VS
23782013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2381 link with libgcc.
2382
38b864ea
VS
23832013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2386
12359faf
VS
23872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2390 prefix symbol, not @.
2391
9fdc64a9
VS
23922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * INSTALL: Add note about older gcc and clang.
2395
665c575b
VS
23962013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2399
47dcf7b1
VS
24002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2403 NULL pointer dereference.
2404
d59849b2
VS
24052013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2408 clang.
2409
7a3f4a18
VS
24102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2413 warnings.
2414
7f084087
VS
24152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2418 function.
2419 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2420 * grub-core/disk/geli.c (ascii2hex): Likewise.
2421
d5524ca8
VS
24222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * configure.ac: Run linker tests without -Werror.
2425 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2426 Change all occurences of -static-libgcc resp -lgcc to
2427 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2428
390cd7ca
VS
24292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2432
60375a88
VS
24332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 Allow compiling with clang (not really supported though).
2436
2437 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2438 unconditionally.
2439 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2440 Add -mrtd -mregparm=3 on i386 when not using clang.
2441 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2442
dd07e0c4
VS
24432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2446 bindings.
2447 * grub-core/lib/reed_solomon.c: Likewise.
2448 * include/grub/i386/gdb.h: Likewise.
2449 * include/grub/i386/pc/int.h: Likewise.
2450 * include/grub/i386/pc/pxe.h: Likewise.
2451 * include/grub/ieee1275/ieee1275.h: Likewise.
2452
9d3ae8ec
VS
24532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 Import libgcrypt 1.5.3.
2456
c12936c5
VS
24572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * configure.ac: Don't add -Wcast-align on x86.
2460
cdc17f60
VS
24612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * configure.ac: Add -freg-struct-return on all platforms that
2464 support it.
2465
b35ec299
VS
24662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * acinclude.m4: Use -Werror on parameter tests.
2469 * configure.ac: Likewise.
2470
05f3a0d7
VS
24712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2474
c966a489
VS
24752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * configure.ac: Check that -malign-loops works rather than assuming that
2478 either -falign-loops or -malign-loops work.
2479
bb0c57ec
VS
24802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2483
24f4e57c
VS
24842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * configure.ac: Prevent cflags leaking to subsequent tests by always
2487 resetting cflags to target_cflags in target tests.
2488
ac319fbc
VS
24892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2492 function.
2493
4bfe934c
VS
24942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2497
40a5bfde
VS
24982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2501
a67c755e
VS
25022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/normal/cmdline.c (grub_cmdline_get):
2505 Remove nested functions.
2506
87a04a2d
VS
25072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * tests/test_sha512sum.in: Make it work on emu.
2510
c03995d2
VS
25112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2514 functions.
2515 (grub_bidi_line_logical_to_visual): Likewise.
2516
ec0ebb3f
VS
25172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Remove vestiges of -Wunsafe-loop-optimisations.
2520
2521 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2522 -Wno-unsafe-loop-optimisations.
2523 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2524 pragma.
2525 * grub-core/io/gzio.c: Likewise.
2526 * grub-core/script/parser.y: Likewise.
2527 * grub-core/script/yylex.l: Likewise.
2528 * util/grub-mkfont.c: Likewise.
2529
6ab537e3
VS
25302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-mkfont.c (process_cursive): Remove nested function.
2533
e6c368d4
VS
25342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2537 (grub_boot_time): Likewise.
2538
4f1cfd22
VS
25392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * include/grub/symbol.h (FUNCTION): Use @function rather than
2542 "function".
2543 (VARIABLE): Likewise.
2544
6d5a4cee
VS
25452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2548
f06c2172
VS
25492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2552 (parse_dhcp_vendor): Likewise.
2553
7cb24eb5
VS
25542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2557
f30c692c
VS
25582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2561 Define after defining type and not before.
2562
8b66bb5d
VS
25632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2566 type.
2567 (grub_gcm_decrypt): Likewise.
2568 (algo_decrypt): Likewise.
2569 (grub_zfs_decrypt_real): Transform error type.
2570
5d17fd0f
VS
25712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2574
ac35a0f7
VS
25752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2578 (grub_usbms_cbi_reset): Likewise.
2579 (grub_usbms_bo_reset): Likewise.
2580 (grub_usbms_reset): Likewise.
2581 (grub_usbms_attach): Likewise.
2582 (grub_usbms_transfer_cbi): Likewise.
2583
3ee08697
VS
25842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2587 "checksum = checksum;".
2588
70bb6c85
VS
25892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2592 entry_type.
2593
c7f34744
VS
25942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2597 BIOS disk check.
2598
3f63b4d8
VS
25992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2602 type.
2603 (grub_ehci_fini_hw): Likewise.
2604 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2605
dac6ce73
VS
26062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2609 return grub_usb_err_t for cosistency. All users updated.
2610
5701750c
VS
26112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2614 assigning to itself.
2615
9e236169
GLD
26162013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
26172013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2618
2619 Issue separate DNS queries for ipv4 and ipv6
2620
2621 Adding multiple questions on a single DNS query is not supportted by
2622 most DNS servers. This patch issues two separate DNS queries
2623 sequentially for ipv4 and then for ipv6.
2624
2625 Fixes: https://savannah.gnu.org/bugs/?39710
2626
2627 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2628 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2629 * (grub_net_dns_lookup): Now using separated dns packages.
2630 * (grub_cmd_nslookup): Add error condition.
2631 * (grub_cmd_list_dns): Print DNS option.
2632 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2633 --prefer-ipv4, and --prefer-ipv6.
2634 * include/grub/net.h (grub_dns_option_t): New enum.
2635 * (grub_net_network_level_address): option added.
2636
339eacce
VT
26372013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2638
2639 * grub-core/video/fb/video_fb.c: Merge two blit functions
2640 into one.
2641
810f991b
VS
26422013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/term/terminfo.c: Add sequences for home and end.
2645
386571a2
VS
26462013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2649 graphics console.
2650
3fe63754
VS
26512013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2654 add mode 0x12.
2655
76681e71
VS
26562013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2659 e-mail by Per Öberg.
2660
46522fb7
VS
26612013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2664 name.
2665
e7d09ac4
AB
26662013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2667
2668 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2669 emu platforms.
2670 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2671
67508925
VS
26722013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * docs/grub.texi: Document usage of menuentry id.
2675
0c62124e
VS
26762013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2679
9b5d4eed
PL
26802013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2681
2682 * grub-core/commands/i386/nthibr.c: New command.
2683
79054c1d
VS
26842013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2687
44d47bbe
VS
26882013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2691 coordinate.
2692
323de05b
VS
26932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Support GRUB_DISABLE_SUBMENU config.
2696
2697 Inspired by patch from Prarit Bhargava.
2698
5a01722e
VS
26992013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * docs/grub.texi: Mention RSA support.
2702
1106c3f0
VS
27032013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/commands/verify.c: Add RSA support.
2706
a1dcc2cb
VS
27072013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2710 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2711 device is known to be ATAPI.
2712
ee7fb780
MF
27132013-11-03 Mike Frysinger <vapier>
2714
2715 * configure.ac: Don't add target-prefix.
2716
5ade4a42
VS
27172013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2720 variables.
2721
6cd66043
VS
27222013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2725 if language is English.
2726
090d7c81
VS
27272013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2730
dd614590
VS
27312013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * configure.ac: Don't add -m32/-m64 on emu.
2734
a8686589 27352013-11-02 neil
2736
2737 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2738 broken linux headers.
2739
fb9f12a0
VS
27402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2743
e25f8e1f
VS
27442013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2747 Reed-Solomon recovery if more than half of redundancy info is 0.
2748
4685200f
VS
27492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * util/grub-mount.c: Handle symlinks to directories.
2752
1397f0b5
VS
27532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2756 find_file recursively for symlink.
2757
8b3e6eb6
VS
27582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * tests/util/grub-shell.in: Copy themes.
2761
a0c9d5c6
VS
27622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2765
5cf9459c
VS
27662013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * configure.ac: Use 0x8000 for address instead of 8000.
2769
e7b66a28
VS
27702013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2773 signature.
2774
203f53fb
VS
27752013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2778 variable.
2779
02663ee9
VS
27802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2783
f169f65e
VS
27842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2787 file_progress_read_hook.
2788 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2789
2855a0fc
VS
27902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2793 and double.
2794
bf0f3a8c
VS
27952013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2798
cb72aa18
VS
27992013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 Rewrite blocklist functions in order to get progress when
2802 reading large extents and decrease amount of blocklist hook calls.
2803
896f9135
VS
28042013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2807 of SI suffixes.
2808
89295a06
VS
28092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 Support --base-clock for serial command to handle weird cards with
2812 non-standard base clock.
2813
eb03ede0
VS
28142013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2817 strncpy.
2818 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2819 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2820 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2821 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2822 + strcpy rather than strncpy.
2823
8fbe5c7d
VS
28242013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2827 (check_pool_label): Likewise. Fixes overflow.
2828 (nvlist_find_value): Fix comparison.
2829
e54b8f53
VS
28302013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2833 more appropriate functions.
2834
fa9b3dca
VS
28352013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2838 realloc.
2839
9a021c55
VS
28402013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2843
80e8b13a
VS
28442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2847 on core size.
2848
b61599ac
VS
28492013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2852
a602dc54
VS
28532013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2856 (initialize_tables): reset tl and td to NULL after freeing.
2857
93c12075
VS
28582013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2861
1ca4b75e
VS
28622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2865 of supported tags.
2866
329550c4
VS
28672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2870
00bfa988
VS
28712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2874 quirks.
2875
81afc5cc
VS
28762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2879 a page in protected space.
2880
cb3c4a47
VS
28812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2884 allocate space for zero-sized modules.
2885
954f7bf5
VS
28862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2889
526d3d25
FL
28902013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2891
2892 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2893
74124c34
VS
28942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2897 safeguards. Fixes a crash with i386/pc/console.c.
2898
5177391e
VS
28992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2902 and grub_hostfs_init.
2903
64db14b0
VS
29042013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2907 windows method on other platforms without good stat as well.
2908
effe2036
VS
29092013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2912
82591fa6 29132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2914
82591fa6
VS
2915 Make / in btrfs refer to real root, not the default volume.
2916 Modify mkrelpath to work even if device is mounted with subvolid option.
2917
29182013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2919
2920 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2921 extra_dist.
2922 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2923 extra_dist.
2924
30fd7198
VS
29252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2928 fails.
2929
8d179dae
BC
29302013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2931
2932 * docs/autoiso.cfg: New file.
2933
3bc9c8cf
VS
29342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2937 COND_GRUB_PE2ELF conditions.
2938
8b46b0ea
VS
29392013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2942 "vnd", "rd" and "fd" disks.
2943
442b86de
VS
29442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Move grub_disk_write out of kernel into disk.mod.
2947
04dea7e6
VS
29482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2951 handling.
2952
29532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2954
2955 * grub-core/kern/misc.c (grub_abort): Make static
2956
04dea7e6 29572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2958
2959 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2960 transform invalid unicode codepoints.
2961
04dea7e6 29622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2963
2964 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2965 \0 checking.
2966
03dcac7f
VS
29672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2970
c81acb7f
VS
29712013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 Consolidate cpuid code.
2974
c1bee646
VS
29752013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 Move cpuid code to cpuid.h and TSC code to tsc.c.
2978
f37bf9c7
GS
29792013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2980
2981 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2982
4021132b
GS
29832013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2984
2985 * util/grub-mkconfig.in: Replace $0 with $self.
2986 * util/grub-reboot.in: Likewise.
2987 * util/grub-set-default.in: Likewise.
2988
3ace8d75
BC
29892013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2990
2991 * docs/osdetect.cfg: New file.
2992
1e6ad6a6
BC
29932013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2994
2995 * tests/util/grub-shell.in: Add new --debug option.
2996
188929eb
BC
29972013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2998
2999 * tests/test_unset.in: New test.
3000
7994a09a
BC
30012013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3002
3003 * tests/test_sha512sum.in: New test.
3004
2a8a7585
VS
30052013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3008 * include/grub/misc.h: Remove strncat.
3009 * grub-core/lib/posix_wrap/string.h: Likewise.
3010
cf8d6bbd
VS
30112013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3014 Try to handle more than 0xFFFF packets.
3015 Reported by: Bernhard Übelacker <bernhardu>.
3016 He also spotted few overflows in first version of this patch.
3017
6d1fc99a
VS
30182013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * tests/date_unit_test.c: New test.
3021
10bafa1c
VS
30222013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3025 of first three years after start of validity of unixtime.
3026
b1c6d037
VS
30272013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3030 division as the one making more sense.
3031 (update_screen): Likewise.
3032 (complete): Likewise.
3033
5f4028d4
VS
30342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3037
a2856736
VS
30382013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 Make char and string width grub_size_t rather than grub_ssize_t.
3041
0a7e52b2
VS
30422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3045 unsigned.
3046 (grub_history_replace): Likewise.
3047
42829573
VS
30482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3051 appropriate.
3052
3523b8d8
VS
30532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3056 appropriate.
3057
d43c6489
VS
30582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3061 Use unsigned divisions rather than signed variants.
3062
f690f8b0
VS
30632013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3066 unsigned arithmetics.
3067 Add missing break.
3068
74ff2c05
VS
30692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3072
fb56391e
VS
30732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3076 rather than signed one.
3077 (recovery): Likewise.
3078
40f29060
VS
30792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3082
c64577a5
VS
30832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3086 than signed.
3087
c16535a8
JM
30882013-10-25 Jon McCune <jonmccune@google.com>
3089
3090 * docs/grub.texi: Cleanup security documentation around signatures.
3091
6673d8e7
VS
30922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3095
a105d375
VS
30962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3099 than int.
3100
af81ed88
VS
31012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3104 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3105 functions when compiling for kernel.
3106
ea899a57
VS
31072013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3110 unsigned long long when using %llu.
3111
c6dc6fa1
VS
31122013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3115 terminal after updating progress.
3116
ad2dc003
VS
31172013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3120 argument. We don't disable Gate A20 in this code.
3121
b46684ae
VS
31222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3125 Conceptually based on change in branch "vbe-on-coreboot".
3126
f70d5c07
RM
31272013-10-24 Robert Millan <rmh@gnu.org>
3128
3129 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3130 numeric constants with their symbolic equivalent.
3131 Taken from branch "vbe-on-coreboot".
3132
bca274b4
VS
31332013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3136
238f0489
VS
31372013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3140 divmod64 for offset division.
3141
863c590b
PFS
31422013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3143
3144 Rename .bzrignore to .gitignore. Add "*.o" rule.
3145
3146 * .bzrignore: Renamed to...
3147 * .gitignore: ...this.
3148
84a0e969
PFS
31492013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3150
3151 Add new progress module that displays the load progress of files.
3152
3153 * grub-core/lib/progress.c: New file.
3154 * grub-core/Makefile.core.def (progress): New module.
3155 * grub-core/kern/file.c (grub_file_open): File name added.
3156 * (grub_file_read): Progress hook added.
3157 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3158 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3159 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3160 * include/grub/file.h (struct grub_file): Add progress module members.
3161 * include/grub/term.h (struct grub_term_output): Likewise.
3162 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3163 Terminal velocity added.
3164 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3165 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3166 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3167 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3168 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3169 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3170 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3171 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3172 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3173 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3174 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3175 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3176
0d711431
VS
31772013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Verify signatures of signatures unless --skip-sig is specified.
3180
f8401f76
VS
31812013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3184 \0 checking.
3185
3186 Saves 70 bytes on compressed image.
3187
ac1feb61
VS
31882013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3191 check.
3192
3193 Saves 10 bytes on compressed image.
3194
00f72e89
VS
31952013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/kern/misc.c (grub_isprint): Move to ...
3198 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3199
3200 Saves 20 bytes on compressed image due to remving exporting.
3201
067e6ae7
VS
32022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3205
3206 Saves 5 bytes on compressed image.
3207
64a6c791
VS
32082013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3211 function get_utf8.
3212
3213 Saves 379 bytes on compressed image.
3214
979d9f52
VS
32152013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3218
1437da54
VS
32192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3222
3223 Saves 40 bytes on compressed image.
3224
d9ee2269
VS
32252013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3228 mask rather than 64-bit type.
3229
3230 Saves 20 bytes on compressed image.
3231
63efa602
VS
32322013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3235 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3236
47601ffe
VS
3237 Saves 273 bytes on compressed image.
3238
2cc679ad
VS
32392013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3242 variable length arrays.
3243
3244 Saves 50 bytes on compressed image.
3245
2e4659b8
VS
32462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3249
2a40badf
VS
32502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/fs/ufs.c: Remove variable length arrays.
3253
1ba6b9b9
VS
32542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3257
f3e39341
VS
32582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/fs/zfs.c: Remove variable length arrays.
3261 Reduces zfs.mod by 160 bytes (208 compressed).
3262
71523935
VS
32632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3266
28153eb8
VS
32672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/net/arp.c: Remove variable length arrays.
3270 * grub-core/net/bootp.c: Likewise.
3271 * grub-core/net/dns.c: Likewise.
3272 * grub-core/net/icmp6.c: Likewise.
3273 * grub-core/net/net.c: Likewise.
3274
88ce4cd7
VS
32752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/fs/ntfs.c: Remove variable length arrays.
3278 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3279 compressed).
3280
66123940
VS
32812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/fs/hfs.c: Remove variable length arrays.
3284 Reduces hfs.mod by 8 bytes (52 compressed).
3285
0927e5bd
VS
32862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3289 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3290 compressed).
3291
9c12ac97
VS
32922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3295 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3296 compressed).
3297
97ec2d71
VS
32982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3301 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3302 compressed).
3303
156e4ea0
VS
33042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/fs/xfs.c: Remove variable length arrays.
3307 Reduces xfs.mod by 40 bytes (43 compressed).
3308
3b502c29
VS
33092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/fs/fshelp.c: Remove variable length arrays.
3312 Reduces fshelp.mod by 116 bytes (23 compressed).
3313
c7037f1d
VS
33142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/normal/completion.c: Remove variable length arrays.
3317 * grub-core/normal/menu_entry.c: Likewise.
3318
3319 Reduces normal.mod by 496 bytes.
3320
a07e6ad0
VS
33212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3324 by 356 bytes (158 compressed).
3325
2359bf88
VS
33262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3329 by 364 bytes (169 compressed).
3330
d28e1163
VS
33312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3334 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3335 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3336
e89c2d48
VS
33372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3340 bitmasks to small structures of size chosen to fit in registers.
3341
7abdac8e
VS
33422013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * conf/Makefile.common: Use -freg-struct-return on i386. This
3345 decreases code size and improves performance.
3346
518864c0
VS
33472013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3350
bbd2b539
VS
33512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3354 "(null)" string.
3355 Simplify expressions to save around 256 bytes in kernel.img.
3356 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3357
99519c15
VS
33582013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3361 Use GRUB_UTIL_FD_O_* rather than O_*.
3362
20285765
VS
33632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Add haiku-specific functions.
3366
887c0bb6
VS
33672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3370
cd78a56f
VS
33712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Move stat () and device mode checking into OS-dependent files as
3374 long as performance doesn't suffer.
3375
a4012f07
VS
33762013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Split make_system_path_relative_to_its_root into separate file
3379 relpath.c from getroot.c as it's common between unix and haiku
3380 but otherwise haiku doesn't use any functions from unix getroot.c.
3381
31de274d
VS
33822013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3385 New function.
3386 (grub_util_is_special_file): Likewise.
3387
40346de6
VS
33882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3391 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3392
d3923ab9
VS
33932013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3396 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3397
663f6eb1
VS
33982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3401 (load_image): Likewise.
3402
44d1c20a
VS
34032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * util/grub-render-label.c: Move backend part to ...
3406 * util/render-label.c: ... here.
3407
d0a116ee
VS
34082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3411 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3412
b47fcae6
VS
34132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3416
0f7c00c1
VS
34172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3420 CD-ROM in case when it's declared as having subpartitions.
3421
29013cba
VS
34222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Don't add -lm on haiku.
3425
3426 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3427 and empty on haiku.
3428 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3429 -lm.
3430
e8559d24
VS
34312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * configure.ac: Use -melf_*_haiku as target on haiku.
3434
8104063c
VS
34352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * Makefile.util.def: Add util/setup.c to extra_dist.
3438
fc3182c7
VS
34392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3442 unknown types through.
3443
f90a3cc0
VS
34442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3447 (grub_util_check_char_device): Likewise.
3448 * include/grub/emu/getroot.h: Likewise.
3449
1e3e7419
VS
34502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3453 memset rather than inline static function.
3454
92c88fc8
VS
34552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3458 not doing embedded decompressor.
3459
3cd910a2
VS
34602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3463 shadowing.
3464 * grub-core/kern/disk.c: Likewise.
3465 * grub-core/kern/misc.c: Likewise.
3466 * include/grub/parser.h: Likewise.
3467 * include/grub/script_sh.h: Likewise.
3468 * include/grub/zfs/zfs.h: Likewise.
3469
7b3aca00
VS
34702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3473
97dfe7e4
VS
34742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3477 defined before trying to use it.
3478
bf919aa9
VS
34792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3482 warning.
3483
f4ccf29d
VS
34842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3487 Use __unused__ rather than __used__ on gcc < 3.2.
3488
0d3a6f85
VS
34892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3492 gcc < 4.0.
3493 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3494
757e3eb7
VS
34952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3498
fb320faf
VS
34992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3502 * include/grub/emu/misc.h: Likewise.
3503
ea73acd2
VS
35042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3507 cur_color.
3508
71237a6f
VT
35092013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3510
3511 * grub-core/tests/checksums.h: Regenerated due to progress bar
3512 get_minimal_size changes.
3513
3d46c22f
BC
35142013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3515
3516 Added `tr' command support.
3517
3518 * grub-core/commands/tr.c: New file.
3519 * grub-core/Makefile.core.def: Build rules for new module.
3520
3521 * tests/grub_cmd_tr.in: New test.
3522 * Makefile.util.def: Build rules for new test.
3523
47e0a61f
VT
35242013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3525
3526 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3527
946fd073
VT
35282013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3529
3530 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3531 * docs/gurb.texi: Likewise.
3532
9c13c576
VT
35332013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3534
3535 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3536 Pixmap highlighted section with east and west slices was displayed
3537 incorrectly due to negative width of the central slice.
3538
ad543f12
VT
35392013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3540
3541 * docs/grub.texi: Graphical options information update.
3542 Removed outdated. Updated current. Inserted missed.
3543
6176a0cd
VS
35442013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * docs/grub.texi: Mention few new platform-specific commands.
3547
9688cae2
VS
35482013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3551 currently used so this doesn't really have any effect.
3552 Reported by: Douglas Ray <dougray>
3553
f7b69a3f
VS
35542013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3557 compilation but prevents gcc from displaying messages in non-Latin
3558 alphabets.
3559 * conf/Makefile.common: Likewise.
3560
ceca6ddf
HY
35612013-10-16 Hiroyuki YAMAMORI
3562
3563 Handle Japanese special keys.
3564 Reported by: Hiroyuki YAMAMORI.
3565 Codes supplied by: Hiroyuki YAMAMORI.
3566
ac48d334
VT
35672013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3568
3569 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3570
b2b71bff
VT
35712013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3572
3573 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3574 * docs/grub.texi: Likewise.
3575
669fc449
VS
35762013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3579 value in case of incomplete read.
3580 (grub_util_fd_write): Likewise.
3581
59381678
VS
35822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3585
bacfefbb
VS
35862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * util/grub-editenv.c (create_envblk_file): More from here ...
3589 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3590
f7c49570
VS
35912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3594 canonicalize file name before doing the rest.
3595
7b83ca44
VS
35962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3599 mingw32.
3600
df1e64c9
VS
36012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Define grub_util_is_directory/regular/special_file and
3604 use OS-dependent versions rather than to rely on stat().
3605
ec16e026
VS
36062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * util/grub-mkimage.c: Move backend part to ...
3609 * util/mkimage.c: ... here.
3610
4b4eeb3c
VS
36112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Allow compilation with mingw64 albeit with warnings due to lack of
3614 %llx/%llu.
3615
3616 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3617 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3618 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3619 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3620 on mingw64.
3621 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3622
f4e0adc0
VS
36232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Remove leftover references to some of the system headers.
3626
e0127364
VS
36272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3630 read.
3631
20d53541
VS
36322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3635 of strerror.
3636
5a869940
VS
36372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 Split out blocklist retrieving from setup.c to
3640 grub-core/osdep/blocklist.c and add windows implementation since
3641 generic version doesn't work on NTFS on Windows due to aggressive
3642 unflushable cache.
3643
c06c7520
VS
36442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3647 files.
3648
8f53bb3f
VS
36492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3652 Cut tailing newline. Remove arbitrary limitation. Always use
3653 grub_util_tchar_to_utf8.
3654
148f1007
VS
36552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3658 * tests/printf_unit_test.c (printf_test): Add %% tests.
3659 Reported by: Paulo Flabiano Smorigo.
3660
af3b06be
VS
36612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3664 implement fsync.
3665
27f9d02e
VS
36662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3669 use nvlist_lookup_string and don't use nvlist_print.
3670
f6a81f0a
VS
36712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3674 closedir to handle filename charset translation.
3675
d7750b32
VS
36762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * include/grub/emu/hostdisk.h: Move file operations to
3679 * include/grub/emu/hostfile.h: ... here.
3680
2859196e
VS
36812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3684 unicode path.
3685
c018c968
VS
36862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3689
7e45abce
VS
36902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3693 and remove export.h.
3694
23934da2
VS
36952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/kern/emu/error.c: Removed.
3698 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3699 explicitly as it's already in libgnu.a.
3700
c11ebcc8
VS
37012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3704 config-util.h include.
3705
70671037
VS
37062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Split emunet into platform-dependent and GRUB-binding parts. Keep
3709 platform-dependent part in kernel for easy access to OS functions.
3710
25ac643a
VS
37112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3714 open/read/write.
3715
69ca5876
VS
37162013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/osdep/windows/emuconsole.c: New file.
3719
d9d68ef0
AB
37202013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3721
3722 * conf/Makefile.extra-dist: Add osdep/*/init.c
3723
58e211cc
VS
37242013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3727
588744d0
VS
37282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * util/grub-probe.c (probe): Separate different drives in hint-str
3731 by spaces and not newlines.
3732 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3733
44016e52
AB
37342013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3735
3736 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3737 Handle CD-ROMs.
3738
6de9ee86
VS
37392013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Pass-through unknown E820 types. It required reorganisation of mmap
3742 module.
3743
f8f3f155
AB
37442013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3745
3746 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3747
b73249d2
VS
37482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3751 fseeko.
3752
dac86b18 37532013-10-14 qwertial <qwertial>
3754
3755 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3756
17614b84
JM
37572013-10-14 Jon McCune <jonmccune@google.com>
3758
3759 * docs/grub.texi: Document new signatures possibility.
3760
6de292cb
VS
37612013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3764
84379b61
VS
37652013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3768 missing prototype.
3769 (grub_util_tchar_to_utf8): Likewise.
3770
21d85db1
VS
37712013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3774 * grub-core/kern/emu/main.c: Add missing include.
3775 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3776 Don't call grub_util_init_nls.
3777 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3778 Likewise.
3779
66a1b3ee
VS
37802013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3783 stat.
3784
e19bec17
VS
37852013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3788
ee8c1b29
VS
37892013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3792
bb338aaf
VS
37932013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Add a wrapper for fopen. On unix-like systems just pass-through. On
3796 windows use unicode version.
3797
ae5540d3
VS
37982013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Move set_program_name and init_nls to host_init. On windows
3801 fix in this fuction console and argument charset as well.
3802
4cd3c4fe
AB
38032013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3804
3805 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3806 GRUB_ENABLE_CRYPTODISK.
3807
3808 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3809 GRUB_ENABLE_CRYPTODISK.
3810 * util/grub-mkconfig_lib.in: Likewise.
3811
78170f3e
CCZ
38122013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3813
3814 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3815
3414b6c0
MC
38162013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3817
3818 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3819 error when enabling debug.
3820
6d0740e8
IB
38212013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3822
3823 * configure.ac: Use -melf_*_obsd on openbsd.
3824
ff2d4dc4
VS
38252013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3828
eac6ae82
VS
38292013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * include/grub/misc.h: Use gnu_printf rather than printf as format
3832 template since our functions are independent of libc.
3833
ba9baabe
VS
38342013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * util/grub-setup.c (setup): Move copying of partition table as
3837 futher up as possible to avoid possible overwrite by floppy routines.
3838
38392013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3840
3841 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3842
145e2369
VT
38432013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3844
3845 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3846 * docs/grub.texi: Likewise.
3847
3530bc9d
VS
38482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3851 it's mostly unused. Move vestiges to the callers.
3852
fb9f59c3
VS
38532013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3856 version of salt and hash. Use grub_snprintf rather than snprintf.
3857
9be1c255
VS
38582013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * docs/grub.texi: Fix problem with braces.
3861
ed8c0887
VS
38622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * conf/Makefile.extra-dist: Fix extra-dist list.
3865 * grub-core/Makefile.core.def: Likewise.
3866
f72ab14e
VS
38672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * docs/grub.texi: Document disk names used on Windows and AROS.
3870
2fe53a22
VS
38712013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3874 with AROS devs.
3875 * grub-core/osdep/aros/hostdisk.c: Likewise.
3876
71c1d67a
VS
38772013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 Avoid including hostfile.h when not necessarry as it pulls
3880 in OS-specific headers which may redefine generic names
3881 like "far".
3882
ad297ec7
VT
38832013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3884
3885 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3886 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3887 scrollbar_bottom_pad
3888 * docs/grub.texi: Likewise.
3889
6e9e5dc9
VT
38902013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3891
3892 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3893
761c718b
VS
38942013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3897
37149a2f
VS
38982013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3901 Removed.
3902 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3903 Made static.
3904
3837a151
VS
39052013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3908 leftover.
3909
caca1c70
VS
39102013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Move OS-specific driver configuration to grub_util_fd_open. This
3913 moves OS-dependent parts from kern/emu/hostdisk.c to
3914 grub-core/osdep/*/hostdisk.c.
3915
f7676b70
VS
39162013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * util/grub-mkimage.c (generate_image): Use size_t instead of
3919 grub_size_t.
3920 * util/grub-mkimagexx.c (locate_sections): Likewise.
3921 (load_image): Likewise.
3922
22f98db2
VS
39232013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3926 size_t.
3927 (grub_util_write_image): Likewise.
3928
b102ce69
VS
39292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3932 get random when no RNG is available.
3933 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3934
acbbe5cb
VS
39352013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * include/grub/util/lvm.h: Removed.
3938
2112fb3f
VS
39392013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3942 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3943
79f78fbf
VS
39442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3947
c2e6f705
VS
39482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3951
aabe433a
VS
39522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/net/drivers/emu/emunet.c: Move to ..
3955 * grub-core/osdep/linux/emunet.c: ..here.
3956
9a2c903f
VS
39572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * util/ieee1275/ofpath.c: Move to ...
3960 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3961 * grub-core/osdep/basic/ofpath.c: ..here.
3962
4a445f58
VS
39632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Move password-querying (util-version) routines to grub-core/osdep.
3966
c1ca4244
VS
39672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Move sleep routines to grub-core/osdep.
3970
672fa55e
VS
39712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 Move OS-dependent files to grub-core/osdep and document it.
3974
a5b0365a
VS
39752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3978 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3979
29072e99
VS
39802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3983
f8772ea7
VS
39842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * util/misc.c: Remove leftover inclusion of malloc.h.
3987
a1a315e7
VS
39882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * include/grub/setjmp.h: Remove leftover GRUBOF.
3991
cef86fef
VS
39922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * util/raid.c: Fold into ...
3995 * util/getroot_linux.c: ... here. Make all functions static.
3996
c4cf25ee
VS
39972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4000 macros to GRUB ones.
4001
53a5f5c2
VT
40022013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4003
4004 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4005 occasional bug. If there are too many boot entries or too low
4006 scrollbar height then we need to use another formula to calculate
4007 the position and size of the scrollbar thumb.
4008
de300af2
VS
40092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4010
c4cf25ee 4011 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4012
c5827364
VT
40132013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4014
4015 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4016 * docs/grub.texi: Likewise.
4017
dd2ed8b0
VT
40182013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4019
4020 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4021 viewport.
4022
7286c384
VT
40232013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4024
ffdfc1f3
VT
4025 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4026 minimal width calculations.
7286c384 4027
ea547e14
VS
40282013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * docs/grub.texi: Update note on colors on emu console.
4031
b726be76
VS
40322013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4035 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4036 it's FS and not GRUB limitation.
4037
a5f6ade6
VS
40382013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4041
3b0f3aa2
VS
40422013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4045
1db38304
ST
40462013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4047
4048 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4049 kernels by version order.
4050
fb295fc0
VS
40512013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4054
47345010
VS
40552013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Add AROS hostdisk and getroot routines.
4058
bf25f879
VS
40592013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Make cryptodisk and diskfilter probe data retrievable programmatically
4062 and not just printable.
4063
24ca4512
VS
40642013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Split random retrieving code into separate files.
4067
c7c177f0
VS
40682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4071 R_ARM_V4BX.
4072
d71b45ae
VS
40732013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4076 condition.
4077 * grub-core/tests/fake_input.c: Likewise.
4078 * grub-core/tests/cmdline_cat_test.c: Likewise.
4079
e44b9a83
VS
40802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/video/capture.c: Do not do finalization when .fini
4083 is called as there is explicit capture_end.
4084
4fa60739
VS
40852013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4088 changing windows to avoid crash.
4089
17c8bc37
VS
40902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4093
9d4d7977
VS
40942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * po/exclude.pot: Add several strings to exclude.
4097
0caa407c
VS
40982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4101
9ae393da
VS
41022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4105 ./util/grub-gen-asciih.c to exclude list.
4106
498d5033
VS
41072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4110 and don't mark error strings for translation.
4111
7d93298f
VS
41122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4115 properly in case of missing block size.
4116
b2cae20c
VS
41172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/lib/arm/setjmp.S: Add missing license section.
4120
3896d6b4
VS
41212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * po/swiss.sed: Add replacement for key names and for term computer.
4124
ebc1da55
VT
41252013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4126
4127 * grub-core/gfxmenu/theme_loader.c: New global options for the
4128 theme background image handling. desktop-image-scale-method,
4129 desktop-image-h-align, desktop-image-v-align.
4130 * grub-core/gfxmenu/view.c: Likewise.
4131 * include/gfxmenu_view.h: Likewise.
4132 * include/bitmap_scale.h: Proportional scale functions introduced.
4133 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4134 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4135 cases of unexpected input variables for scale functions.
4136 * docs/grub.texi: Updated documentation for new options.
4137
c5739143
VS
41382013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4141
be74aeb3
VT
41422013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4143
4144 * grub-core/tests/checksums.h: Corrected due to changes in
4145 bilinear interpolation function.
4146
d999ac72
VT
41472013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4148
4149 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4150 to eliminate artefacts in bilinear interpolation.
4151
2b131610
VS
41522013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/video/readers/tga.c: Support paletted tga.
4155
de6e5ff8
VS
41562013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4159 incorrect cbcr setting when in color mode.
4160
fa31ee9c
VS
41612013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/video/readers/png.c: Support paletted images and clean up
4164 greyscale support.
4165
e84f8188
VS
41662013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4169 usage of wrong table which resulted in mishandling of 4-byte
4170 sequences.
4171
41722013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4173
4174 * grub-core/term/terminfo.c: Add Home and End key sequences.
4175
d72bff09
VS
41762013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4179 Fix formula for computing total number of bytes.
4180
29648c5d
VS
41812013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4184 image processing, fix big-endian and support grayscale.
4185
4a876492
VS
41862013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4189 Correctly will with maximum transparency when using index color.
4190
3ccf16df
VS
41912013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/video/readers/png.c: Support grayscale
4194
41952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4196
4197 * grub-core/video/readers/jpeg.c: Support grayscale.
4198
3ccf16df 41992013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4200
4201 * grub-core/commands/loadenv.c: Support skipping signature check
4202 and variable names filtering.
4203
30b7f58f
VS
42042013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4207 * grub-core/kern/emu/hostfs.c: Likewise.
4208 * util/getroot_unix.c: Likewise.
4209
bab7b1eb
VS
42102013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4213 Migrate all explicit defines to this new one.
4214
43b1c99d
VS
42152013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4218 grub_util_fd_strerror when using grub_util_fd_*.
4219 (grub_util_fd_open_device): Likewise.
4220 (grub_util_biosdisk_read): Likewise.
4221 (grub_util_biosdisk_write): Likewise.
4222 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4223 (grub_util_fd_strerror): Likewise.
4224 (grub_util_fd_sync): Likewise.
4225 (grub_util_fd_close): Likewise.
4226 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4227 (grub_util_fd_close): Likewise.
4228 (grub_util_fd_strerror): Likewise.
4229 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4230 function proto rather than macro.
4231 (grub_util_fd_sync): Likewise.
4232 (grub_util_fd_open): Likewise.
4233 (grub_util_fd_strerror): New proto.
4234
e8fd80bc
VS
42352013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4238 platforms on which it doesn't work.
4239
bf645fda
VS
42402013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4243 stat immediately to where it's used.
4244
5177ba14
VS
42452013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * util/getroot.c (grub_util_check_block_device): Move to ...
4248 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4249 * util/getroot.c (grub_util_check_char_device): Move to ...
4250 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4251
9db826e1
VS
42522013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4255 disk closing logic.
4256
49120085
AB
42572013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4258
4259 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4260
b3328b68
AB
42612013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4262
4263 * docs/grub.texi (File name syntax): Document ZFS filenames
4264 (/volume@snapshot/...).
4265
3fff48ab
VS
42662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4269 Always return full path. Fixes a problem with mkrelpath.
4270
39cfdaa9
PFS
42712013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4272
4273 * util/grub-install.in: Add GPT PReP support.
4274 * util/grub-probe.c (probe): Support GPT partition type.
4275 (main): Support -t gpt_parttype.
4276
7c680e1f 42772013-09-23 Aleš Nesrsta <starous@volny.cz>
4278
4279 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4280
890bdabe
MM
42812013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4282
4283 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4284
9c262ff9
TH
42852013-09-23 Tim Hardeck <thardeck>
4286
4287 * util/grub.d/10_hurd.in: Filter out character for the class.
4288 * util/grub.d/10_kfreebsd.in: Likewise.
4289 * util/grub.d/10_linux.in: Likewise.
4290 * util/grub.d/20_linux_xen.in: Likewise.
4291
d755342a
MC
42922013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4293
4294 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4295 "changed".
4296
68b77707
JT
42972013-09-23 Josh Triplett <josh@joshtriplett.org>
4298
4299 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4300 boot partition.
4301
efa68bfa
VS
43022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4305 doesn't use posix_wrap. Keep literal -fno-builtin however.
4306
d9104204
VS
43072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4310
c248781a 43112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
43122013-09-23 neil
4313
5830df88 4314 * configure.ac: Do not enable -Wmissing-noreturn as its
4315 usefulness is limited and creates problems on some OS notably with
4316 code generated by bison.
4317
43182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
43192013-09-23 neil
4320
4321 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4322 supported by all gcc and when it is, it's already enabled by -Wall.
4323
621bed69
VS
43242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4327 desactivated use of EDID at all.
4328
71764dc8 43292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
43302013-09-23 neil
4331
4332 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4333 video if no text is available.
4334
affce7d4 43352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
43362013-09-23 neil
4337
4338 * configure.ac: Substitute TARGET_RANLIB.
4339
43402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
43412013-09-23 neil
affce7d4
VS
4342
4343 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4344
4345 Based on patches from AROS.
4346
0e8daad0 43472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 43482013-09-23 neil
0e8daad0
VS
4349
4350 * grub-core/Makefile.am: Override STRIP and RANLIB.
4351 * configure.ac: compute TARGET_RANLIB.
4352 * INSTALL: Document TARGET_RANLIB
4353
4354 Based on patches from AROS.
4355
3f7d9c82
VS
43562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4359 that floppies are unpartitioned.
4360
bca8873a
VS
43612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4364 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4365
43662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4369 less nice but more portable.
4370 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4371
a47a78be
VS
43722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4375 for cheat_fd.
4376 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4377 functions.
4378 (grub_cryptodisk_cheat_insert): Likewise.
4379 (grub_cryptodisk_close): Likewise.
4380
e85a5d5c
VS
43812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4384 Use windows path for DEFAULT_DIRECTORY.
4385
dad9fa6b
VS
43862013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4389 difference was likely just gcc version, not anything mingw-related.
4390
7e518ca8
VS
43912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Use Winapi on both cygwin and mingw32 to share more code between both.
4394
d68d0157
AB
43952013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4396
4397 * util/grub-install.in: Add --grub-editenv option.
4398 * util/grub-install_header (grub_compress_file): Explicitly check for
4399 plain file to avoid cp error.
4400
775b284d
AB
44012013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4402
4403 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4404 names; fix LVM driver name (lvm, not lv).
4405 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4406 names.
4407
3ff4063d
VS
44082013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4411 files rather than one file with loads of #if's.
4412 * util/getroot.c: Likewise.
4413
287faafe
VS
44142013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4417
d1983764
VS
44182013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4421 GNU/Hurd to the list of checked PRNG.
4422
15ce95c4
VS
44232013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4426
207862dd 44272013-09-21 Ales Nesrsta <starous@volny.cz>
4428
7c680e1f 4429 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4430
63653cfd
VS
44312013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4434 * grub-core/disk/lvm.c: Add LVM UUIDs.
4435 * util/getroot.c: Use LVM UUIDs whenever possible.
4436
f5d3e7ef
AB
44372013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4438
4439 * docs/grub.texi (Networking commands): Add documentation for
4440 network related commands.
4441
53c6b7d6
VS
44422013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4445 to determine if device is handled by devmapper.
4446 (convert_system_partition_to_system_disk): Likewise.
4447 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4448 already done in grub_util_open_dm.
4449
e70d6736
LL
44502013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4451
4452 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4453 Clean up stack manipulation (sync_caches_armv*)
4454
90379808
VS
44552013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * util/lvm.c: Remove since unused. Remove remaining references.
4458
386701a8
VS
44592013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Handle the case of partitioned LVM properly.
4462
4463 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4464 Stop on meeting LVM, mpath or DMRAID.
4465 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4466 (read_device_map): Likewise.
4467 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4468 device is full disk rather than erroring out on LVM and similar cases.
4469
53070787
VS
44702013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4473
1bc783bd
VS
44742013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4477 4K before the end.
4478 Reported by: Leif Lindholm
4479
436ad5c3
PW
44802013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
44812013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4484 codes.
4485
607319c9
CW
44862013-09-18 Colin Watson <cjwatson@ubuntu.com>
4487
4488 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4489 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4490
d404d154
DR
44912013-09-18 Douglas Ray <dougray@cpan.org>
4492
4493 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4494 as secure.
4495
28851ef6
AN
44962013-09-18 Aleš Nesrsta <starous@volny.cz>
4497
4498 * docs/grub.texi: Fix broken link.
4499
897c3bc6
MC
45002013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4501
4502 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4503 to break endless loop.
4504
f1630459
VS
45052013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * util/grub-fstest.c: Fix several printf formats.
4508 * util/grub-mkimage.c: Likewise.
4509 * util/grub-mkimagexx.c: Likewise.
4510 * util/grub-script-check.c: Likewise.
4511
64463dfd
VS
45122013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4515 error.
4516
48972495
VS
45172013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4520
5dd5e64b
VS
45212013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4524 removed in current versions cygwin_conv_*.
4525
1c1f31e5
VS
45262013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * configure.ac: Disable efiemu runtime on cygwin.
4529
c546a259
VS
45302013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4533 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4534
81690478
VS
45352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4538 error message.
4539
6b87c10a
VS
45402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4543 windows variant.
4544 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4545 data.
4546
8f0baaac
VS
45472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4550 when on x86 and not cygwin.
4551 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4552 -Wl,-melf_x86_64.
4553
b224c266
VS
45542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * configure.ac: Set CPP to build one when checkoing for freetype for
4557 build.
4558
506b336b
VS
45592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4562 [!GRUB_BUILD]: Remove has_argument.
4563
8c8c87b7
VS
45642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4567 Replace with a dummy.
4568
7dc5ca13
VS
45692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * configure.ac: Don't change host_os from mingw to cygwin.
4572
c3302aa5
VS
45732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * configure.ac: Change target_os from windows to cygwin.
4576
7b780018
VS
45772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4580
4581 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4582 (build-grub-gen-asciih): Likewise.
4583 (build-grub-gen-widthspec): Likewise.
4584 * Makefile.util.def (grub-pe2elf): Remove.
4585 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4586 * configure.ac: Separate tests for build.
4587 Move ./build-grub-pe2elf to grub-core.
4588 Fix typo.
4589 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4590 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4591 defined.
4592 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4593 constants.
4594 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4595 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4596 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4597
984cfd8a
VS
45982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4601 mingw32 as well based on grub_util_get_disk_size.
4602 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4603 grub_util_get_fd_size.
4604 (sync): Removed.
4605 (fsync): Moved to ...
4606 * grub-core/kern/emu/misc.c (fsync): ... here.
4607
f82d79c9
VS
46082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * include/grub/mm.h (grub_extend_alloc): Remove.
4611 * grub-core/loader/i386/pc/plan9.c: Use own version of
4612 grub_extend_alloc with appropriate types.
4613
fd7dd66d
VS
46142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4617
43ffba7c
VS
46182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4621
3c7eac44
VS
46222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 Fix dependencies on cygwin.
4625
4626 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4627 dependencies when used and defined.
4628 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4629
bdb5ba47
VS
46302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4633 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4634
ed7fbf43
VS
46352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4638 implementation available to cause compile-time rather than runtime
4639 error.
4640
fc46e9fc
VS
46412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * util/grub-fstest.c: Don't check for symlinks on windows.
4644
7f68269a
VS
46452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * INSTALL: Mention unavailability of man pages when cross-compiling.
4648
8ed358e0
VS
46492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4652 and gcry_log_bug.
4653 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4654
fc97214f
VS
46552013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * INSTALL: Document cross-compilation.
4658 * acinclude.m4: Determine whether nm support -P and --defined-only.
4659 * configure.ac: Add TARGET_ to all variables pertaining to target
4660 that don't have it yet.
4661 * gentpl.py: Likewise.
4662 * grub-core/Makefile.am: Likewise.
4663 * grub-core/genmod.sh.in: Likewise.
4664 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4665 as well.
4666
ca1fb563
IB
46672013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4668
4669 * configure.ac: Remove -Wempty-body. It's not essential and needs
4670 recent gcc.
4671
0031b229
IB
46722013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4673
4674 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4675 * util/getroot.c: Likewise.
4676
54ea2f44
VS
46772013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/disk/ahci.c: Add needed explicit cast.
4680 * grub-core/lib/backtrace.c: Likewise.
4681 * grub-core/net/ip.c: Likewise.
4682 * grub-core/net/tcp.c: Likewise.
4683 * grub-core/net/udp.c: Likewise.
4684
3c601f8c
VS
46852013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4688
1d679dda
VS
46892013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * util/import_gcry.py: Add final newline in visibility.h.
4692
00c28dd9
VS
46932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * conf/Makefile.common: Fix typo.
4696
32af299a
VS
46972013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4700
e733cf52
VS
47012013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * Makefile.am (widthspec.h): Fix typo.
4704 * util/grub-gen-widthspec.c: Likewise.
4705
c6b066f2
VS
47062013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Move ascii.h and widthspec.h generation to a separate build-time-only
4709 tool.
4710
ad1fe3f9 47112013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4712
4713 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4714 Always fill bootdisk info and improve check for NetBSD disklabel.
4715
92a52dd4
VS
47162013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * conf/Makefile.extra-dist: Add util/bin2h.c.
4719 Reported by: floppym.
4720
b2e9d276
VS
47212013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4724
7b966834
VS
47252013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * configure.ac: Disable unifont and starfield if no freetype was found.
4728
d5c1eef1
VS
47292013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4732 on NetBSD and OpenBSD.
4733
66345b50 47342013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4735
4736 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4737
66345b50 47382013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4739
4740 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4741 reduced. Inheritant options are processed during the theme loading.
4742
66345b50 47432013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4744
4745 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4746
369508b3
AS
47472013-08-14 Avik Sil <aviksil@in.ibm.com>
4748
4749 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4750
47512013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4752
4753 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4754 using qemu.
4755
6f27a3f6
PFS
47562013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4757
4758 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4759 remove-potcdate.sed.
4760
c6ed362a
AB
47612013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4762
4763 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4764 unused attribute from pull argument.
4765
5e7d9464
AB
47662013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4767
4768 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4769 memory leak.
4770
dea55e2a
AB
47712013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4772
4773 * util/getroot.c (pull_lvm_by_command): add --separator option
4774 to vgs call to disable padding of output to 10 characters.
4775
f0b94ded
VS
47762013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4779 here ...
4780 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4781 here.
4782
b828fb5d
VS
47832013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4786 length.
4787
7c9d0c39
VS
47882013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4791 full Canadian cross. Tested with build=x86_64, host=arm,
4792 target=ppc-ieee1275.
4793
816719c8
VS
47942013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * configure.ac: Error if no $BUILD_CC could be found.
4797 Reported by: DevHC.
4798
2af2353b
VS
47992013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4802 i386-multiboot.
4803
797abd0a
VS
48042013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4807 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4808
36e87d25
CW
48092013-08-13 Colin Watson <cjwatson@ubuntu.com>
4810
4811 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4812 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4813 falling back to the partition device, otherwise a later call to this
4814 function may fail spuriously.
4815 Reported by Axel Beckert. Fixes Debian bug #708614.
4816
273349fe
GS
48172013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4818
4819 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4820
418f86c6
GS
48212013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4822
4823 Prevent shadowing of stdlib's devname(3) on BSD.
4824
4825 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4826 and devlast to diskname and disklast, respectively.
4827
c137aea0
CW
48282013-08-11 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4831
272dc8df 48322013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4833
4834 * docs/grub.texi: Introduce terminal window position options:
4835 terminal-left: terminal window's left position
4836 terminal-top: terminal window's top position
4837 terminal-width: terminal window's width
4838 terminal-height: terminal window's height
4839 terminal-border: terminal window's border width
4840 * grub-core/gfxmenu/theme-loader.c: Likewise.
4841 * include/grub/gfxmenu_view.h: Likewise.
4842 * po/exlude.pot: Likewise.
4843 * grub-core/gfxmenu/view.c: Likewise.
4844 Also updated minimal window size.
4845 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4846 * grub-core/tests/checksums.h: Update (terminal window height
4847 is adjusted now for low resolution screen)
b4743461 4848
748a4533
VS
48492013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4852 position).
4853
fca5f944
VS
48542013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * po/exclude.pot: Add few recent exceptions.
4857
4f47d809
VS
48582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * tests/grub_func_test.in: Add unicode.pf2.
4861
a62ae90c
VS
48622013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4865 standard rather than noral color, in line with other terminals.
4866
4ed41392
VS
48672013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4870 analysis.
4871
3719fbc5
VS
48722013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4875
459b1d91
VS
48762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4879 inappropriate printf.
4880
f4e1ab9d
AB
48812013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4882
4883 * .bzrignore: Remove grub-core/lib/dtc-grub,
4884 grub-core/Makefile.libfdt.def
4885 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4886
fa471bfa
VS
48872013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * include/grub/video.h (grub_video_register): Keep double-linked as
4890 well as single-linked invariants.
4891 Reported by: qwertial.
4892
d65be02b
VS
48932013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * grub-core/commands/nativedisk.c (get_uuid): Handle
4896 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4897
ba8bc620
VT
48982013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4899
4900 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4901 maximum of NW, N, NE heights instead of N's height and maximum of
4902 NW, W, SW widths instead of W's width. (So the box will be always
4903 correctly drawn)
4904
4f0ad029
GS
49052013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4906
4907 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4908 Fix misuse of variable count.
4909
43d53b72
LL
49102013-07-18 Leif Lindholm <leif.lindholm@arm.com>
49112013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
49122013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4913
43d53b72
LL
4914 New ports to arm-uboot and arm-efi.
4915 Mostly by Leif Lindholm with some additions from
4916 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4917
88f8d146
VS
49182013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4921 and not before.
4922 Reported by: Leon Drugi.
4923
3f42504c
VS
49242013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4927 Reported by: Paulo Flabiano Smorigo.
4928
d110499b
VT
49292013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4930
4931 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4932
a8674ad3
VT
49332013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4934
4935 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4936
286fe4b3
VS
49372013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4940
1bd57aa3
VS
49412013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4944
7a87d69f
AB
49452013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4946
4947 * grub-core/net/bootp.c: Export net_* variables.
4948 * grub-core/net/net.c: Likewise.
4949
b2182299
VS
49502013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4953
795b3dc0
VS
49542013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4957
68714c43
VS
49582013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4961
af211bab
VS
49622013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4965
0036f02d
MM
49662013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4967
4968 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4969 <= 0.
4970
6d0ddff3
MM
49712013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4972
4973 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4974 functions.
4975
038016f4
MM
49762013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4977
4978 * grub-core/fs/zfs/zfs_lz4.c: New file.
4979 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4980
776bdce2
MM
49812013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4982
4983 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4984
c71dbd40
MM
49852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4986
4987 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4988 (check_pool_label): Likewise.
4989 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4990
49912013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4992
4993 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4994
8e67b50f
AB
49952013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4996
4997 * docs/grub.texi (Commands): Document postition parameters
4998 for menuentry command.
4999
f5ae3717
AB
50002013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5001
5002 * util/grub-mknetdir.in: Remove stray line from help output.
5003
9c28da2a
VS
50042013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Remove early sm712 init as there is no reason for it (the "watchdog"
5007 effect was due to wrong GPIO map).
5008
139072b8
VS
50092013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/commands/pcidump.c: Remove static variables.
5012
c6a61bda
VS
50132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5016
51369614
VS
50172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * configure.ac: Move delimiter after the infos.
5020
efa8640a
VS
50212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5024
6f80a7b2
VS
50252013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5028 not filling whole 8x16 space.
5029
a2371e19
VS
50302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5033
64fce2d8
VS
50342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * configure.ac: Indicate which liblzma is used if any.
5037
eb272d84
PW
50382013-06-21 Paul Wise <pabs3@bonedaddy.net>
50392013-06-21 Craig Sanders <savannah@taz.net.au>
5040
5041 * util/grub-reboot.in: Document submenu usage.
5042
a9e5abee
CW
50432013-06-25 Colin Watson <cjwatson@ubuntu.com>
5044
5045 * .bzrignore: Update with a number of new test-related files.
5046
e639c204
CW
50472013-06-25 Colin Watson <cjwatson@ubuntu.com>
5048
5049 * util/grub-script-check.c: Fail on scripts containing no
5050 commands, to guard against corrupted grub-mkconfig setups that
5051 produce no useful output.
5052 * tests/grub_script_no_commands.in: New test.
5053 * Makefile.util.def (grub_script_no_commands): Add.
5054 Reported by Hans Putter. Fixes Debian bug #713886.
5055
a4c89b17
AB
50562013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5057
5058 * grub-core/disk/diskfilter.c: Forgot to remove comment
5059 from previous commit.
5060
5b06b53c
AB
50612013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5062
5063 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5064 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5065
702da5c9
AB
50662013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5067
5068 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5069
aa62a5b7
AB
50702013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5071
5072 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5073 rescan diskfilter devices until nothing new is found.
5074
4aa237c8
VS
50752013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5078
93d8479b
VS
50792013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Don't try to detect cbfs on *-emu.
5082
837222cc
VS
50832013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5086
99c971af
VS
50872013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Add support for processed coreboot payload chainloading.
5090
e6930a45
VS
50912013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Enable coreboot information commands even when not loaded as
5094 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5095
5027af38
VS
50962013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 Support for cbfs. Also factor out the part which is common
5099 for all archives to a separate module. This splits tar from cpio
5100 as they are very different but keeps cpio, cpio_be, odc and newc
5101 together since they're very similar.
5102
a5b55c4b
DM
51032013-06-15 David Michael <fedora.dm0@gmail.com>
5104
5105 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5106 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5107
0301a8b3
VS
51082013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * tests/grub_script_eval.in: Really add the eval test.
5111
3d84cb17
VS
51122013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Move flavour-specific parts out of common cpio.c file and
5115 rename remaining to cpio_common.c
5116
593e430c
AB
51172013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5118
5119 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5120 off new function grub_script_execute_new_scope. Change callers to use
5121 either of them as appropriate.
5122 * grub-core/commands/eval.c: New command eval.
5123 * docs/grub.texi (Commands): Document it.
5124
63c29849
AB
51252013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5126
5127 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5128 to fetch values when listing.
5129
cc284112
AB
51302013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5131
5132 Fix make dist on non-pc.
5133
51342013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5135
5136 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5137 without a device name.
5138
69544d1e
VS
51392013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 Remove enable_executable_check as it's not needed anymore.
5142 Reported by: dougray.
5143
96dbe648
VS
51442013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5147 ambigouos RAID before discovering RAIDs on top of it.
5148 Reported by: bodom.
5149
ccfc0bdb
VS
51502013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 Fix typo (failback vs fallback).
5153
f2587088
AB
51542013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5155
5156 * util/grub.d/30_os-prober.in: Add support for probing EFI
5157 System Partition (as of os-prober 1.58).
5158
cec5cf0c
VS
51592013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * configure.ac: Add yet another path to unifont. For parabola.
5162
e40b4596
JT
51632013-05-30 Josh Triplett <josh@joshtriplett.org>
5164
5165 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5166 handling to copy the killed characters to the kill buffer as
5167 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5168 stored as char. Eliminates UCS4 truncation and corruption
5169 observed when killing characters with Ctrl-u and yanking them
5170 back with Ctrl-y.
5171
fc4c4fdd
VS
51722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Detach optional parts of gfxterm and integrate in with coreboot init.
5175
6570b205
VS
51762013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Move blit and fill dispatcher to appropriate files to decrease export
5179 and relocation overhead.
5180
b8323067
VS
51812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5184 functions.
5185
3cc1878f
VS
51862013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/Makefile.am: Fix compilation problem with some
5189 automake versions.
5190
4b80e43c
VS
51912013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5194
57e0c20c
VS
51952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5198 automake versions.
5199
4fd42c53
VS
52002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5203 SSDT.
5204
1e908b34
RS
52052013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5206
5207 * grub-core/partmap/dfly.c: New partition map.
5208
1359e474
VS
52092013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5212 checking.
5213 Reported by: Francesco Lavra.
5214
17806392
AB
52152013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5216
5217 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5218 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5219 false conditions.
5220 * conf/Makefile.common: define dist_grubconf_DATA
5221
cdce14fa
VS
52222013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Progressively skip menu elements on small terminals rather
5225 than crashing.
5226
c8d6cc3c
VS
52272013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5230 to avoid losing last column.
5231
a73b31ce
VS
52322013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * po/exclude.pot: Add missing string "%C".
5235
1202c764
VS
52362013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5239 after the test.
5240
50268344
VS
52412013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * util/grub-install.in: Gettextize "Not found" message.
5244
62b15edf
VS
52452013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Fix distfiles list.
5248 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5249
52502013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5251
5252 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5253 present.
5254 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5255
709ad61b
VS
52562013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5259
d128901a
VS
52602013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5263 attribute since structure is not necessarily aligned.
5264
34b22f5c
AB
52652013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5266
5267 * docs/grub.texi (Device syntax): Clarify description of network
5268 drives.
5269
0f7e980b
VS
52702013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5273 for vasprintf presence.
5274
30b03dc2
VS
52752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * util/grub-install.in: Handle efibootmgr presence check.
5278 Reported by: Leif Lindholm.
5279
0dc11c08
VS
52802013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5283 new strings to translate.
5284
f8024c3f
VS
52852013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5288 yet another string (pun intended) to translate.
5289
b4c1da62
VS
52902013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * po/POTFILES-shell.in: Autogenerate it.
5293
0ef7478b
VS
52942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5297
8200fa15
VS
52982013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5301 misnomer.
5302
091945b2
AB
53032013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5304
5305 * docs/grub.texi (Network): Add description of net_default_interface,
5306 net_default_ip and net_default_mac. Rewrite variables description
5307 to emphasize that they are per-interface.
5308
0e7b2e32
VS
53092013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 New test: cmdline and cat.
5312
16f7c8f6
VS
53132013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/commands/cat.c: Show UTF-8 characters.
5316
3e912fda
VS
53172013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * conf/Makefile.common: Poison float and double on non-emu.
5320
ee0220bc
VS
53212013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * configure.ac: Don't disable extended registers on emu.
5324
89e0240c
VS
53252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * configure.ac: Don't use extended registers on x86_64.
5328 Reported by: Peter Jones.
5329
e56d9637
VS
53302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/term/efi/console.c: Fix compile error.
5333
8098f655
VS
53342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 Compressed HFS+ support.
5337
16940e07
VS
53382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5341 pixel".
5342
c5dbc13d
VS
53432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 Menu color test.
5346
011f8ae8
VS
53472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/tests/setjmp_test.c: New test.
5350
2aa072d7
VS
53512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 New variables 'net_default_*' to determine MAC/IP of default interface.
5354
43fe02cb
VS
53552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * tests/gettext_strings_test.in: A test to check for strings not
5358 marked for translation.
5359
bed06142
VS
53602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * autogen.sh: Exclude unused libgcrypt files from translation.
5363
fb2666b5
VS
53642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Simplify few strings.
5367
d22840ec
VS
53682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Mark few forgotten strings for translation.
5371
e34092fd
VS
53722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5375 rather than printf.
5376
47cf82b4
VS
53772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5380 rather than printf.
5381 * grub-core/video/readers/tga.c: Likewise.
5382
1eed0e6e
VS
53832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * tests/priority_queue_unit_test.cc: New test.
5386
c5b7697b
VS
53872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5390 than printf.
5391
5945c2f8
AB
53922013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5393
5394 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5395 variable for one time boot menu entry.
5396
fa292343
B
53972013-05-05 Bean <bean123ch@gmail.com>
5398
5399 * grub-core/commands/testspeed.c: New command testspeed.
5400
310d4214
VS
54012013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 Factor-out human-size printing.
5404
85002bf3
VS
54052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 Agglomerate more mallocs to speed-up gfxterm.
5408
22b06e96
VS
54092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 Speed-up gfxterm by slightly agglomerating mallocs.
5412
b7c036bc
VS
54132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 More video checks.
5416
92323d1f
VS
54172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 Speed-up gfxterm by saving intermediate results in index+alpha
5420 format.
5421
0fb356a3
VS
54222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5425 test.
5426
44dea3f9
VS
54272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5430 line of timeout as it may contain the rest of long line.
5431
14af86e4
VS
54322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/normal/main.c: Fix freed memory dereference.
5435
03f7c8c3
VS
54362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Fix several memory leaks.
5439
c686014c
VS
54402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5443
0788a695
VS
54442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5447
daf01d61
VS
54482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 Fix test -a and -o precedence.
5451 Reported by: adrian15.
5452
82ae74d7
VS
54532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5456
8cec7bd4
AB
54572013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5458
5459 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5460 and add it as source to functional_test module.
5461
aa73d688
VS
54622013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5465
c104b6f9
VS
54662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 New series of tests for gfxterm and gfxmenu.
5469
7391c4d5
VS
54702013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5473 the theme path relative to $prefix/themes.
5474
cff50118
VS
54752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5478 Fix order bug.
5479 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5480
7c332bdc
VS
54812013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5484 descriptor.
5485
a4f9a5ff
VS
54862013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5489 grub_gfxmenu_timeout_notifications.
5490 (grub_gfxmenu_view_destroy): Likewise.
5491
b5a2114d
VS
54922013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5495
a8905e8a
VS
54962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Several fixes to ieee1275 and big-endian video.
5499
813c1622
VS
55002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Add missing exports on mips.
5503
3f3e7326
VS
55042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5507 if no unifont is found.
5508 Restore original keyboard.
5509
095accd1
VS
55102013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5513 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5514
50361660
VS
55152013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 First automated video test (running videotest and comparing results)
5518
cd0f6eec
VS
55192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5522 instead of 2 to have full RGB/CMY test pattern.
5523
3f9634e5
VS
55242013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 Add few more tests.
5527
583e5b64
VS
55282013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5531 ARCS. All users updated.
5532
aa7bcb99
VS
55332013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5536
95ef1a54
VS
55372013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5540
46546fc5
VS
55412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5544 Reported by: qwertial.
5545
3476e0ef
VT
55462013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5547
5548 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5549 with syntax "XXX deg"/"XXX °".
5550
96f33fed
VS
55512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Make PCI init in i386-qemu port more robust.
5554
55552013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5556
5557 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5558 cached view is reused.
5559 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5560 open boot menus.
5561
c53b4e67
VS
55622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 Unify more code in grub-install_header.
5565
f7457fb2
VS
55662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 Add few new tests.
5569
e2f27a8c
VS
55702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 Enforce disabling of firmware disk drivers when native drivers kick in.
5573
ef9d8cd5
VS
55742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/commands/nativedisk.c: Customize the list of modules on
5577 platform. Don't try to search for disks already using native drivers.
5578
f7bf6c31
VS
55792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5582 platforms.
5583
bdc4add8
VS
55842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5587 handling of variables containing backslash.
5588
e9e46c9a
VS
55892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5592 dereference.
5593 Reported by: qwertial.
5594
0e90dee8
VS
55952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5598
e0aacf24
VS
55992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5602 dereference.
5603 Reported by: qwertial.
5604
3c0003c3
VS
56052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5608
adb7d667
VS
56092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5612
7cd0df84
VS
56132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 New command `nativedisk'.
5616
02adbb93
VS
56172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5620 * grub-core/loader/i386/bsd.c: Likewise.
5621
9fb0fd4f
VS
56222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5625
bd69257a
VS
56262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5629 grub_get_unaligned16 rather than shifts.
5630
178c2764
VS
56312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/kern/file.c: Use const char * rather than casting to
5634 non-const.
5635
eadfad24
VS
56362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/commands/probe.c: Add missing grub_device_close.
5639
9f73ebd4
VS
56402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * INSTALL: Document linguas.sh.
5643
965fa829
VS
56442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 Remove POTFILES.in and regenerate it in autogen.sh.
5647
d417ddc4
VS
56482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Move --directory/--override-directorry to grub-install_header and unify.
5651
f97ec546
VS
56522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/term/morse.c: Macroify dih and dah.
5655
b2d7470c
PFS
56562013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5657
5658 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5659
141e2a78
VS
56602013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/term/ns8250.c: Systematically probe ports by writing
5663 to SR before using them.
5664
1dd70ebd
PFS
56652013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5666
5667 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5668 disks.
5669 (check_sas): Get sas_adress info.
5670
c796a107
VS
56712013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5674 ports.
5675
43168646
LD
56762013-04-27 Leon Drugi <eyak>
5677
5678 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5679 BSS clearing.
5680
e7b8fd08
VS
56812013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Core compression test.
5684
17f9fd29
VS
56852013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Implement grub_machine_get_bootlocation for ARC.
5688
dc2a6c8b
VS
56892013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 Improve AHCI detection and command issuing.
5692
f25a2ba6
VS
56932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Fix pseries test.
5696
a6393224
VS
56972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Make 'make check' work on emu.
5700
db99fbe8
VS
57012013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 Replace libcurses with our own vt100 handling for the ease of testing
5704 and decreasing prerequisites.
5705
b24ca7cd
VS
57062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5709
63314aa4
VS
57102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5713 compile when not needed.
5714
c1b00fff
VS
57152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * tests/pseries_test.in: New test.
5718
f93e89ef
VS
57192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 Add test to check that different boot mediums work.
5722
c4b456d3
VS
57232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5726 ofw limited ISO support.
5727
5fe67f39
VS
57282013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * configure.ac: Fix loongson conditional.
5731
7f63a64f
VS
57322013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Enable mipsel-arc.
5735
b04b5990
VS
57362013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Add serial on ARC platform.
5739
88d2f302
VS
57402013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5743 commit.
5744
86eb23bc
VS
57452013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * tests/partmap_test.in: Add missing double semicolon.
5748
eec3bb75
VS
57492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * util/grub-mkrescue.in: Fix loongson filename.
5752
e0810df3
VS
57532013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * util/grub-mkrescue.in: Move all files that don't have a location
5756 set in stone under /boot/grub. Use ISO hard links rather than copies
5757 to save some space.
5758
65a6b30b
VS
57592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5762 bogus SLOF values.
5763
6aff0107
VS
57642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 Make check work on mips-arc.
5767
5e013e56
VS
57682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * util/grub-mkrescue.in: Alias sashARCS as sash.
5771
d1989e2e
VS
57722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5775 it's serial.
5776
1a25e72c
VS
57772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * util/grub-install.in: Fix target fo qemu_mips.
5780 Fix extension on EFI.
5781
a59a9826
VS
57822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5785 in front of chosen entry to mark it even if highlighting is lost.
5786
1a40f80c
VS
57872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5790 gfxpayload=keep if cbfb is active.
5791
e343549c
VS
57922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5795
45fbd9a2
VS
57962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Add missing video ids to coreboot and ieee1275 video.
5799
ab1440bd
VS
58002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * util/grub-mkrescue.in: Add mips-arc support.
5803
cdeb8324
VS
58042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5807
8528c879
VS
58082013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Move mips-arc link address. Previous link address was chosen
5811 in belief that RAM on SGI platforms grows down while in fact it
5812 grows up from an unusual base.
5813
17fca573
VS
58142013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5817 Fix a type which prevented CD-ROM and floppy boot.
5818
d178788e
VS
58192013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 Support coreboot framebuffer.
5822
5823 * grub-core/video/i386/coreboot/cbfb.c: New file.
5824
fe4c3e7e
VS
58252013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5828 detecting too small regions.
5829
ec2dd179
VS
58302013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5833
872dac83
VS
58342013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5837 Remove dprintf.
5838 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5839
90ec4b7f
VS
58402013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5843 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5844 * grub-core/loader/powerpc/ieee1275/linux.c
5845 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5846
f32555dd
VS
58472013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5850 Look for /boot-rom as well as /rom/boot-rom.
5851
38649799
VS
58522013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5855 handling when creating text_layer failed.
5856 * grub-core/video/video.c (grub_video_create_render_target):
5857 Set result to 0 on error.
5858 (grub_video_delete_render_target): Do not dereference NULL.
5859
aeace7f7
VS
58602013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5863 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5864 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5865 (grub_linux_load64): Mask out 2 high bits.
5866
4eafa175
AB
58672013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5868
5869 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5870 more place.
5871
daaa64bd
VS
58722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 Add support for pseries and other bootinfo machines to grub-mkrescue.
5875
5876 Tested by: Paulo Flabiano Smorigo.
5877
d0d2daa6
VS
58782013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * util/grub-mkrescue.in: Add GPT for EFI boot.
5881
b193e100
VS
58822013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5885 It improves performance in qemu.
5886
a0f8f3ac
VS
58872013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * build-aux/snippet: Add missing gnulib files.
5890
284df0e2
AB
58912013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5892
5893 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5894
740201f3
AB
58952013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5896
5897 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5898
a7e03923
PJ
58992013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
59002013-04-15 Peter Jones <pjones@redhat.com>
5901
5902 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5903 sectors.
5904 Based on patch by Peter Jones.
5905
25fc51a8
VS
59062013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Fix DMRAID partition handling.
5909
88017d47
VS
59102013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * tests/grub_cmd_date.in: Skip on sparc64.
5913
fa7d914e
VS
59142013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5917 firmware error messages.
5918
cbe57a48
VS
59192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5922 source and destination differ.
5923
21aecce0
VS
59242013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5927 detection.
5928
25092d29
VS
59292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5932 match config-util.h to avoid warnings and increase compatibility.
5933
79451522 59342013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 59352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5936
5937 Add option to compress files on install/image creation.
5938
78b7d77b
VS
59392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * docs/grub-dev.texi: Rearrange menu to match the section order.
5942 Reported by: Bryan Hundven.
5943
cc2fa5ec
VS
59442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5947
b49fe879
VS
59482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Move GRUB out of system area when using xorriso 1.2.9 or later.
5951
5351da81
VS
59522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * tests/grub_cmd_date.in: Add missing exit 1.
5955
c9d586ea
VS
59562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * tests/partmap_test.in: Skip on sparc64.
5959
3f729741
VS
59602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Support grub-shell on sparc64.
5963
8ca86b3a
VS
59642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Support mkrescue on sparc64.
5967
aa1af9bb
VS
59682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5971 Needed on OpenBIOS due to incomplete device tree.
5972
ac4fea79
VS
59732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5976 would be otherwise excluded.
5977
59782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5979
5980 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5981 Inline name defines used only once.
5982
fe22b071
VS
59832013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 Fix memory leaks in ofnet.
5986 Reported by: Francesco Lavra.
5987
9d21381b
VS
59882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * docs/man/grub-glue-efi.h2m: Add missing file.
5991
07aec23c
VS
59922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5995
67ab8353
VS
59962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Better support Apple Intel Macs on CD.
5999
ba44ca6d
VS
60002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Replace stpcpy with grub_stpcpy in tools.
6003
bbdd6305
VS
60042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 Handle Japanese special keys.
6007 Reported by: Hiroyuki YAMAMORI.
6008 Codes supplied by: Hiroyuki YAMAMORI.
6009
8573d302
VS
60102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * util/grub-mkimage.c: Document memdisk implying --prefix.
6013
d70dbab7
VS
60142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6017 much we can do about it anyway.
6018
51a4c3e3
AN
60192013-04-12 Aleš Nesrsta <starous@volny.cz>
6020
6021 Fix handling of split transfers.
6022
92c8f58d
VS
60232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/net/http.c: Fix bad free.
6026
b7d17a49
VS
60272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6030 than buffer size.
6031
a3d566d4
VS
60322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6035
a936af56
VS
60362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * tests/util/grub-shell.in: Fix it on powerpc.
6039
51212234
VS
60402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 Turn off QEMU ACPI-way since new releases don't have shutdown port
6043 anymore.
6044
a21eec9e
VS
60452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * docs/grub.texi: Update coreboot status info.
6048
e3734b84
VS
60492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * tests/grub_cmd_date.in: New test for datetime.
6052
f9d40055
VS
60532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * tests/partmap_test.in: Fix missing qemudisk setting.
6056
dbc56d8f
VS
60572013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 Support i386-ieee1275 grub-mkrescue and make check on it.
6060
a79b8a15
VS
60612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6064 feature for it.
6065
48f39bb4
VS
60662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6069 GRUB_CMDLINE_XEN_DEFAULT.
6070 Reported by: Marc Warne (GigaTux) <gigatux>
6071
053cfcdd
VS
60722013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 Import new gnulib.
6075
93cd84df
VS
60762013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 Use ACPI shutdown intests as traditional port was removed.
6079
f4b1fa4f
AB
60802013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6081
6082 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6083 distinction.
6084
49818a59
VS
60852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6088 Fix few warining messages and leaks while on it.
6089
9277a306
AB
60902013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6091
6092 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6093 links under grub-core/lib/libgcrypt-grub/mpi.
6094
d5e2a158
VS
60952013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Fix ia64-efi image generation on big-endian machines. Deduplicate
6098 some code while on it.
6099 Reported by: Leif Lindholm.
6100
18866643
AB
61012013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6102
6103 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6104 as extra_dist.
6105
ca53deb8
AB
61062013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6107
6108 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6109
d4c4b8e1
BH
61102013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6111
6112 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6113 texinfo-5.1.
6114
47043f95
VS
61152013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/normal/term.c: Few more fixes for menu entry editor
6118 rendering.
6119 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6120
a3216068
VS
61212013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/normal/term.c: Few more fixes for menu entry editor
6124 rendering.
6125 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6126
21026747
AB
61272013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6128
6129 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6130 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6131
59624ca8
AB
61322013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6133
6134 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6135 instead of hardcoding grub.mo.
6136
1f44478c
FN
61372013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6138
6139 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6140
eeada7b1
VS
61412013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6144 grub-core/disk/geli.c.
6145
132867de
VS
61462013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * util/grub-mkfont.c: Prefer enum to #define.
6149
de73de17
VS
61502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6153
1865baa7
VS
61542013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6157
ce7d92a9
VS
61582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6161
52eab656
VS
61622013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6165
98b23b95
VS
61662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * include/grub/bsdlabel.h: Use enums.
6169
0467a5dd
VS
61702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Move GRUB_CHAR_BIT to types.h.
6173
16cc9f03
AB
61742013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6175
6176 * docs/grub.texi: Document more user commands.
6177
3152aecb
AB
61782013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6179
6180 * docs/grub.texi: Document menuentry --id option.
6181
c506fc30
FL
61822013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6183
6184 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6185
aa428238
VS
61862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Unify file copying setup across different install scripts. Add
6189 options for performing partial install.
6190
efe0cdda
PJ
61912013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
61922013-04-04 Peter Jones <pjones@redhat.com>
6193
6194 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6195
f75835bd
VS
61962013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 Use TSC as a possible time source on i386-ieee1275.
6199
2cd5ce6c
VS
62002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6203 Init err.
6204
c9625630
VS
62052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * util/grub-setup.c (setup): Handle some corner cases.
6208
be008941
VS
62092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6212
1a78d573
VS
62132013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/commands/verify.c: Save verified file to avoid it being
6216 tampered with after verification was done.
6217
db8ff59f
VS
62182013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6221 reported width by one to compensate for curesor algorithm problem.
6222
91bf46b1
VS
62232013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix screen corruption in menu entry editor and simplify the code
6226 flow while on it.
6227
a7b1d693
AB
62282013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6229
6230 * util/grub-mount.c (fuse_init): Return error if fuse_main
6231 failed.
6232
31df9ad8
FL
62332013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6234
6235 * include/grub/elf.h: Add missing ARM relocation codes and fix
6236 existing ones.
6237
07f392eb
VT
62382013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6239
6240 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6241
9efd73ec 62422013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
62432013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6246 into account when calculating radius.
6247
62482013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6249
6250 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6251
4985ddaa
VT
62522013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6253
6254 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6255
8c3635ff
RS
62562013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6257
6258 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6259 missing closing bracket.
6260
74a35e69
RS
62612013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6262
6263 * INSTALL: Mention xorriso requirement.
6264
40f1c000
AB
62652013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6266
6267 * grub-core/commands/verify.c: Fix hash algorithms values for
6268 the first three hashes - they start with 1, not with 0.
6269
e75fdee4
VS
62702013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6273 Try terminating EFI services several times due to quirks in some
6274 implementations.
6275
33028f4c
CW
62762013-03-26 Colin Watson <cjwatson@ubuntu.com>
6277
6278 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6279 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6280 BankField extended opcodes.
6281 (get_sleep_type): Add minimal scope handling (just enough to
6282 handle setting the scope to the root path).
6283 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6284 * include/grub/acpi.h: Add enumeration values for Event, Device,
6285 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6286
33871a10
VT
62872013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6288
6289 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6290 memory leak.
6291
8990963a
VS
62922013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/disk/ahci.c: Give more time for AHCI request.
6295
daae8f9e
VS
62962013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6299 command.
6300
6a7fb94b
VS
63012013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Replace the region at 0 from coreboot tables to available in BSD
6304 memory map.
6305
ff99babd
VS
63062013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6309 non-BIOS platforms.
6310
30d6b1b2
VS
63112013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6314 platforms.
6315
6ccd0b31
VS
63162013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6319 handling of multi-device filesystems.
6320
23c9cc04
VS
63212013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6324 platforms.
6325
ce50dbd7
VS
63262013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 Add new 'proc' filesystem framework and put luks_script into it.
6329
d975e8d5
VS
63302013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6333 and qemu.
6334
e73ba5e8
VS
63352013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6338
92750e4c
VS
63392013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 Add ability to generate newc additions on runtime.
6342
0ec45a68
VS
63432013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6346 description.
6347
320abd43
VS
63482013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * po/POTFILES.in: Regenerate.
6351
d7a6506e
VS
63522013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/commands/verify.c (hashes): Add several hashes
6355 from the spec.
6356
8fe05def
VS
63572013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Slight improve in USB-related boot-time checkpoints.
6360
524e2766
VS
63612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/commands/boottime.c: Fix copyright header.
6364
cc19857a
VS
63652013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6368 coreboot tables content. Support for cbmemc.
6369
ef8810e9
VS
63702013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 Fix a conflict between ports structures with 2 controllers of
6373 same kind.
6374
e9dabdfa
VS
63752013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * include/grub/boottime.h: Add missing file.
6378
f6df57d2
VS
63792013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 Initialize USB ports in parallel to speed-up boot.
6382
d745dda7
VS
63832013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Fix USB devices not being detected when requested
6386 due to delayed attach.
6387
e5a2dd7b
VS
63882013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6389
e744219b
VS
6390 Implement boot time analysis framework.
6391
63922013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6395 descriptor to just receive it as argument rather than endpoint
6396 address.
6397
5dd6f587
VS
63982013-03-19 Aleš Nesrsta <starous@volny.cz>
6399
6400 Better estimate the maximum USB transfer size.
6401
2f1071d5
VS
64022013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Resend a packet if we got the wrong buffer in status.
6405
46ecfc49
VS
64062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6409 multiplication rather than division.
6410
ea811130
VS
64112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6414 than divisions.
6415
d2789cf0
VS
64162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6419 operations to have intended shifts and not divisions.
6420
a9c94590
VS
64212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6424 intended shifts rather than division.
6425
84cfe81b
VS
64262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6429 computation for some years before epoch. Avode confusing division
6430 while on it.
6431
21344ef6
VS
64322013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * grub-core/video/i386/pc/vbe.c
6435 (grub_video_vbe_print_adapter_specific_info): Replace division by
6436 shifts.
6437
3f2b4d1a
VS
64382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Adjust types in gdb module to have intended unsigned shifts rather than
6441 signed divisions.
6442
3dac5878
VS
64432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6446 maximum size is 4G - 1 on hfs
6447
5341c0fb
VS
64482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6451
fc3ff2a2
VS
64522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6455 function.
6456
81455e8e
AB
64572013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6458
6459 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6460 causing gcc error with gcc 4.7.1.
6461
efd4f117
NZ
64622013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6463
6464 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6465 dereference null pointer. While the code is technically correct, gcc
6466 may eliminate a null check if pointer is already dereferenced.
6467
e11645f4
NZ
64682013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6469
6470 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6471 OOM check.
6472 * grub-core/normal/term.c (read_terminal_list): Likewise.
6473
77468368
VS
64742013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Lift up core size limits on some platforms. Fix potential memory
6477 corruption with big core on small memory systems. Document remaining
6478 limits.
6479
f6b58fe5
VS
64802013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6483 gotoxy to 0,0.
6484
19ce697d
VS
64852013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Remove all trampoline support. Add -Wtrampolines when
6488 present. Remove symbols used for trampolines to make
6489 link fail if trampolines are present.
6490
73b5d90f
VS
64912013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6494 append out of its parent.
6495
cb758e96
VS
64962013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6499 parent.
6500
3188131f
VS
65012013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6504 all vars to a macro. All users updated.
6505
e42b2514
VS
65062013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6509 i386-ieee1275.
6510
83e1a1a1
VS
65112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6514
1d5a880f
VS
65152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6518
6e4146c4
VS
65192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 Move to more hookless approach in IEEE1275 devices handling.
6522
99fcda8a
VS
65232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * grub-core/kern/term.c (grub_term_normal_color),
6526 (grub_term_highlight_color): Add back lost defaults.
6527
73bf57e2
VS
65282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Make elfload not use hooks. Opt for flags and iterators instead.
6531
7f8c105f
VS
65322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6535 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6536
396d4091
VS
65372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6540
65412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6544 hook pass-through parameter. All users updated and unnested.
6545
74a27421
VS
65462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6549 out of its parent.
6550
b46d4213
VS
65512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/fs/hfs.c: Remove nested functions.
6554
e114c3cc
VS
65552013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6558 the context through.
6559 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6560
f9b7d780
VS
65612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * util/grub-editenv.c (list_variables): Move print_var out of its
6564 parent.
6565
ca9c2608
VS
65662013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6569 function.
6570
5d983f5f
VS
65712013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * grub-core/gentrigtables.c: Make tables const.
6574
3056d3e7
VS
65752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 Remove nested functions from videoinfo iterators.
6578
e2303774
VS
65792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6582 for 64-bit platforms.
6583
f42e3a2f
VS
65842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6587 a FOR_CHILDREN macro.
6588
be174e5e
VS
65892013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6592 platform from firmware path.
6593
0789b672
VS
65942013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 Enable linux16 on non-BIOS systems for i.a. memtest.
6597
6598 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6599 correctly.
6600 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6601
005a9c32
VS
66022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6605 Fix end of table condition.
6606
ff2b3cd9
VS
66072013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6610 out of its parent.
6611
4fc40ff8
VS
66122013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/fs/jfs.c: Remove nested functions.
6615
be42d97a
VS
66162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/fs/minix.c: Remove nested functions.
6619
99373ce4
VS
66202013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/fs/iso9660.c: Remove nested functions.
6623
5aec2afe
VS
66242013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6627 of parent function.
6628
6c69e691
VS
66292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * util/grub-fstest.c: Remove nested functions.
6632
43c91882
VS
66332013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/loader/machoXX.c: Remove nested functions.
6636
4eb8b756
CW
66372013-02-27 Colin Watson <cjwatson@ubuntu.com>
6638
6639 Remove nested functions from disk and file read hooks.
6640
6641 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6642 (struct grub_disk): Add read_hook_data member.
6643 * include/grub/file.h (struct grub_file): Likewise.
6644 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6645 argument.
6646
6647 Update all callers.
6648
df6da5a5
AB
66492012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6650
6651 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6652 Fix off by one error in enumerating extended partitions.
6653
21aecde5
AB
66542013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6655
6656 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6657 memory leak if device name is not found.
6658
f1a19118
AB
66592013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6660
6661 * grub-core/normal/menu_entry.c (update_screen): remove
6662 unused variable `off' which caused scroll down arrow to be always shown.
6663
958bfd20
AB
66642013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6665
6666 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6667 access to unallocated memory.
6668
b7b78edb
AB
66692013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6670
6671 * Makefile.util.def: Add partmap/msdos.c to common library.
6672 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6673 * grub-core/disk/ldm.c: Check for existence of
6674 GRUB_PC_PARTITION_TYPE_LDM.
6675
28d468d6
VS
66762013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6679 sizes and display sector size.
6680
d55ffb02
VS
66812013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Implement new command cmosdump.
6684
b5ea6ce0
VS
66852013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6686
6687 Support Openfirmware disks with non-512B sectors.
6688
6689 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6690 size of the disk.
6691 * (grub_ofdisk_get_block_size): New function.
6692 * (grub_ofdisk_prepare): Use the correct block size.
6693 * (grub_ofdisk_read): Likewise.
6694 * (grub_ofdisk_write): Likewise.
6695 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6696 New proto.
6697
cc0e476f
VS
66982013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6701
c5dbdc33
VS
67022013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6705 on first error.
6706
3f078c0f
VS
67072013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6710 freeing it.
6711
66a93674
VS
67122013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Implement USBDebug (full USB stack variant).
6715
c9f0c134
VS
67162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6719 unless they have unexpected values.
6720
cfe1288b
VS
67212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6724 grub_print_error.
6725
e42b9969
VS
67262013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6729 zero-out of port structure.
6730
cf94fd62
VS
67312013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6734 of extended attributes.
6735
f81ef4b5
AB
67362013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6737
6738 * util/grub-install.in: change misleading comment about
6739 device.map creation
6740
af18fdb4
VS
67412013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6744 when menu highlight color isn't set.
6745
08bcec50
M
67462013-01-27 C. Masloch <pushbx@38.de>
6747
6748 Improve FreeDOS direct loading support compatibility.
6749
6750 * include/grub/i386/relocator.h (grub_relocator16_state):
6751 New member ebp.
6752 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6753 variable.
6754 (grub_relocator16_boot): Handle %ebp.
6755 * grub-core/lib/i386/relocator16.S: Likewise.
6756 * grub-core/loader/i386/pc/freedos.c:
6757 Load BPB to pass kernel which partition to load from.
6758 Check that kernel file is not too large.
6759 Set register dl to BIOS unit number as well.
6760
7782b8a6
CW
67612013-01-22 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * util/grub-reboot.in (usage): Document the need for
6764 GRUB_DEFAULT=saved.
6765 * util/grub-set-default.in (usage): Likewise.
6766 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6767
e661c180
VS
67682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6771 than defining WORDS_BIGENDIAN manually.
6772
1c22ca9a
VS
67732013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6776 invariants.
6777
d44892fe
CW
67782013-01-21 Colin Watson <cjwatson@ubuntu.com>
6779
6780 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6781 nested.
6782 (blit_comb: add_device_width): Likewise.
6783
5fdbaed1
CW
67842013-01-21 Colin Watson <cjwatson@ubuntu.com>
6785
6786 Remove nested functions from USB iterators.
6787
6788 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6789 (grub_usb_controller_iterate_hook_t): Likewise.
6790 (grub_usb_iterate): Add hook_data argument.
6791 (grub_usb_controller_iterate): Likewise.
6792 (struct grub_usb_controller_dev.iterate): Likewise.
6793
6794 Update all implementations and callers.
6795
4250985a
VS
67962013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6799 margin when not needed.
6800
7d8848f3
VS
68012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6802
bc136973 6803 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6804
68052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6806
bc136973
VS
6807 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6808 asterisk.
7d8848f3 6809
ed12a003
CW
68102013-01-21 Colin Watson <cjwatson@ubuntu.com>
6811
6812 Fix powerpc and sparc64 build failures caused by un-nesting memory
6813 map iterators.
6814
6a0db449
CW
68152013-01-21 Colin Watson <cjwatson@ubuntu.com>
6816
6817 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6818 parameter declarations.
6819
ccd86b21
VS
68202013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6823
822b726b
VS
68242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Improve spkmomdem reliability by adding a separator between bytes.
6827
115c2cc1
CW
68282013-01-21 Colin Watson <cjwatson@ubuntu.com>
6829
6830 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6831 an Acer registration utility with several sightings in the wild.
6832 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6833
fc524edf
CW
68342013-01-21 Colin Watson <cjwatson@ubuntu.com>
6835
6836 Remove nested functions from filesystem directory iterators.
6837
6838 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6839 (struct grub_fs.dir): Add hook_data argument.
6840
6841 Update all implementations and callers.
6842
53d3e4e3
CW
68432013-01-21 Colin Watson <cjwatson@ubuntu.com>
6844
6845 * docs/grub.texi (Multi-boot manual config): Fix typo for
6846 "recommended".
6847
c821711f
LL
68482013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6849
6850 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6851 until after its use in generate_image.
6852
6a0debbd
CW
68532013-01-20 Colin Watson <cjwatson@ubuntu.com>
6854
6855 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6856 initrd size to addr_min, since the initrd will be allocated after
6857 this address.
6858
f41e08db
AB
68592013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6860
6861 * conf/Makefile.common: Fix autogen rules to pass definition
6862 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6863
77529e0f
LL
68642013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6865
6866 * include/grub/elf.h: Update ARM definitions based on binutils.
6867
b879aa7b
VS
68682013-01-20 Aleš Nesrsta <starous@volny.cz>
6869
6870 Split long USB transfers into short ones.
6871
8eb8284d
AB
68722013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6873
6874 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6875 is interrupted by ESC.
6876
08dad2dc
VS
68772013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * util/grub-script-check.c (main): Uniform the error message.
6880
6c724b85
CW
68812013-01-20 Colin Watson <cjwatson@ubuntu.com>
6882
6883 Remove nested functions from ELF iterators.
6884
25239370
CW
68852013-01-20 Colin Watson <cjwatson@ubuntu.com>
6886
6887 Remove nested functions from device iterators.
6888
6889 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6890 (grub_arc_iterate_devs): Add hook_data argument.
6891 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6892 (struct grub_ata_dev.iterate): Add hook_data argument.
6893 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6894 (grub_device_iterate): Add hook_data argument.
6895 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6896 (struct grub_disk_dev.iterate): Add hook_data argument.
6897 (grub_disk_dev_iterate): Likewise.
6898 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6899 Likewise.
6900 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6901 Likewise.
6902 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6903 type.
6904 (struct grub_partition_map.iterate): Add hook_data argument.
6905 (grub_partition_iterate): Likewise.
6906 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6907 (struct grub_scsi_dev.iterate): Add hook_data argument.
6908
6909 Update all callers.
6910
6c0314d6
CW
69112013-01-20 Colin Watson <cjwatson@ubuntu.com>
6912
6913 Fix typos for "developer" and "development".
6914
600dc5f1
VS
69152013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Add license header to spkmodem-recv.c.
6918
17334a6b
VS
69192013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 Rewrite spkmodem to use PIT for timing. Double the speed.
6922
7d462559
VS
69232013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 Add new command pcidump.
6926
b78d6c32
VS
69272013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 New terminal outputs using serial: morse and spkmodem.
6930
34f71cb8
VS
69312013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 Improve bidi handling in entry editor.
6934
4542e71b
VS
69352013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6938 argument to prevent name collision.
6939
09fd6d82
CW
69402013-01-15 Colin Watson <cjwatson@ubuntu.com>
6941
6942 Remove nested functions from script reading and parsing.
6943
6944 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6945 getline_data argument, passed to getline.
6946 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6947 getline_data argument, passed to grub_parser_split_cmdline.
6948 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6949 lexerstate->getline_data to lexerstate->getline.
6950 (grub_script_lexer_init): Add getline_data argument, saved in
6951 lexerstate->getline_data.
6952 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6953 argument, passed to grub_script_parse.
6954 * grub-core/script/script.c (grub_script_parse): Add getline_data
6955 argument, passed to grub_script_lexer_init.
6956 * include/grub/parser.h (grub_parser_split_cmdline): Update
6957 prototype. Update all callers to pass appropriate getline data.
6958 (struct grub_parser.parse_line): Likewise.
6959 (grub_rescue_parse_line): Likewise.
6960 * include/grub/reader.h (grub_reader_getline_t): Add void *
6961 argument.
6962 * include/grub/script_sh.h (struct grub_lexer_param): Add
6963 getline_data member.
6964 (grub_script_parse): Update prototype. Update all callers to pass
6965 appropriate getline data.
6966 (grub_script_lexer_init): Likewise.
6967 (grub_normal_parse_line): Likewise.
6968
6969 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6970 data argument.
6971 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6972 static instead of nested. Rename to ...
6973 (grub_parser_execute_getline): ... this.
6974 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6975 data argument.
6976 * grub-core/normal/main.c (read_config_file: getline): Make static
6977 instead of nested. Rename to ...
6978 (read_config_file_getline): ... this.
6979 (grub_normal_read_line): Add unused data argument.
6980 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6981 getline): Make static instead of nested. Rename to ...
6982 (grub_script_execute_sourcecode_getline): ... this.
6983 * util/grub-script-check.c (main: get_config_line): Make static
6984 instead of nested.
6985
d0d4b8a0
CW
69862013-01-15 Colin Watson <cjwatson@ubuntu.com>
6987
6988 Remove nested functions from memory map iterators.
6989
6990 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6991 argument, passed to hook.
6992 * grub-core/kern/i386/coreboot/mmap.c
6993 (grub_linuxbios_table_iterate): Likewise.
6994 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6995 instead of nested.
6996 (grub_machine_mmap_iterate): Add hook_data argument.
6997 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6998 Add hook_data argument, passed to hook.
6999 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7000 Likewise.
7001 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7002 Likewise.
7003 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7004 Likewise.
7005 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7006 Likewise.
7007 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7008 Likewise.
7009 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7010 Likewise.
7011 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7012 (grub_machine_mmap_iterate): Likewise.
7013 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7014 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7015 prototype.
7016 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7017 Remove NESTED_FUNC_ATTR from here and from all users.
7018 (grub_mmap_iterate): Update prototype.
7019 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7020 pass appropriate hook data.
7021 (grub_machine_mmap_iterate): Likewise.
7022
7023 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7024 static instead of nested.
7025 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7026 Rename to ...
7027 (lsmmap_hook): ... this.
7028 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7029 Likewise.
7030 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7031 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7032 heap_init): Likewise.
7033 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7034 Rename to ...
7035 (mmap_iterate_hook): ... this.
7036 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7037 Likewise.
7038 * grub-core/lib/ieee1275/relocator.c
7039 (grub_relocator_firmware_get_max_events: count): Likewise.
7040 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7041 to ...
7042 (grub_relocator_firmware_fill_events_iter): ... this.
7043 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7044 hook): Likewise. Rename to ...
7045 (grub_relocator_alloc_chunk_align_iter): ... this.
7046 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7047 Rename to ...
7048 (generate_e820_mmap_iter): ... this.
7049 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7050 Rename to ...
7051 (count_hook): ... this.
7052 (grub_linux_boot: hook): Likewise. Rename to ...
7053 (grub_linux_boot_mmap_find): ... this.
7054 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7055 (grub_linux_boot_mmap_fill): ... this.
7056 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7057 hook): Likewise. Rename to ...
7058 (grub_fill_multiboot_mmap_iter): ... this.
7059 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7060 hook): Likewise. Rename to ...
7061 (count_hook): ... this.
7062 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7063 hook): Likewise. Rename to ...
7064 (grub_fill_multiboot_mmap_iter): ... this.
7065 * grub-core/loader/powerpc/ieee1275/linux.c
7066 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7067 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7068 Likewise. Rename to ...
7069 (alloc_phys_choose): ... this.
7070 (determine_phys_base: get_physbase): Likewise.
7071 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7072 find_hook): Likewise.
7073 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7074 (malloc_hook: count_hook): Likewise.
7075 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7076 Likewise. Rename to ...
7077 (lower_hook): ... this.
7078 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7079 (upper_hook): ... this.
7080 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7081 (post64_hook): ... this.
7082 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7083 Likewise. Rename to ...
7084 (lower_hook): ... this.
7085 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7086 (upper_hook): ... this.
7087 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7088 (grub_mmap_iterate: fill_hook): Likewise.
7089 (fill_mask): Pass addr and mask within a single struct.
7090 (grub_cmd_badram: hook): Make static instead of nested. Rename
7091 to ...
7092 (badram_iter): ... this.
7093 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7094 (cutmem_iter): ... this.
7095
22099030
VS
70962013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7099 delimit path in strings using quotes.
7100 * util/getroot.c (grub_guess_root_devices): Likewise.
7101 (grub_make_system_path_relative_to_its_root): Likewise.
7102 * util/grub-probe.c (probe): Likewise.
7103 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7104 (xrealpath): Likewise.
7105
4a9950ec
VS
71062013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 Fix compilation with older compilers.
7109
7110 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7111 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7112 declarations.
7113 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7114 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7115 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7116 identifier with b.
7117 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7118 * include/grub/crypto.h: Add type defines.
7119 * util/import_gcrypth.sed: Remove duplicate type defines.
7120
adcc6020
VS
71212013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 New command list_trusted.
7124
7125 * grub-core/commands/verify.c (grub_cmd_list): New function.
7126
a4528937
CW
71272013-01-13 Colin Watson <cjwatson@ubuntu.com>
7128
7129 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7130 info message.
7131
ca3a7446
CW
71322013-01-13 Colin Watson <cjwatson@ubuntu.com>
7133
7134 Remove nested functions from PCI iterators.
7135
7136 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7137 passed to hook. Update all callers to pass appropriate hook data.
7138 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7139 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7140 Remove NESTED_FUNC_ATTR from here and from all users.
7141 (grub_pci_iterate): Update prototype.
7142 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7143 instead of nested. Rename to ...
7144 (grub_cs5536_find_iter): ... this.
7145 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7146 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7147 Likewise.
7148 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7149 Likewise.
7150 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7151 Likewise.
7152 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7153 Likewise.
7154 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7155 * grub-core/video/radeon_fuloong2e.c
7156 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7157 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7158 find_card): Likewise.
7159 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7160 Likewise.
7161
f8e98fee
VS
71622013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * grub-core/commands/verify.c: Mark messages for translating.
7165
055b36b6
VS
71662013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7169 fatal.
7170
f7ff879b
VS
71712013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7174 fatal.
7175
71762013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7177
7178 * autogen.sh: Do not try to delete nonexistant files.
7179 * util/import_gcrypth.sed: Add some missing header removals.
7180
01323d49
CW
71812013-01-12 Colin Watson <cjwatson@ubuntu.com>
7182
7183 Clean up dangling references to grub-setup.
7184 Fixes Ubuntu bug #1082045.
7185
7186 * docs/grub.texi (Images): Refer generally to grub-install rather
7187 than directly to grub-setup.
7188 (Installing GRUB using grub-install): Remove direct reference to
7189 grub-setup.
7190 (Device map) Likewise.
7191 (Invoking grub-install): Likewise.
7192 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7193 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7194 * util/grub-install.in (usage): Likewise.
7195
7196 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7197 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7198 grub-setup.
7199 * configure.ac: Remove grub_setup output variable.
7200
7201 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7202 to grub-bios-setup.
7203 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7204 grub-setup to grub-sparc64-setup.
7205
5e3b8dcb
VS
72062013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 Import gcrypt public-key cryptography and implement signature checking.
7209
535714bd
VS
72102013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/fs/ntfs.c: Ue more appropriate types.
7213 * grub-core/fs/ntfscomp.c: Likewise.
7214 * include/grub/ntfs.h: Likewise.
7215
3e4f3566
VS
72162013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Support Apple FAT binaries on non-Apple platforms.
7219
7220 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7221 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7222 Likewise.
7223 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7224 Apple FAT binaries.
7225
4dedb13f
VS
72262013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7229 sector devices.
7230
f8861eaf
CW
72312013-01-07 Colin Watson <cjwatson@ubuntu.com>
7232
7233 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7234 explicitly zeroing elements.
7235 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7236 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7237 of elements in a structure already allocated using grub_zalloc.
7238 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7239
86065b0a
CW
72402013-01-07 Colin Watson <cjwatson@ubuntu.com>
7241
7242 * docs/grub.texi (grub_cpu): New subsection.
7243 (grub_platform): Likewise.
7244
c6f1e92f
VS
72452013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7248
f797ec85
VS
72492013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7252 divisions.
7253
033d0b4b
VS
72542013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7257 * grub-core/fs/ntfscomp.c: Likewise.
7258 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7259 (grub_ntfs_comp): Likewise.
7260
21d1b9a0
VS
72612013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7264 Rename to ...
7265 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7266 of groups_per_block. All users updated.
7267
10ca8645
VS
72682013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7271 grub_error properly.
7272 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7273 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7274
a4c3ed4c
VS
72752013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7278 always in /boot/zfs.
7279 Reported by: Yuta Satoh.
7280
0b716507
YS
72812013-01-03 Yuta Satoh <nigoro>
7282
7283 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7284 ${grub_probe}
7285
00c05e22
VS
72862013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * configure.ac: Extend -Wno-trampolines to host.
7289
dadddb76
VS
72902013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7293 entry->len = 0.
7294
54ce53ca
CW
72952013-01-03 Colin Watson <cjwatson@ubuntu.com>
7296
7297 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7298 (Invoking grub-script-check): Likewise.
7299
8912efca
CW
73002013-01-03 Colin Watson <cjwatson@ubuntu.com>
7301
7302 * docs/grub.texi (Invoking grub-mount): New section.
7303 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7304
c3fc8394
CW
73052013-01-02 Colin Watson <cjwatson@ubuntu.com>
7306
7307 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7308 test failures, so that a failing unit test correctly causes 'make
7309 check' to fail.
7310
45d26abb
CW
73112013-01-02 Colin Watson <cjwatson@ubuntu.com>
7312
7313 Fix failing printf test.
7314
7315 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7316 '$' in the correct order when collecting type information.
7317
971dd2c6
CW
73182013-01-02 Colin Watson <cjwatson@ubuntu.com>
7319
7320 * docs/grub.texi (configfile): Explain environment variable
7321 handling.
7322 (source): New section.
7323 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7324
5c67ea6c
CW
73252012-12-31 Colin Watson <cjwatson@ubuntu.com>
7326
7327 Remove several trivially-unnecessary uses of nested functions.
7328
7329 * grub-core/commands/i386/pc/sendkey.c
7330 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7331 instead of nested.
7332 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7333 Rename to ...
7334 (legacy_file_getline): ... this.
7335 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7336 Likewise.
7337 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7338 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7339 to ...
7340 (probe_dummy_iter): ... this.
7341 * grub-core/kern/i386/coreboot/mmap.c
7342 (grub_linuxbios_table_iterate: check_signature): Likewise.
7343 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7344 check_varstate): Likewise. Mark inline.
7345 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7346 an additional parameter.
7347 (find_long: fnd_long): Likewise. Pass two additional parameters.
7348 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7349 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7350 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7351 Likewise. Rename to ...
7352 (grub_cmos_find_port_iter): ... this.
7353 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7354 Rename to ...
7355 (find_rtc_iter): ... this.
7356
7357 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7358 function directly into the function body, since it is only called
7359 once.
7360
33a68ac6
CW
73612012-12-30 Colin Watson <cjwatson@ubuntu.com>
7362
7363 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7364 __attribute__ ((unused)).
7365 * grub-core/video/bochs.c (find_card): Likewise.
7366 * grub-core/video/cirrus.c (find_card): Likewise.
7367 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7368 * grub-core/video/sis315pro.c (find_card): Likewise.
7369 * grub-core/video/sm712.c (find_card): Likewise.
7370
608b647a
CW
73712012-12-28 Colin Watson <cjwatson@ubuntu.com>
7372
7373 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7374 Fixes Savannah bug #37821.
7375
fd49ceb3
CW
73762012-12-28 Colin Watson <cjwatson@ubuntu.com>
7377
7378 Apply program name transformations at build-time rather than at
7379 run-time. Fixes Debian bug #696465.
7380
7381 * acinclude.m4 (grub_TRANSFORM): New macro.
7382 * configure.ac: Create output variables with transformed names for
7383 most programs.
7384 * util/bash-completion.d/grub-completion.bash.in: Use
7385 pre-transformed variables for program names.
7386 * util/grub-install.in: Likewise.
7387 * util/grub-kbdcomp.in: Likewise.
7388 * util/grub-mkconfig.in: Likewise.
7389 * util/grub-mkconfig_lib.in: Likewise.
7390 * util/grub-mknetdir.in: Likewise.
7391 * util/grub-mkrescue.in: Likewise.
7392 * util/grub-mkstandalone.in: Likewise.
7393 * util/grub-reboot.in: Likewise.
7394 * util/grub-set-default.in: Likewise.
7395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7396 * tests/util/grub-shell-tester.in: Remove unused assignment.
7397 * tests/util/grub-shell.in: Likewise.
7398 * util/grub.d/00_header.in: Likewise.
7399
7024b3c0
CW
74002012-12-28 Colin Watson <cjwatson@ubuntu.com>
7401
7402 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7403
7404 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7405 HAVE_RAW_DECL_GETS.
7406 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7407
e3501b13
VS
74082012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7411 Reported by: Eriks Latosheks <foresterlv>.
7412
b40c88a9
VS
74132012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * docs/grub.texi (Network): Update instructions on generating netboot
7416 image.
7417
ce96d01c
VS
74182012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7421 around device name if necessarry.
7422
0f596201
PFS
74232012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7424
7425 * util/grub-install.in: Follow the symbolic link parameter added
7426 to the file command.
7427
600d5bdb
AB
74282012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7429
7430 * util/grub-install.in: Remove stale TODO.
7431
64ebd2f4
PFS
74322012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7433
7434 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7435 dynamic allocation for the bootpath buffer.
7436
74b2fe3e
DTB
74372012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7438
7439 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7440 window too small.
7441
969b804f
VS
74422012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7445 argument rather than font name. All users updated.
7446 (grub_gfxterm_set_window): Likewise.
7447
b9f5ebd6
VT
74482012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7449
7450 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7451 from working.
7452
258f43b7
VS
74532012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * util/getroot.c (convert_system_partition_to_system_disk): Support
7456 nbd disks.
7457
cc1ce5f9
VS
74582012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7461 infinite loop on corrupted FS.
7462
e77a16ca
VS
74632012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 Fix big-endian mtime.
7466
7467 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7468 together sec and usec.
7469 (grub_ufs_dir): Use correct byteswapping for UFS time.
7470
d9c48c7b
VS
74712012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 Support big-endian UFS1.
7474
7475 * Makefile.util.def (libgrubmods): Add ufs_be.c
7476 * grub-core/Makefile.core.def (ufs1_be): New module.
7477 * grub-core/fs/ufs_be.c: New file.
7478 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7479 the file.
7480
2f9f40ba
LL
74812012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7482
7483 * include/grub/types.h: Fix functionality unaffecting typo in
7484 GRUB_TARGET_WORDSIZE conditional macro.
7485
48ff0889
PFS
74862012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7487
7488 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7489
03711240
GS
74902012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7491
7492 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7493 that /netbsd appears first (when it exists).
7494
a31b11bd
CJ
74952012-10-12 Christoph Junghans <ottxor@gentoo.org>
7496
7497 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7498 Fixes Savannah bug #37558.
7499
e8a5d5d4
CW
75002012-10-12 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7503 description of extract_entries_configfile.
7504
75052012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7506
7507 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7508 preferred_address.
7509 (grub_cmd_linux): Likewise.
7510 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7511 preferred_lifetime. Update all users.
7512
288c757d
CW
75132012-09-26 Colin Watson <cjwatson@ubuntu.com>
7514
7515 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7516 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7517
0d35da3f
CW
75182012-09-26 Colin Watson <cjwatson@ubuntu.com>
7519
7520 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7521 errors from grub-probe to /dev/null, not stdout.
7522
b78c3127
VS
75232012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7526 sector 1.
7527
473959f0
CW
75282012-09-24 Colin Watson <cjwatson@ubuntu.com>
7529
7530 * util/grub-install.in: Make the error message if $source_dir
7531 doesn't exist more useful.
7532
794c8c33
CW
75332012-09-22 Colin Watson <cjwatson@ubuntu.com>
7534
7535 Fix grub-emu build on FreeBSD.
7536
7537 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7538 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7539 headers on Linux.
7540 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7541 implementation is currently Linux-specific.
7542 * util/getroot.c (exec_pipe): Define only on Linux or when either
7543 libzfs or libnvpair is unavailable.
7544 (find_root_devices_from_poolname): Remove unused path variable.
7545
86d08fdb
CW
75462012-09-19 Colin Watson <cjwatson@ubuntu.com>
7547
7548 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7549 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7550 should fit before end == 63.
7551
735abf54
CW
75522012-09-19 Colin Watson <cjwatson@ubuntu.com>
7553
7554 * util/grub-setup.c (write_rootdev): Remove unused core_img
7555 parameter. Update all callers.
7556 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7557 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7558 GRUB_SETUP_BIOS.
7559
140acd3c
VS
75602012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7563 (grub_add_tab): New function.
7564 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7565 * util/grub.d/10_illumos.in: Likewise.
7566 * util/grub.d/10_kfreebsd.in: Likewise.
7567 * util/grub.d/10_linux.in: Likewise.
7568 * util/grub.d/10_netbsd.in: Likewise.
7569 * util/grub.d/10_windows.in: Likewise.
7570 * util/grub.d/10_xnu.in: Likewise.
7571 * util/grub.d/20_linux_xen.in: Likewise.
7572 * util/grub.d/30_os-prober.in: Likewise.
7573
7ddffdad
VS
75742012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7577 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7578 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7579 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7580 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7581 ieee1275-nocursor.
7582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7583 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7584
4e092454
VS
75852012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7588 le-conversion.
7589 Reported by: BURETTE, Bernard.
7590
735abf54 75912012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7592
7593 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7594 from comment.
7595
dfd39dbd
CW
75962012-09-14 Colin Watson <cjwatson@ubuntu.com>
7597
7598 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7599 IEEE1275 machines. Fixes powerpc-emu compilation.
7600 * include/grub/terminfo.h: Likewise.
7601
3bfa763c
VS
76022012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7605 a const pointer.
7606 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7607 const pointer.
7608 (efiemu_set_variable): Make vendor_guid a const pointer.
7609
250e475b
VS
76102012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Don't require grub-mkconfig_lib to generate manpages for programs.
7613
7614 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7615 dependencies, don't add grub-mkconfig_lib.
7616 (program): Pass empty adddeps.
7617 (script): Pass grub-mkconfig_lib as adddeps.
7618
592fd0e4
VS
76192012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7622 * util/getroot.c (grub_find_device): Likewise.
7623 (get_mdadm_uuid): Likewise.
7624 (grub_util_is_imsm): Likewise.
7625 (grub_util_pull_device): Likewise.
7626 * util/grub-probe.c (probe): Likewise.
7627
801a3027
BG
76282012-09-10 Benoit Gschwind <gschwind>
7629
7630 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7631 (devs): Add devpath_8.
7632
c5052c81
PJ
76332012-09-08 Peter Jones <pjones@redhat.com>
7634
7635 * grub-core/Makefile.core.def (efifwsetup): New module.
7636 * grub-core/commands/efi/efifwsetup.c: New file.
7637 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7638 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7639 New define.
7640 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7641
8e832f71
JS
76422012-09-05 Jiri Slaby <jslaby@suse.cz>
7643
7644 * configure.ac: Add SuSe path.
7645
f0f55752
CW
76462012-09-05 Colin Watson <cjwatson@ubuntu.com>
7647
7648 * NEWS: Fix typo.
7649
ecadc4c2
CW
76502012-09-05 Colin Watson <cjwatson@ubuntu.com>
7651
7652 * util/import_gcry.py: Sort cipher_files, to make build system
7653 generation more deterministic.
7654
64498f25
VS
76552012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7658 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7659 (grub_set_datetime): Likewise.
7660
9cc836a2
VS
76612012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7664 warnings.
7665
bcfcea01
VS
76662012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7669
a4099485
VS
76702012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7673
265c162a
CW
76742012-09-04 Colin Watson <cjwatson@ubuntu.com>
7675
7676 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7677 required for checkouts from bzr, but it may be useful for users or
7678 distributors wishing to update translations against a tarball
7679 distribution, and it can be helpful for the tarball to be a superset
7680 of what's in bzr.
7681
3d171e95
CW
76822012-09-04 Colin Watson <cjwatson@ubuntu.com>
7683
7684 * Makefile.am (EXTRA_DIST): Add
7685 grub-core/tests/boot/linux.init-mips.S,
7686 grub-core/tests/boot/linux.init-ppc.S, and
7687 grub-core/tests/boot/linux-ppc.cfg.
7688
f2c2503e
CW
76892012-09-04 Colin Watson <cjwatson@ubuntu.com>
7690
7691 * grub-core/mmap/mips/loongson: Remove empty directory.
7692
76932012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7694
7695 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7696 gone.
7697
ab2163d5
CW
76982012-09-04 Colin Watson <cjwatson@ubuntu.com>
7699
7700 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7701 grub-sparc64-setup.
7702
ce938140
GS
77032012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7704
7705 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7706
529f58a5
GS
77072012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7708
7709 * po/POTFILES.in: Regenerated.
7710
16cf79e9
GS
77112012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7712
7713 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7714 (NetBSD): New subsection.
7715
39b27f1e 77162012-07-22 Ales Nesrsta <starous@volny.cz>
7717
7718 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7719 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7720
a885261b
VS
77212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7724 * util/grub.d/10_hurd.in: Add missing quoting.
7725 * util/grub.d/10_illumos.in: Likewise.
7726 * util/grub.d/10_kfreebsd.in: Likewise.
7727 * util/grub.d/10_linux.in: Likewise.
7728 * util/grub.d/20_linux_xen.in: Likewise.
7729
7bd29c01
VS
77302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 New command `lsefi'.
7733
7734 * grub-core/Makefile.core.def (lsefi): New module.
7735 * grub-core/commands/efi/lsefi.c: New file.
7736 * include/grub/efi/api.h: Add more GUIDs.
7737
ac625d8f
VS
77382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7741 (grub_bsd_elf32_hook): Likewise.
7742 (grub_bsd_elf64_size_hook): Likewise.
7743 (grub_bsd_elf64_hook): Likewise.
7744 (grub_bsd_load_elf): Likewise.
7745
e73bb801
VS
77462012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7749 if hash function is unavailable.
7750 (dec_stream_header): Likewise.
7751
e81db8b5
VS
77522012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7755 filter state.
7756
d187a1c3
VS
77572012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Fix coreboot compilation.
7760
7761 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7762 (grub_vga_text_init_real): ... this.
7763 (grub_vga_text_fini): Rename to ...
7764 (grub_vga_text_fini_real): ... this.
7765
91a05f64
VS
77662012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7769
6af96df7
VS
77702012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/lib/legacy_parse.c: Support clear and testload.
7773
4d569e12
VS
77742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7777
073b57bb
VS
77782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7781
a706f4cc
VS
77822012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/net/tftp.c (ack): Fix endianness problem.
7785 (tftp_receive): Likewise.
7786 Reported by: Michael Davidsaver.
7787
e7850aa9
VS
77882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7791
77922012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7795 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7796 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7797
35692881
VS
77982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7801 efi_mmap_size.
7802 Reported by: Stuart Hayes.
7803
c35fc5bd
VS
78042012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7807
7808 * grub-core/Makefile.core.def (mda_text): New module.
7809 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7810 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7811 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7812 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7813 here.
7814 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7815 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7816 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7817 here.
7818 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7819 to ..
7820 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7821 ... here
7822 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7823 here.
7824 * grub-core/term/i386/vga_common.c: Removed.
7825 * include/grub/i386/vga_common.h: Likewise.
7826 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7827 (grub_vga_cr_bw_read): Likewise.
7828 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7829 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7830 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7831 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7832 grub_vga_cr_read/grub_vga_cr_write.
7833 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7834
5f91f701
VS
78352012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * configure.ac: Bump version to 2.00.
7838 * grub-core/normal/main.c (features): Add feature_200_final.
7839
0c4f85f6
VS
78402012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
78412012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7842
7843 * NEWS: Fix unclarity and language mistakes.
7844
f923ad22
VS
78452012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7848 additional size to 3 pages.
7849 Reported by: Stuart Hayes.
7850
d22029ba
VS
78512012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * NEWS: Add 2.00 entry.
7854
58eee08f
VS
78552012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7858 put explicit "/" for empty path.
7859 (wildcard_expand): Improve dprintf.
7860
c59bdff7
VS
78612012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7864 it's equal to currnode. This can happen with "" symlink.
7865
5e6a440a
YB
78662012-06-27 Yves Blusseau <blusseau@zetam.org>
7867
7868 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7869 echo shell command by printf command.
7870
73a68bcb
VS
78712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7874 the value returned by firmware is the maximal position, not diumension.
7875 (grub_terminfo_output_state): Use a more sane fallback.
7876
392a603b
VS
78772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7880
42d0867f
VS
78812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7884 frequency to 150 MHz.
7885
489509f4
VS
78862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 Apple fixes.
7889
7890 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7891 __APPLE_
7892 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7893 definition.
7894 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7895
9f3fc883
VS
78962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 Handle slash in HFS label.
7899
7900 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7901 (grub_hfs_dir): Tanslate slash.
7902 (grub_hfs_label): Don't translate slash.
7903
54853fd7
VS
79042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7907 network protocol listing since it introduces problematic dependency on
7908 net module.
7909
4dc02ddf
VS
79102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7913
c50c867d
VS
79142012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 Init video early on yeeloong to avoid being rebooted by watchdog.
7917
7918 * grub-core/Makefile.am (gensm712): New target.
7919 (sm712_start.S): Likewise.
7920 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7921 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7922 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7923 description.
7924 * include/grub/vga.h: Move registry definitions to...
7925 * include/grub/vgaregs.h: ... here.
7926
5f92c8a1
VS
79272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7930 signedness.
7931
e9e6f111
VS
79322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7935 platforms with firmware disk drivers in the core.
7936
754ad9eb
VS
79372012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7940 informative verbose message.
7941 (read_lv): Handle 64-bit segment size.
7942
315654c2
VS
79432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7946
fb022c79
VS
79472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7950 character but still remove trainling spaces.
7951 (grub_fat_label): Ignore archive flag.
7952
8645f72c
VS
79532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7956 cast between linux_kernel_header and linux_kernel_params.
7957
36498496
VS
79582012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7961 type for size.
7962 (grub_raid6_recover_func_t): Likewise.
7963 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7964 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7965
0b5ea6b8
VS
79662012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7969
650cfcfe
GS
79702012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7971
7972 Fix overflow.
7973
7974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7975 [__NetBSD__]: Add explicit cast before bitshift.
7976
8a4d6a44
VS
79772012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * configure.ac: Bump to 2.00~rc1.
7980
2fb97ed3
VS
79812012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7984 half of $a0.
7985
1fa097dc
VS
79862012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
79872012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7988
7989 * docs/grub.texi: Fix search syntax.
7990 (Multi-boot manual config): Put msdos rather than GPT example.
7991 Grammar corrections.
7992
c890ba78
VS
79932012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7996
0f92dca7
VS
79972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8000
3988c4a0
VS
80012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8004 message on double free. Put the value of magic in case of mismatch.
8005
9e86d4c5
VS
80062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 Speed-up video on yeeloong.
8009
8010 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8011 add cached_ptr.
8012 (grub_video_sm712_video_fini): Unmap cached_ptr.
8013 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8014 (grub_video_sm712_set_active_render_target): Removed.
8015 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8016 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8017 sync caches.
8018
ed24c312
VS
80192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Avoid flushing the same line multiple times on loongson.
8022
8023 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8024 Step in 32 bytes and not 1 byte.
8025 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8026 Likewise.
8027
d1718e7d
VS
80282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8031 subvolumes.
8032
982f1909
VS
80332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Implement flow control for http.
8036
8037 * grub-core/net/http.c (parse_line): Handle response 206.
8038 (http_receive): Stall if too many packets are in the queue.
8039 (http_establish): Fix range header.
8040 (http_seek): Fix double free.
8041 (http_close): Likewise.
8042 (http_packets_pulled): New function.
8043 (grub_http_protocol): Set http_seek
8044 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8045 (ack_real): Set window depending on i_stall.
8046 (grub_net_send_tcp_packet): Likewise.
8047 (grub_net_tcp_stall): New function.
8048 (grub_net_tcp_unstall): Likewise.
8049 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8050 (grub_net_tcp_unstall): Likewise.
8051
bd407d6e
VS
80522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8055
c7564b8e
VS
80562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8059
a3706162
VS
80602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * tests/util/grub-shell.in: Fix a typo.
8063
b27069e0
VS
80642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Implement flow control for tftp.
8067
8068 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8069 packets but stop only if stop condition is satisfied.
8070 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8071 `stall' instead of `eof' as stop condition.
8072 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8073 (http_err): Likewise.
8074 * grub-core/net/tftp.c (ack): Replace the first argument with data
8075 instead of socket.
8076 (tftp_receive): Stall if too many packets are in wait queue.
8077 (tftp_packets_pulled): New function.
8078 (grub_tftp_protocol): Set packets_pulled.
8079 * include/grub/net.h (grub_net_packets): New field count.
8080 (grub_net_put_packet): Increment count.
8081 (grub_net_remove_packet): Likewise.
8082 (grub_net_app_protocol): New field `packets_pulled'.
8083 (grub_net): New field `stall'.
8084
6b9cfac6
VS
80852012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8088 sync part to handle them.
8089
f35abd81
VS
80902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8093 * grub-core/net/drivers/ieee1275/ofnet.c
8094 (grub_ieee1275_net_config_real): Likewise.
8095
0e7ec820
VS
80962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8099 the direct route for server/gateway.
8100
9d611a31
VS
81012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8104 IP address to server name since we may not hame the DNS.
8105
418f45ab
VS
81062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8109 freeing random buffer on failure.
8110 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8111
44a0efc1
VS
81122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8115
531e2241
VS
81162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8119 reserved bytes.
8120 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8121 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8122 Handle malloc error correctly.
8123
cde393c9
VS
81242012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8127 blocks.
8128
538478d0
VS
81292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8132 increment.
8133
9b55efe0
VS
81342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8137 none is explicitly specified.
8138
9eb832c3
VS
81392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8142 while reallocating.
8143
d6b7c7c9
VS
81442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Respect netmask from bootp/dhcp.
8147
8148 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8149 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8150 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8151 into ...
8152 (grub_net_add_ipv4_local): ... this.
8153 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8154 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8155 (grub_net_add_ipv4_local): New proto.
8156
67caf9eb
VS
81572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8160 determining EFI memory map size.
8161
43657558
VS
81622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8165
eb6d0dd3
VS
81662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8169 when looking for partition separator.
8170
31230544
VS
81712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8174 Escape commas.
8175
918a2517
VS
81762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 Restructure FAT driver to avoid hook in label reading as it hits a
8179 GCC bug.
8180
8181 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8182 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8183 (grub_fat_iterate_dir): Split into ...
8184 (grub_fat_iterate_init): ... this, ...
8185 (grub_fat_iterate_fini): ... this, ...
8186 (grub_fat_iterate_dir_next): ... and this. All users updated.
8187
9f1d654e
VS
81882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8191 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8192 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8193 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8194 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8195 New fields last_key and last_key_time.
8196 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8197 extended key-esc into extended key-extended key.
8198
52f0f643
VS
81992012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 Avoid unnecessary memcpy of whole video buffer.
8202
8203 * grub-core/video/fb/video_fb.c (dirty): New struct.
8204 (framebuffer): Add members current_dirty and previous_dirty.
8205 (dirty): New function.
8206 (grub_video_fb_fill_rect): Update dirty.
8207 (common_blitter): Likewise.
8208 (grub_video_fb_scroll): Likewise.
8209 (doublebuf_blit_update_screen): Copy only dirty part.
8210 (doublebuf_pageflipping_update_screen): Likewise.
8211 (grub_video_fb_doublebuf_blit_init): Init dirty.
8212 (doublebuf_pageflipping_init): Likewise.
8213 (grub_video_fb_setup): Likewise.
8214
e169a180
VS
82152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8218 poll rate.
8219
48556879
VS
82202012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Fix wildcard regexp dot and other special characters handling.
8223 Reported by: Robert Mabee.
8224
8225 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8226 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8227 (split_path): Trigger expansion on '?'.
8228 (unescape): New function.
8229 (wildcard_expand): Unescape parts copied without globbing.
8230 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8231 (grub_script_arglist_to_argv): Don't unescape expansions.
8232
0494408e
VS
82332012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * include/grub/net.h (grub_net_card): New member txbufsize.
8236 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8237 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8238 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8239 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8240 txbufsize.
8241 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8242 compatible property to check for macs. Set
8243 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8244 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8245 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8246 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8247 (send_card_buffer): Use txbuf.
8248 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8249 nested function out of the parent while on it.
8250
cc35fe8f
VS
82512012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8254 presence check.
8255 (grub_ieee1275_net_config_real): Fix config pointer.
8256
970a0a09
VS
82572012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8260 filename parsing to non-block devices.
8261
3e19bf87
VS
82622012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8265
c62d1a0c
VS
82662012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8269 All users updated.
8270
ef76bec3
VS
82712012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8274 UUID search command even if hints probing failed.
8275
82762012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8277
8278 * po/POTFILES.in: Regenerated.
8279
70aaf305
VS
82802012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Speed-up video on fuloong.
8283
8284 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8285 New function.
8286 (grub_pci_device_unmap_range): Handle non-cached address.
8287 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8288 add direct_ptr.
8289 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8290 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8291 (grub_video_sis315pro_set_active_render_target): Removed.
8292 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8293 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8294 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8295 sync caches.
8296 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8297 New proto.
8298
10400f0b
VS
82992012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * docs/grub.texi (Multi-boot manual config): New section.
8302
ba67e2c6
VS
83032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Avoid slow read-back from VRAM.
8306
8307 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8308 Move from here ...
8309 * grub-core/video/fb/video_fb.c
8310 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8311 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8312 (front_target): Remove front_target. Add pages.
8313 (grub_video_fb_init): Skip setting front_pages.
8314 (grub_video_fb_fini): Likewise.
8315 (doublebuf_blit_update_screen): Use pages.
8316 (grub_video_fb_doublebuf_blit_init): Likewise.
8317 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8318 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8319 (grub_video_fb_setup): Prefer doublebuffing.
8320
377c98cb
VS
83212012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8324 gzio.
8325
eac49cff
VS
83262012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 Add loongson tests.
8329
8330 * tests/util/grub-shell.in: Handle loongson.
8331 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8332 drivers.
8333 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8334 Reboot instead of shutdown if REBOOT is defined.
8335
0321415e
VS
83362012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8339 sized ports since unlike on real hardware qemu supports only 32-bit
8340 regs.
8341
3f2bdd8f
VS
83422012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8345 * util/grub-mkrescue.in: Handle loongson.
8346
29a049c9
VS
83472012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8350 Set is_part appropriately.
8351 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8352 names. Canonicalize partition without full disk.
8353
4abde346
VS
83542012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 Revert usb-quiesce since it's wrong.
8357
8358 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8359 (grub_ofdisk_init): Don't do quiesce.
8360
61f1d93b
VS
83612012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8364 PowerMac workaround to Xserves as well.
8365 Information supplied by: Benjamin Herrenschmidt.
8366
a09eb541
VS
83672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 Don't assume that beginning address is also the entry point on ppc.
8370
8371 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8372 (grub_linux_boot): Use linux_entry.
8373 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8374 (grub_linux_load64): Likewise.
8375
505b3c9b
VS
83762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8379
cbe0b4ef
VS
83802012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8383 needlessly lose the console.
8384
3006e981
VS
83852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8388 space.
8389
4e5a96b0
VS
83902012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8391
7da036bb
VS
8392 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8393 than current grub_get_rtc() not implemented when booted with
8394 coreboot without TSC.
8395
8396 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8397 Add machine/time.h to kernel headers on loongson.
8398 * grub-core/Makefile.core.def (kernel): Remove
8399 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8400 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8401 (grub_get_rtc): Likewise.
8402 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8403 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8404 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8405 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8406 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8407 rather than installing known non-working time source.
8408 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8409 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8410 * include/grub/time.h: Don't include machine/time.h.
8411 * include/grub/efi/time.h: Removed.
8412 * include/grub/i386/efi/time.h: Likewise.
8413 * include/grub/i386/ieee1275/time.h: Likewise.
8414 * include/grub/powerpc/ieee1275/time.h: Likewise.
8415 * include/grub/sparc64/ieee1275/time.h: Likewise.
8416 * include/grub/x86_64/efi/time.h: Likewise.
8417
84182012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8421
8422 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8423 value.
8424 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8425 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8426 with dotless variants when any combining above is present.
8427
5561c22d
VS
84282012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8431 text and not binary.
8432
96f7e60e
VS
84332012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Stop polling as soon as we have the packet we were waiting for.
8436
8437 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8438 All users updated.
8439 * grub-core/net/arp.c (have_pending): New var.
8440 (pending_req): Likewise.
8441 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8442 stop indicator.
8443 (grub_net_arp_receive): Set have_pending.
8444 * grub-core/net/dns.c (recv_data): New field stop.
8445 (recv_hook): Set stop.
8446 (grub_net_dns_lookup): Init stop and use as stop condition.
8447 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8448 condition.
8449 * grub-core/net/net.c (grub_net_poll_cards): New argument
8450 stop_condition. Stop when it goes true.
8451 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8452 indicator.
8453 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8454
3e747239
VS
84552012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Keep TX and RX buffers on EFI rather than always allocate new ones.
8458
8459 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8460 card. All users updated.
8461 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8462 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8463 (get_card_packet): Likewise.
8464 (grub_efinet_findcards): Init new fields.
8465
f695e99a
VS
84662012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8469 compilation error on sparc64.
8470
9e5e66d1
VS
84712012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Use ITC on IA64 rather than broken routine based on daytime.
8474
8475 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8476 ia64.
8477 (grub_get_rtc) [__ia64__]: Likewise.
8478 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8479 (get_itc): New function.
8480 (grub_rtc_get_time_ms): Likewise.
8481 (grub_machine_init): Calibrate ITC.
8482 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8483 Keep only on non-ia64. Don't export since it's broken and used only
8484 if TSC is unavailable.
8485
a1767404
VS
84862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8489 even if it's used.
8490 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8491 Skip if parent is unused.
8492
34b2bced
VS
84932012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8496
5e619f40
VS
84972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Fix wildcard escaping.
8500
8501 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8502 * grub-core/script/execute.c (wildcard_escape): .. to here.
8503 Don't escape dot.
8504 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8505 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8506 Don't escape dot.
8507 * grub-core/script/execute.c (gettext_append): Always escape.
8508 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8509 * grub-core/script/yylex.l: Don't cut away the escaping.
8510 * tests/grub_script_echo1.in: Add tests with wildcard.
8511
c8ca5855
VS
85122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8515 (ftdi_hw_configure): Likewise.
8516 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8517 define.
8518 (real_config): Handle 1.5 stop bits.
8519 (pl2303_hw_configure): Likewise.
8520
7183452c
VS
85212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * Makefile.am: Add ppc linux bootcheck.
8524 * grub-core/tests/boot/linux-ppc.cfg: New file.
8525 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8526
f57c84cd
VS
85272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * tests/grub_script_expansion.in: Skip network protocols.
8530
ecfc6207
VS
85312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8534
8d03d284
VS
85352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8538 --rom-directory.
8539 Add -graft-points.
8540
61c42af0
VS
85412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 ESCC serial driver for conducting sautomated tests in qemu.
8544 Not tested on real hardware.
8545
8546 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8547 * grub-core/term/ieee1275/escc.c: New file.
8548 * grub-core/Makefile.core.def (escc): New module.
8549
08fd1291
VS
85502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8553 invalid on error.
8554 (serial_hw_fetch): Don't read invalid handle.
8555 (serial_hw_put): Don't write into invalid handle.
8556
08dafeea
VS
85572012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Add a 1.5 stop bits value.
8560
8561 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8562 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8563 GRUB_SERIAL_STOP_BITS_1_5.
8564
9068fdcf
VS
85652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8568 value rather than let it uninited.
8569
f4d5820f
VS
85702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/commands/wildcard.c (+check_file): New function.
8573 (wildcard_expand): Don't expand to non-existing files, expand with
8574 suffix and not attempt to expand if not needed.
8575
3d2de9a7
VS
85762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8579 out of partitions containing other partitions.
8580
c5c81ff9
VS
85812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8584 on some qemu versions with GRUB.
8585
8586 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8587 define.
8588 (grub_openbsd_bootarg_pcibios): New struct.
8589 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8590 Add PCIINFO.
8591
08a14e0b
VS
85922012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * tests/util/grub-shell.in: Trim firmware output on EFI.
8595
cede3ca3
VS
85962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8599 and coreboot since it's already in kernel.
8600
558d3a60
VS
86012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8604 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8605 to here. New return value start. All users updated.
8606 Recursively scan linear mappings.
8607 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8608 proto.
8609 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8610 Use grub_util_get_dm_node_linear_info.
8611 * util/getroot.c (convert_system_partition_to_system_disk): Use
8612 grub_util_info rather than grub_dprintf.
8613 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8614
60fde14d
VS
86152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8618
8619 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8620 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8621
24bd8838
VS
86222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * include/grub/types.h (grub_set_unaligned64): New function.
8625 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8626 (setup): Likewise.
8627
7bc06a49
VS
86282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8631 (grub_ofdisk_fini): Quiesce USB devices.
8632
49cea015
VS
86332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8636 caches.
8637
8dcbe03b
VS
86382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8641
5b258735
VS
86422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/disk/pata.c (grub_pata_pio_read)
8645 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8646 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8647
37ba07eb
VS
86482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 Extend automated tests to qemu-mips.
8651
8652 * Makefile.am: reorganise tests and enable qemu-mips.
8653 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8654 * grub-core/tests/boot/linux.init-mips.S: New file.
8655 * tests/partmap_test.in: Handle ata0 disks.
8656 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8657 non-pc i386.
8658
070038f8
VS
86592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8662 ia64.
8663 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8664 quotes while on it.
8665
004be2cd
VS
86662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8669 (grub_halt): Likewise.
8670 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8671
b1622487
VS
86722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/term/serial.c (grub_serial_register)
8675 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8676 the behaviour in line with x86 platforms.
8677
b7b4ab33
VS
86782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8681 (grub_ata_strncpy): Likewise.
8682 (grub_ata_identify): Add missing byteswaps.
8683
5e3535ae
VS
86842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8687 byte-swap.
8688 (screen_read_char): Likewise.
8689 (grub_vga_text_cls): Likewise.
8690
c21b17e6
VS
86912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8694 filenames.
8695 (make_file_path): Likewise.
8696
bf293dec
VS
86972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8700 machines.
8701 Tested by: Paulo Flabiano Smorigo.
8702 Crucial information about API supplied by: Coleen <Last name unknown>.
8703 Reviewed by: Coleen <Last name unknown>.
8704
81f6ef0e
VS
87052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * util/grub-mkimage.c: Disable -Wcast-align.
8708
7284143a
VS
87092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8712 as they are fatal.
8713
b99f3e00
VS
87142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8717
944f752d
VS
87182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * util/grub-probe.c (escape_of_path): Fix double free.
8721
6cce6f38
VS
87222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/commands/videoinfo.c (hook): Show pitch.
8725
1e1eb50e
VS
87262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8729
1c715b5a
VS
87302012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8733 (probe): Add ieee1275 to OFW devices.
8734
007ae52d
VS
87352012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8738
4557a36d
VS
87392012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 Handle IBM OFW path.
8742
8743 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8744 available.
8745 (of_path_of_scsi): Handle vdevice.
8746
efbeefe9
VS
87472012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8750 Allocate in multiples of 16 to avoid adding a few bytes free region the
8751 windows bugs upon.
8752
15a940bb
VS
87532012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8756 Allocate in multiples of 16 to avoid adding a few bytes free region the
8757 windows bugs upon.
8758 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8759
6e5efd60
VS
87602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8763 resolutions.
8764 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8765 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8766
0d3d137e
IS
87672012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8768
8769 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8770
45dbe300
VS
87712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8774 resulted in \\ at the end of the line.
8775
6d8db947
VS
87762012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8779 (grub_parser_cmdline_state): Likewise.
8780 (grub_parser_split_cmdline): Likewise.
8781
de89d338
VS
87822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8785 /dev/root and /dev/dm-*.
8786
00d41dee
VS
87872012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8790 fix partially stale display.
8791
f95d1f11
VS
87922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8795 substraction.
8796
6297e197
VS
87972012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8800 Fix MBR remapping workaround.
8801 (grub_util_biosdisk_read) [__linux__]: Likewise.
8802
8a7ecad3
VS
88032012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8806
2b34f944
VS
88072012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * configure.ac: Bump to beta6.
8810
684aef11
CW
88112012-05-31 Christer Weinigel <christer@weinigel.se>
8812
8813 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8814
05b0bb91
VS
88152012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8818 (grub_cmd_linux): Likewise.
8819
bda36bfa
CW
88202012-05-31 Christer Weinigel <christer@weinigel.se>
8821
8822 Fix EHCI low-speed.
8823
8824 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8825 (GRUB_EHCI_MULT_TWO): Likewise.
8826 (GRUB_EHCI_MULT_THREE): Likewise.
8827 (GRUB_EHCI_CMASK_MASK): New enum value.
8828 (GRUB_EHCI_SMASK_MASK): Likewise.
8829 (GRUB_EHCI_CMASK_OFF): Likewise.
8830 (GRUB_EHCI_SMASK_OFF): Likewise.
8831 (grub_ehci_pci_iter): Enable periodic schedule.
8832 (grub_ehci_parse_notrun): Likewise.
8833 (grub_ehci_restore_hw): Likewise.
8834 (grub_ehci_setup_qh): Set flags for low speed transfers.
8835 (grub_ehci_find_qh): Use periodic list for low speed.
8836 (grub_ehci_setup_transfer): Check periodic queue as well.
8837 (grub_ehci_check_transfer): Likewise.
8838 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8839
e12bcb1c
PFS
88402012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8841
8842 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8843 parameter is used.
8844
bcc75fb3
PJ
88452012-05-31 Peter Jones <pjones@redhat.com>
8846
8847 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8848 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8849 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8850
f19cb95e
VS
88512012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8854 uninited variable. Allocate at least setup_sects.
8855
a4e5ca80
VS
88562012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Fix handling of EFI with big memory maps.
8859
8860 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8861 (real_mode_mem): Likewise.
8862 (real_mode_target): Likewise.
8863 (real_mode_pages): Likewise.
8864 (prot_mode_pages): Likewise.
8865 (linux_params): New var.
8866 (linux_cmdline): Likewise.
8867 (free_pages): Don't set real mode variables.
8868 (allocate_pages): Don't allocate real mode memory.
8869 (grub_e820_add_region): Remove the limit.
8870 (grub_linux_boot): Allocate and copy real mode memory.
8871 (grub_linux_unload): Free linux_cmdline.
8872 (grub_cmd_linux): Use temporary storage for parameters.
8873 (grub_cmd_initrd): Likewise.
8874 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8875 (linux_kernel_params): Make it 1K big.
8876
ddb73558
VS
88772012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * Makefile.util.def: Remove -Wno-format.
8880 * grub-core/Makefile.core.def: Likewise.
8881
1c4afb60
VS
88822012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * tests/cmp_unit_test.c: Add missing failure message.
8885 * tests/example_unit_test.c: Likewise.
8886 * tests/printf_unit_test.c: Likewise.
8887
941e3a6d
VS
88882012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8891 relaxation of protective MBR requirements.
8892
b105df76
VS
88932012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * configure.ac: Add condition for COND_HOST_XNU.
8896 * Makefile.util.def (10_xnu): New script.
8897 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8898
84e1569e
VS
88992012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8902 objconv bug.
8903
130c0f77
VS
89042012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8907 Binary on other platforms stays identical.
8908
6fd0b143
VS
89092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8912 Apple.
8913
0af1751d
VS
89142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8917
176d5f7d
VS
89182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8921 rather than defining size_t ourselves to avoid conflict.
8922
7de5e20a
VS
89232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8926 initialisation to avoid __bzero reference.
8927
f7143efe
VS
89282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8931 version.
8932 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8933 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8934 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8935 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8936 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8937
e6ad0555
VS
89382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8941 * grub-core/kern/misc.c: Likewise.
8942 * grub-core/loader/i386/xnu.c: Likewise.
8943 * include/grub/i386/tsc.h: Likewise.
8944 * include/grub/symbol.h: Likewise.
8945
4a5a3c4a
VS
89462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8949 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8950 on older compiler.
8951
037f6d90
VS
89522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8955 Implement Apple flavour.
8956 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8957
f7194551
VS
89582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8961 (memmove) [__APPLE__]: Likewise.
8962 (memcpy) [__APPLE__]: Likewise.
8963 (memset) [__APPLE__]: Likewise.
8964 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8965 (memmove) [__APPLE__]: Likewise.
8966 (memcpy) [__APPLE__]: Likewise.
8967 (memset) [__APPLE__]: Likewise.
8968
85a730ca
VS
89692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8972 dependency discard.
8973
40e80b94
VS
89742012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/normal/main.c (read_config_file): Provide config_file and
8977 config_directory.
8978 * util/grub.d/41_custom.in: Use config_directoy when available.
8979
9da59c32
VS
89802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8983 (grub_bfs_dir): Likewise.
8984
2787ae53
PJ
89852012-05-27 Peter Jones <pjones@redhat.com>
8986
8987 The old code gives arguments to a printf function which can't work
8988 correctly, and the compiler complains.
8989
8990 * grub-core/tests/example_functional_test.c (example_test): Add
8991 missing text.
8992 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8993 * include/grub/test.h (grub_test_assert_helper): New declaration.
8994 (grub_test_assert): Use grub_test_assert_helper.
8995
526ef13d
VS
89962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8999 (exfctest): ... this to avoid overlong filenames.
9000 All users updated.
9001
20dd511c
VS
90022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 Handle "." and ".." on squashfs.
9005
9006 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9007 Make inode numbers into stack.
9008 (grub_squash_read_symlink): Use stack.
9009 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9010 (make_root_node): Fill stack.
9011 (grub_squash_open): Use stack.
9012
1d80c62a
VS
90132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9016 freeing.
9017
d336f652
VS
90182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9021 stderr on test calls.
9022
8b43f587
VS
90232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9026
80a3dc3f
VS
90272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9030
47e297d4
VS
90312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9034 "..".
9035
df042ccb
VS
90362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9039 (grub_hfsplus_iterate_dir): Add "." and "..".
9040
fc977f48
VS
90412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9044 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9045
f3250e5f
VS
90462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9049 (find_path): Handle "." and "..".
9050
fd8ed4c5
VS
90512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9054 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9055 (grub_affs_iterate_dir): Handle hardlinks.
9056
4ce776d2
MG
90572012-05-26 Matthew Garrett <mjg@redhat.com>
9058
9059 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9060 (grub_efi_console_fini): Likewise.
9061 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9062 (grub_video_gop_fill_mode_info): Rename to ...
9063 (grub_video_gop_fill_real_mode_info): ... this.
9064 (grub_video_gop_fill_mode_info): New function.
9065 (grub_video_gop_setup): Setup double framebuffer.
9066 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9067 Free offscreen.
9068 (grub_video_gop_swap_buffers): Copy framebuffer.
9069 (grub_video_gop_fini): Free offscreen buffer.
9070 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9071 New enum.
9072 (grub_efi_gop_blt_pixel): New struct.
9073
683031ba
VS
90742012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * gentpl.py: Remove error disabling for objconv.
9077
c2deb798
VS
90782012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * configure.ac: Remove -Wunitialized as it's not available on older
9081 compilers.
9082
90832012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9084
9085 Fix extent overflow comparator.
9086
9087 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9088 (grub_hfsplus_read_block): Set type.
9089 (grub_hfsplus_cmp_extkey): Compare type.
9090
d6b1fd36
VS
90912012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9094
0a9aa0f6
VS
90952012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9098 than 0.
9099
8360e159
VS
91002012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9103 (dejavu_bold_14.pf2): New target.
9104
501b9e4b
VS
91052012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * configure.ac: Fix djvu font detection.
9108
7026b0e2
VS
91092012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9112 ext* instead of ext2.
9113
c2a51ade
VS
91142012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9117 name with \0.
9118
8f803a5d
JU
91192012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9120
9121 * docs/grub-dev.texi: Remove dot from .png.
9122
13c6353f
VS
91232012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9126 protective entry in any slot.
9127 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9128 if protective entry is found in any slot.
9129
9130 Protective entry in non-first slot make no sense but is a widespread
9131 brain damage.
9132
4cf6be1b
VS
91332012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9136
937d1c44
VS
91372012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9140 with old reiserfs.
9141 (grub_reiserfs_open): Don't free root.
9142
021d90ec
VS
91432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9146 after freeing for safety.
9147
967b2b64
VS
91482012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9151 Reported by: Jordan Uggla.
9152
34274d02
JU
91532012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9154
967b2b64
VS
9155 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9156 actual implementation. Specifically, clarify that the grub menu will
9157 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9158 passed.
34274d02 9159
dcaaae9d
BH
91602012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9161
9162 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9163 of r0.
9164
7086ad52
VS
91652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Remove unjustified hard dependency of normal.mod on gfxterm.
9168
9169 * include/grub/term.h (grub_term_output): New member fullscreen.
9170 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9171 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9172 (grub_gfxterm): Set .fullscreen.
9173 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9174 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9175
37ed2c9b
VS
91762012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9179 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9180 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9181
a4469c88
VS
91822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9185
4e461486
VS
91862012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9189 a bad FS.
9190
aa78f5c4
VS
91912012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9194 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9195
197626b5
VS
91962012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9199 (grub_jfs_mount): Fill caseins.
9200 (grub_jfs_find_file): Respect caseins.
9201
8ad3f28c
VS
92022012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9205 through UTF-16.
9206
0c6c324e
VS
92072012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9210 New argument origpath. All users updated.
9211
c6666ba6
VS
92122012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9215 (read_attr): Ensure that we read start of possibly compressed block.
9216
e28e5fe5
VS
92172012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9220 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9221 All users updated.
9222
5fc23ab2
VS
92232012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9226 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9227 (dejavu.pf2): Replace with ...
9228 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9229 this.
9230
79dbc21c
VS
92312012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * util/grub.d/20_linux_xen.in: Add missing line.
9234
d2fcfb0c
VS
92352012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9238 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9239 (grub_utf16_to_utf8): Likewise.
9240
5560e9d6
VS
92412012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9244 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9245 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9246 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9247 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9248 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9249
92502012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9251
9252 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9253 a bad FS.
9254
5560e9d6 92552012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9256
9257 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9258 (grub_udf_read_symlink): Handle read_string failure.
9259
5eae3175
VS
92602012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9263 comment.
9264
c1ad82db
VS
92652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Fix handling of UDF symlinks.
9268
9269 * grub-core/fs/udf.c (read_string): New argument outbuf.
9270 All users updated.
9271 (grub_ufs_read_symlink): Rename to ...
9272 (grub_udf_read_symlink): ... this. All users updated.
9273 Handle symlinks with more than one component.
9274
33eca6e0
VS
92752012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9278 symlinks. Replace leading colon with a slash.
9279
57f4a70b
VS
92802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9283 filename.
9284
38c8ee20
VS
92852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9288 match in inner node.
9289
2e57f28f
VS
92902012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9293 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9294 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9295 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9296 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9297 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9298 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9299 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9300 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9301
fe8c2f11
VS
93022012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 Use grub-probe and not cmp to check that disk is empty.
9305
9306 * util/grub-install.in: Use grub-probe for zero-check.
9307 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9308 (probe): Handle PRINT_ZERO_CHECK.
9309 (argp_parser): Handle -t zero_check.
9310
93112012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9312
9313 Flush block cache on adding disk to device map.
9314
9315 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9316 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9317 adding.
9318 (read_device_map): Likewise.
9319 (open_device): Flush on opening.
9320
690434e8
VS
93212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9324 (handle_symlink): Fix off-by-one error.
9325 Canonicalize the target.
9326 (grub_cpio_dir): Canonicalize the name.
9327 Fix memory leak.
9328 Set directory.
9329 (grub_cpio_open): Canonicalize the name.
9330
742d2be6
VS
93312012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9334 handling.
9335
3244fe96
VS
93362012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9339 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9340
8aeb1837
VS
93412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9344 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9345 All users updated.
8aeb1837 9346
9133fd05
VS
93472012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9350 counterpart.
9351
6d521c5b
VS
93522012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 Fix UFS1 big file support.
9355
9356 * grub-core/fs/ufs.c (INODE): Removed.
9357 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9358 64-bit.
9359 (INODE_MODE): Simplify.
9360 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9361 (grub_ufs_lookup_symlink): Don't use INODE.
9362
21b82e17
VS
93632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9366
9367 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9368 (grub_minix_data): Replace log_block_size with block_size.
9369 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9370 (grub_minix_mount): Fill block_size.
9371
93722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9373
9374 * configure.ac: Bump to beta5.
9375
f417ed04
VS
93762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 Fix wrapped HFS+ handling.
9379
9380 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9381 blocks_start. All users updated.
9382 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9383 wrapping offset.
9384 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9385
607d282b
VS
93862012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 Fix long symlinks on reiserfs.
9389
9390 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9391 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9392 (grub_reiserfs_iterate_dir): Save size for non-directories.
9393 (grub_reiserfs_open): Don't reread stat block as we already know the
9394 size.
9395 (grub_reiserfs_read): Split into...
9396 (grub_reiserfs_read_real): ... and ...
9397 (grub_reiserfs_read): ...this.
9398
ae16024d
VS
93992012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 Fix non-indexed JFS.
9402
9403 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9404 (grub_jfs_data): New field namecomponentlen.
9405 (grub_jfs_mount): Fill namecomponentlen.
9406 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9407
eea1e26e
VS
94082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9411 * tests/grub_script_echo1.in: Add tests.
9412
df760f77
VS
94132012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * util/grub-install.in: Ignore empty devicetree directory.
9416
5efb817d
B
94172012-05-08 Bean <bean123ch@gmail.com>
9418
9419 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9420 All users updated.
9421 (free_rsm): Free header as well.
9422 (free_old_fragments): Fix memory leak.
9423 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9424 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9425 (destroy_pq): Likewise.
9426 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9427
668ea6d2
VS
94282012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9431 resulting hash as a precaution.
9432
1739b1fe
VS
94332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9436 '_' in variable names.
9437 * grub-core/net/net.c (grub_net_network_level_interface_register):
9438 Likewise.
9439
6ae485aa
VS
94402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 Fix AFFS with non-512B blocks.
9443
9444 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9445 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9446 (grub_affs_data): Replace blocksize with log_blocksize.
9447 (grub_affs_read_block): Fix non-512B blocks.
9448 (grub_affs_read_symlink): Likewise.
9449 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9450 (grub_affs_read): Fix non-512B blocks.
9451 (grub_affs_label): Likewise.
9452 (grub_affs_mtime): Likewise.
9453 (grub_affs_mount): Fix block detection routine.
9454
d20fab84
VS
94552012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 Add filesystem mtime to AFFS.
9458
9459 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9460 (aftime2ctime): New function.
9461 (grub_affs_dir): Use aftime2ctime.
9462 (grub_affs_label): Fix return value.
9463 (grub_affs_mtime): New function.
9464 (grub_affs_fs): Add mtime.
9465
e87b10f5
VS
94662012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9469 UTF-8.
9470
7dceec9b
VS
94712012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9474 UTF-8.
9475
2f48221f
VS
94762012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9479
dacd85cf
VS
94802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9483 flags.
9484 (FLAGS_CASE_SENSITIVE): New enum value.
9485 (cache_entry): New struct.
9486 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9487 cache_size and cache.
9488 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9489 Add log_blocksize and fshelp_flags.
9490 (grub_sfs_read_extent): Handle non-512 blocks.
9491 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9492 (grub_sfs_read_file): Handle non-512 blocks.
9493 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9494 fshelp_flags.
9495 (grub_sfs_read_symlink): Handle non-512 blocks.
9496 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9497 (grub_sfs_dir): Free cache.
9498 (grub_sfs_close): Likewise.
9499
24e9a854
VS
95002012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9503 filesystems.
9504
62ace64d
VS
95052012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9508
83b2e89c
VS
95092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9512
75ccaea3
VS
95132012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9516 (grub_sfs_read_extent): Likewise.
9517 (grub_sfs_read_block): Likewise.
9518 (grub_sfs_mount): Likewise.
9519 (grub_sfs_iterate_dir): Likewise.
9520 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9521 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9522
1b8463f2
VS
95232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 Fix errors on compressed NTFS with 512B clusters.
9526
9527 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9528 types.
9529 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9530 not 0.
9531 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9532 Relax check for inline extents.
9533 (ntfscomp): Return correct -1 on error and not 0.
9534
4f8e368f
VS
95352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * util/grub-install.in: Fix handling of prefix containing spaces.
9538
6f5d5ee8
VS
95392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9542 (grub_squash_read_data): Fix offset byte-swapping.
9543
ce41ab7a
VS
95442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9547 per common usage and preffered in several parts of code.
9548 (grub_memcmp): Likewise.
9549 (grub_strncmp): Likewise.
9550 * include/grub/misc.h (grub_strcasecmp): Likewise.
9551 (grub_strncasecmp): Likewise.
9552 * Makefile.util.def (cmp_test): New test.
9553 (grub_script_strcmp): Likewise.
9554 * tests/cmp_unit_test.c: New file.
9555 * tests/grub_script_strcmp.in: Likewise.
9556 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9557
49717bf4
VS
95582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * include/grub/pci.h: Move enums into no-asm part.
9561
0a308f64
VS
95622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9565
1796965f
ST
95662012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9567
9568 * util/getroot.c (find_hurd_root_device): Try to make error message
9569 and comments to translators clearer.
9570
4e9b2819
VS
95712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9574
076aeb50
VS
95752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9578 btrfs.
9579
19424d94
VS
95802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * docs/grub.cfg: Update.
9583
ebb73076
VS
95842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * docs/grub.texi (PXE): Remove not present variables.
9587
9a1b669c
VS
95882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/net/net.c (defserver_set_env): New function.
9591 (defserver_get_env): Likewise.
9592 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9593
d38bf7d3
VS
95942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9597 entries.
9598
95992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9600
9601 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9602 * grub-core/kern/emu/hostdisk.c: Likewise.
9603
e5e4ca48
ST
96042012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9605
9606 Handle hurd userspace partitions.
9607
9608 * util/getroot.c (find_hurd_root_device): New function.
9609 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9610
56bb5dd5
VS
96112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9614 names.
9615 Reported by: Bastian Blank.
9616
9e8bc27a
VS
96172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9620 crossing page boundary.
9621
aa01499d
VS
96222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 Fix B-tree search in BFS, especially in presence of non-ASCII
9625 characters.
9626
9627 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9628 (find_in_b_tree): Use standard bsearch + btree algorithm.
9629
57006035
VS
96302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9633 and so on.
9634
9d34bb85
MG
96352012-05-03 Matthew Garrett <mjg@redhat.com>
96362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Suspend broadcom cards in order to stop their DMA.
9639
9640 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9641 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9642 (pci): Don't build on x86 EFI.
9643 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9644 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9645 New function.
9646 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9647 stop_broadcom if running on EFI.
9648 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9649 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9650 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9651 (grub_pci_find_capability): New proto.
9652
01aab997
VS
96532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * docs/grub.texi: Remove dot from the extension as it apparently
9656 doesn't work with some makeinfo versions.
9657
fbd8dca6
VS
96582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9661 with GRUB expectance.
9662
dab797f4
VS
96632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9666
1516bfb4
VS
96672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9670 zero after directory block since last entry may be not 0-terminated if
9671 it ends on block boundary. Use continue instead of if spanning whole
9672 loop.
9673
a3a0eace
VS
96742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 Support 4K sectors UDF inline files.
9677
9678 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9679 (grub_udf_extended_file_entry): Likewise.
9680 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9681 All users updated.
9682 (get_fshelp_size): New function.
9683 (grub_udf_read_icb): Read whole block.
9684 (grub_udf_iterate_dir): Likewise.
9685 (grub_udf_dir): Likewise.
9686 (grub_udf_open): Likewise.
9687
c82f16c1
VS
96882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9691
59fd2aac
VS
96922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9695 inline symlinks in addition to workaround.
9696
3b4afb4d
VS
96972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9700
f45c794a
VS
97012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9704
f25cecbd
VS
97052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9708
bb9a34e8
VS
97092012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 Fix reiserfs big seek times.
9712
9713 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9714 exact. All users updated.
9715 (grub_reiserfs_read): Use nearest btree search for seeking.
9716 Fix return value on error.
9717
dc478aea
VS
97182012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9721 entries.
9722 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9723 * docs/grub.texi: Update menuentry description.
9724
8db10f47
VS
97252012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9728 crash when embedding onto filesystem.
9729
bcb288ed
VS
97302012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9733 name.
9734
a626fdd7
VS
97352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9738
b2f68477
VS
97392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9742 commit.
9743
ba15b2af
B
97442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
97452012-05-01 Bean <bean123ch@gmail.com>
9746
9747 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9748
a188012e
VS
97492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9752 Special behaviour for len = 0 to read whole file isn't used anywhere and
9753 can cause buffer ovewrflows in several places.
9754
f0a53ed2
VS
97552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9758
5ed554f0
VS
97592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 Handle RAIDZ on non-512B sectors.
9762
9763 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9764 max_children_ashift.
9765 (fill_vdev_info_real): Fill max_children_ashift.
9766 (read_device): Use max_children_ashift.
9767
ddc58357
VS
97682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9771
e3282399
VS
97722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9775 disk names.
9776 * docs/grub.texi: Update device.map parts.
9777
ee618bd4
VS
97782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 Don't scan into non-diskfilter devices having diskfilter names.
9781
9782 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9783 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9784 handling.
9785 (scan_disk_hook): New function.
9786
bdf88864
B
97872012-04-29 Bean <bean123ch@gmail.com>
9788
9789 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9790 allocation.
9791
32745f51
MK
97922012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9793
9794 * configure.ac: Detect starfield theme font path
9795 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9796
bc95c8c0
VS
97972012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9800 geometry on serial consoles.
9801
147fbcab
VS
98022012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9805 because of network consoles.
9806
0f42c889
VS
98072012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9810 handling.
9811
4a3594c9
VS
98122012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9815 falls on Q syndrom.
9816
5cb53879
VS
98172012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9820 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9821
b282dfe5
VS
98222012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9825 Allocate at lest 8192 for temporary buffer as required for lzo.
9826
daa59f47
VS
98272012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9830 to cluster_bits, since it's already added in.
9831 (grub_fat_read_data): Likewise.
9832
986748ce
VS
98332012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9836 as long as cluster size is multiple of 512 bytes.
9837
a20f6ad0
VS
98382012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * util/grub-mkrescue.in: Fix locale directory.
9841
385f9abb
VS
98422012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * grub-core/kern/emu/hostdisk.c (map): Make static.
9845
1c557d30
B
98462012-04-23 Bean <bean123ch@gmail.com>
9847
9848 * util/grub-fstest.c (fstest): Add missing break.
9849
524b5d3a
ST
98502012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9851
9852 Fix hurd build.
9853
9854 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9855 not define nr variable.
fe4824e9 9856 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9857 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9858 grub_find_device): Do not define.
524b5d3a 9859
9a06490c
VS
98602012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Fix kfreebsd compile and behaviour.
9863
9864 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9865 format-security.
9866 * util/getroot.c: Fix wait.h include.
9867 (grub_guess_root_devices): Error if grub_find_device fails.
9868 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9869 (grub_util_get_dev_abstraction): Likewise.
9870 (grub_util_pull_device): Likewise.
9871 (grub_util_get_grub_dev): Likewise.
9872 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9873
48143d96
VS
98742012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 Fix and unify wholedisk detection.
9877
9878 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9879 is_part. All users updated.
9880 (device_is_wholedisk): Removed.
9881 (grub_util_biosdisk_get_grub_dev): Use is_part.
9882
ebbd24f3
VS
98832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9886 mode.
9887
56f7aa1e
VS
98882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * configure.ac: Bump to beta4.
9891
9c815e01
VS
98922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9895 --fs-uuid --set UUID syntax.
9896
59e2651a
VS
98972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9900 disunification.
9901
54e03cfc
VS
99022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9905
81092a75
MK
99062012-04-18 Mads Kiilerich <mads@kiilerich.com>
9907
9908 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9909
f8315e14
MG
99102012-04-18 Mike Gilbert <floppym@gentoo.org>
9911
9912 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9913
1501ac21
B
99142012-04-18 Bean <bean123ch@gmail.com>
9915
9916 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9917 place.
9918
cb7f944e
VS
99192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9922 users updated.
9923 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9924 corresponding to GRUB partitions.
9925 (grub_util_biosdisk_write): Likewise.
9926
b72d44a1
VS
99272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 Scan mdraid before LVM.
9930
9931 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9932 (grub_diskfilter_register_front): ... this.
9933 (grub_diskfilter_register_back): New function.
9934 All users of grub_diskfilter_register updated.
9935
33d918b8
VS
99362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * util/grub-install.in: Fix an automatic target detection bug.
9939
c6ca973d
VS
99402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * util/grub-install.in: New option --efi-directory.
9943
b41be562
VS
99442012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9947 boot services if we have no other choice.
9948
99492012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9952 document it.
9953 * tests/util/grub-shell.in: Update to --directory.
9954
e0595a73
VS
99552012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9958
4ed80652
VS
99592012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9962 (grub_minix_read_file): Likewise.
9963 (grub_minix_read_inode): Likewise.
9964 (grub_minix_find_file): Likewise.
9965 (grub_minix_dir): Likewise.
9966
56008077
VS
99672012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * util/grub-setup.c (setup): Fix partition handling and blocklist
9970 check.
9971
ee520775
VS
99722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9975 redundant buggy overlap check.
9976
16fc9293
VS
99772012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9980 and grub-mknetdir.
9981
9bab65c4
VS
99822012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9985 kh.loadflags on pre-2.00 kernels.
9986
3c491b47
VS
99872012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 Terminate UNDI and PXE before launching the payload to avoid problems
9990 with DMA.
9991
9992 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9993 (grub_loader_flags): ... this. All users updated.
9994 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9995 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9996 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9997 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9998 function.
9999 (grub_pxe_restore): Likewise.
10000 (fini_hnd): New var.
10001 (GRUB_MOD_INIT): Register shutdown hook.
10002 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10003 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10004 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10005 (grub_loader_set): Rename second argument to flags.
10006
851ffada
VS
100072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10010 written bytes.
10011 (grub_get_num_of_utf8_bytes): New function.
10012 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10013 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10014 executing it.
10015 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10016 (grub_ucs4_to_utf8): Change return type.
10017
491c57a8
VS
100182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10021 warning.
851ffada
VS
10022 * grub-core/fs/bfs.c (hop_level): Likewise.
10023 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10024
756773df
VS
100252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * grub-core/lib/adler32.c: Recode due to license unclearness.
10028
fd556a96
VS
100292012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10032 (test_header): Likewise.
10033
9f9d3f69
VS
100342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 Fix --help formatting.
10037
10038 * util/grub-mkconfig_lib.in (print_option_help): New function.
10039 (grub_fmt): Likewise.
10040 * util/grub-install.in: Use print_option_help and grub_fmt.
10041 * util/grub-kbdcomp.in: Likewise.
10042 * util/grub-mkconfig.in: Likewise.
10043 * util/grub-mknetdir.in: Likewise.
10044 * util/grub-mkrescue.in: Likewise.
10045 * util/grub-mkstandalone.in: Likewise.
10046 * util/grub-reboot.in: Likewise.
10047 * util/grub-set-default.in: Likewise.
10048 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10049
561ec77e
VS
100502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * linguas.sh: Remove autogenerated *.po.
10053
7ec2b021
VS
100542012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * po/README: Move language fetcing to ...
10057 * linguas.sh: ... here.
10058 * po/README: Point to linguas.sh.
10059
a88f3270
VS
100602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * po/README: Exclude ko.po due to disclaimer problems.
10063
d61357ce
VS
100642012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10067 len = 0.
10068 (grub_gettext_translate_real): Handle 0th string.
10069 (grub_gettext_translate): Ensure that "" isn't translated.
10070
505e41dc
VS
100712012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10074 TRANSLATORS comment.
10075 (grub_diskfilter_print_partmap): Propagate changing of error into
10076 warning.
10077
e44092db
VS
100782012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10081 to uint64_t to prevent overflow.
10082 (grub_diskfilter_lv): Increase start_extent and extent_count
10083 to uint64_t to prevent overflow.
10084
9b83956a
VS
100852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * configure.ac: Increase version.
10088
da0d5b3f
VS
100892012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10092
10093 * po/Rules-translit: New file.
10094 * po/arabic.sed: Likewise.
10095 * po/cyrillic.sed: Likewise.
10096 * po/greek.sed: Likewise.
10097 * po/hebrew.sed: Likewise.
10098 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10099 * po/Makefile.in.in: Add extra_dist4.
10100
ac66b453
VS
101012012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10104
10105 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10106 modify names. Introduce MODE_BIGENDIAN.
10107 * grub-core/fs/minix_be.c: New file.
10108 * grub-core/fs/minix2_be.c: Likewise
10109 * grub-core/fs/minix3_be.c: Likewise.
10110 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10111 minix3_be.
10112 * grub-core/Makefile.core.def (minix_be): New module.
10113 (minix2_be): Likewise.
10114 (minix3_be): Likewise.
10115
101162012-04-01 Felix <email@hamburg.de>
10117
10118 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10119 (devs): Add MBP 2011.
10120
0a2d5a82
VS
101212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10124
d1625889
VS
101252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/normal/cmdline.c (print_completion): New field
10128 prompt_len.
10129 (grub_cmdline_get): Handle width properly.
10130
6d36a236
VS
101312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10134
9576977e
VS
101352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10138 after 29th of February.
9576977e 10139
d73ff15d
VS
101402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 Fix exfat endianness handling.
10143
10144 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10145 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10146 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10147 Byte-swap utf16 when necessary.
10148 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10149
bbb39a45
AB
101502012-03-31 Anton Blanchard <anton@samba.org>
101512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Fix btrfs endianness handling.
10154
10155 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10156 (lower_bound): Make root uint64_t. Use root in le.
10157 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10158 (find_path): Fix template key init.
10159 (grub_btrfs_dir): Fix mtime byteswap.
10160 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10161
354e0af7
VS
101622012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10165 recursion_depth. Break infinite resursions. All users updated.
10166
4e75f21c
VS
101672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10170 after free.
10171 Reported by: Peter Jones.
10172
25581802
AB
101732012-03-31 Anton Blanchard <anton@samba.org>
10174
10175 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10176 8 bit values.
10177
08fbf92e
VS
101782012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * util/grub-install.in: Fix nvram call for PreP.
10181
5d1182a6
VS
101822012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10185 the error when some elements are missing into a warning.
10186
3f8cdd90
VS
101872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10190
51006716
CW
101912012-03-28 Colin Watson <cjwatson@ubuntu.com>
10192
10193 * docs/grub.texi (Invoking grub-probe): New section.
10194 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10195
e1bd676b
VS
101962012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 Fix tab and wide character handling in editor and menu.
10199
10200 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10201 agglomerate control characters with combining marks.
10202 (bidi_line_wrap): Allow break on tab.
10203 (grub_unicode_get_comb_start): New function.
10204 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10205 and tab correctly.
10206 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10207 with a space.
10208 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10209 fixed_tab_size. All users updated.
10210 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10211 (grub_term_getcharwidth): Handle \t.
10212 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10213 and copy.
10214
22e6a774
VS
102152012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Handle big-endian mdraid.
10218
10219 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10220 * grub-core/Makefile.core.def (mdraid09_be): New module.
10221 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10222 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10223 * grub-core/disk/mdraid_linux_be.c: New file.
10224
3c0eae66
VS
102252012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10228
b6cf74c9
VS
102292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10232 missing quotes which caused confusion among translators.
10233
83c93b9c
VS
102342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * util/grub-mkconfig_lib.in: Fix typo.
10237
ac6fd218
VS
102382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10241 spaces.
10242 * tests/grub_script_leading_whitespace.in: New file.
10243 * Makefile.util.def (grub_script_leading_whitespace): New test.
10244
ba287dd8
VS
102452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10248 to work.
10249
d2d58d0a
VS
102502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10253 starts with control character.
10254
0382d9bb
VS
102552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10258 overflow.
10259 (grub_gdb_outbuf): Likewise.
10260
d83ff9f9
VS
102612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10264 zero terminator. Fixes a crash.
10265
2282da4a
VS
102662012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10269 beyond 4 GiB.
10270 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10271 images independently of preffered adderss field.
10272
0ae4f0bd
VS
102732012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10276 * grub-core/commands/regexp.c: Likewise.
10277 * grub-core/loader/i386/linux.c: Likewise.
10278 * grub-core/partmap/msdos.c: Likewise.
10279 * grub-core/script/execute.c: Likewise.
10280 * grub-core/term/gfxterm.c: Likewise.
10281
546fbe9b
VS
102822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 Add variable parsing in $"..." and fix several mismatches with bash.
10285
10286 * Makefile.util.def (grub_script_gettext): New test.
10287 * grub-core/script/execute.c (parse_string): New function.
10288 (gettext_append): Likewise.
10289 (grub_script_arglist_to_argv): Use gettext_append.
10290 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10291 * tests/grub_script_gettext.in: New file.
10292
9fdb2d7b
VS
102932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 Fix handling of leading spaces in scripts.
10296
10297 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10298 spaces.
10299 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10300 other than skipping \r. All users updated.
10301 * tests/grub_script_echo1.in: Add space-related tests.
10302 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10303
1a1ac4f6
VS
103042012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10307
b63d89b6
VS
103082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * configure.ac: Bump up the version to beta2.
10311
17f38c0f
VS
103122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 Fix gettext reload bugs (e.g. inability to disable gettext
10315 once enabled).
10316
10317 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10318 main_context and secondary_context. All functions updated.
10319 (grub_gettext_translate): Rename to ...
10320 (grub_gettext_translate_real): ... this. Return NULL on failed
10321 translate.
10322 (grub_gettext_translate): Handle secondary context.
10323 (grub_gettext_delete_list): Close file and zero-out the context.
10324 (grub_mofile_open): Don't call grub_gettext_delete_list.
10325 Don't close file.
10326 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10327 if locale="" to avoid pointless error message.
10328 (grub_gettext_env_write_lang): Update lang even if load fails.
10329 Handle secondary context.
10330 (grub_gettext_reread_prefix): New function.
10331 (read_main): Likewise.
10332 (read_secondary): Likewise.
10333 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10334 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10335 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10336 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10337
8e56f870
VS
103382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * configure.ac: Decrease warning level to avoid spurious warnings and
10341 to be able to compile with GCC 4.2.
10342 * Makefile.util.def: Remove -Wno-error=logical-op.
10343
82f6d455
WB
103442012-03-10 William Bittner <william.bittner@gmail.com>
10345
10346 * util/import_unicode.py: Add missing brackets around string for
10347 python 3 support.
10348
1ecd61a4
VS
103492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 Fix efi chainloader on network root.
10352
10353 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10354 network devices.
10355 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10356 New function.
10357
14361ee8
VS
103582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10361 unused show_text member.
10362 * docs/grub.texi: Document "text" property.
10363
922aabf3
VS
103642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10367 in dprintf.
10368
ec316771
VS
103692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Fix IMSM handling on Fedora.
10372
10373 * util/getroot.c (grub_util_is_imsm): New function.
10374 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10375
0f021838
VS
103762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * Makefile.am: Strip gold section.
10379 * conf/Makefile.common: Likewise.
10380 * gentpl.py: Likewise.
10381 * grub-core/Makefile.core.def: Likewise.
10382 * grub-core/genmod.sh.in: Likewise.
10383
1039c8eb
VS
103842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10387 * util/grub.d/20_linux_xen.in: Likewise.
10388 Based on Debian patch.
10389
6dd412cd
VS
103902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * util/grub.d/10_linux.in: Fix syntax error resulting in
10393 Richard Laager's patch.
10394 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10395
3fd8bae5
VS
103962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10399 dependencies.
10400
7eea1671
RL
104012012-03-10 Richard Laager <rlaager@wiktel.com>
10402
10403 * util/grub.d/10_linux.in: Fix ZFS root passing.
10404
e8e0566b
VS
104052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10408 * grub-core/commands/xnu_uuid.c: Likewise.
10409 * grub-core/loader/efi/appleloader.c: Likewise.
10410 * grub-core/script/execute.c: Likewise.
10411 * grub-core/script/main.c: Likewise.
10412 * util/grub-mkfont.c: Likewise.
10413
1acc5b1f
VS
104142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * util/grub-mkfont.c (options): Use more appropriate "select" that
10417 "set" for face index.
10418
35d70620
VS
104192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * util/grub-editenv.c (options): Gettextize command summaries.
10422
c9eb96b5
VS
104232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10426 "out of memory" error messagge.
10427
1f493136
VS
104282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10431 of diskfilter for diskfilter on diskfilter support.
10432
6d790129
VS
104332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10436
005f46c9
VS
104372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10440 themes/starfield.
10441
c8f778a0
VS
104422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10445
de1e64eb
VS
104462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10449
c6d54211
VS
104502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10453 of error message.
10454
dd390777
VS
104552012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10458
5fd1c522
VS
104592012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10462 message.
c6d54211 10463 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10464
fae01f6c
VS
104652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10468 Gettextize.
10469 * util/grub-mount.c (options): Likewise.
10470
292fdaff
VS
104712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10474 gettextize.
10475 * grub-core/commands/search_wrap.c (options): Likewise.
10476
ecdbae77
VS
104772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10480
52bfedfa
VS
104812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10484 size calculation.
10485 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10486 none is known.
10487
55b20e58
VS
104882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10491 "temporary" since it's used in identifier and is limited in space.
10492
fda9d101
VS
104932012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * po/POTFILES.in: Regenerate. Include *.h since they contain
10496 translatable strings as well.
10497
6a0295e2
VS
104982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10501 byte-swap on big-endian.
10502 Reported by: Lennart Sorensen
10503
807fb77c
VS
105042012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10507 (allocate_pages): Improve dprintf.
10508 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10509 code32_start. Fill code32_start and kernel_alignment in params.
10510 (grub_cmd_initrd): Use prot_init_space.
10511
61ac50ba
VS
105122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10515
abdd26dd
VS
105162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * util/grub-install.in: Add missing dot at the end of sentence.
10519
6e69da9c
VS
105202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10523 * grub-core/commands/videotest.c: Likewise.
10524 * grub-core/loader/i386/linux.c: Likewise.
10525
4a929343
VS
105262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10529 sentence.
10530 Reported by: Milo Casagrande.
10531
bb51c6c6
VS
105322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10535 * grub-core/commands/gptsync.c: Likewise.
10536 * grub-core/commands/hashsum.c: Likewise.
10537 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10538 * grub-core/commands/legacycfg.c: Likewise.
10539 * grub-core/io/gzio.c: Likewise.
10540 * grub-core/net/net.c: Likewise.
10541 * grub-core/term/gfxterm.c: Likewise.
10542 * grub-core/term/terminfo.c: Likewise.
10543 * grub-core/tests/test_blockarg.c: Likewise.
10544 * grub-core/video/video.c: Likewise.
10545 * util/grub-install.in: Likewise.
10546 * util/grub-mkfont.c: Likewise.
10547
b2b149cb
VS
105482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10551
c7c080ad
VS
105522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10555 Reported by: David Prévot.
c7c080ad 10556
f2e243c0
VS
105572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10560 description.
10561
09963c76
VS
105622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * util/grub-script-check.c (main): Fix a syntax error message which was
10565 unclear.
10566
a50514a8
VS
105672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10570
4650daec
VS
105712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10574 messages.
10575
105762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10577
10578 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10579 without argument.
10580 * util/grub-mount.c (options): Likewise.
10581
bbc5a342
VS
105822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10585
ef292a87
VS
105862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/net/http.c: Add TRANSLATORS comments.
10589 * grub-core/normal/cmdline.c: Likewise.
10590 * grub-core/normal/misc.c: Likewise.
10591 * grub-core/partmap/msdos.c: Likewise.
10592 * grub-core/parttool/msdospart.c: Likewise.
10593 * grub-core/script/execute.c: Likewise.
10594 * grub-core/script/main.c: Likewise.
10595 * grub-core/term/terminfo.c: Likewise.
10596 * grub-core/video/bitmap.c: Likewise.
10597 * util/grub-install.in: Likewise.
10598 * util/grub-mkimage.c: Likewise.
10599 * util/grub-mklayout.c: Likewise.
10600 * util/grub-setup.c: Likewise.
10601
0fc19bd0
VS
106022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10605 with similar messages in grub-fstest.
10606
d95862ef
VS
106072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * util/grub-install.in: Unify "option requires an argument" message
10610 with similar messages in other files.
10611 * util/grub-mkconfig.in: Likewise.
10612
b7308f90
VS
106132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * util/grub-set-default.in: Replace printf with gettext_printf (the
10616 string in in question is already translated from grub-reboot)
10617
559dc587
VS
106182012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * configure.ac: Bump up the version to beta1.
10621
1a11761f
VS
106222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10625 case when min_align = 0.
10626
24539abd
VS
106272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10630 and fix a case when line_start overflows.
10631
32bd735b
VS
106322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * util/grub-reboot.in (usage): Mention id posibility.
10635 * util/grub-set-default.in (usage): Likewise.
10636
1a2fd1e6
VS
106372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10640 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10641 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10642 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10643 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10644 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10645 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10646
90eeab76
VS
106472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/commands/menuentry.c (options): Remove
10650 GRUB_ARG_OPTION_REPEATABLE.
10651 Reported by: Andreas Vogel
10652
5ad1be82
AV
106532012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10654
10655 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10656
cb055286
HE
106572012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10658
10659 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10660 error.
10661
93b1cd79
VS
106622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 Use sort -V by the idea of Georgi Georgiev.
10665
10666 * util/grub-mkconfig_lib.in (version_sort): New function.
10667 (version_test_numeric): Use version_sort.
10668
0cdc126c
VS
106692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 Use submenus in grub-mkconfig.
10672
10673 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10674 * util/grub-mkconfig_lib.in (grub_quote): New function.
10675 (gettext_printf): Use gettext and not gettext_quoted to fix several
10676 messages.
10677 * util/grub.d/10_hurd.in: Use submenus.
10678 * util/grub.d/10_kfreebsd.in: Likewise.
10679 * util/grub.d/10_linux.in: Likewise.
10680 * util/grub.d/10_netbsd.in: Likewise.
10681 * util/grub.d/20_linux_xen.in: Likewise.
10682 * util/grub.d/30_os-prober.in: Likewise.
10683 * util/grub.d/10_illumos.in: Add missing quoting.
10684 * util/grub.d/10_windows.in: Likewise.
10685
d9bef9bc
VS
106862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 Fix menu title instability bug.
10689
10690 * grub-core/commands/menuentry.c (options): New option --id.
10691 (grub_normal_add_menu_entry): New argument id. All users updated.
10692 (grub_cmd_menuentry): Handle --id.
10693 (grub_menu_init): Accept unknown arguments.
10694 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10695 feature_menuentry_options.
10696 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10697 saved_entry.
10698 (get_entry_number): Match with id as well.
10699 * include/grub/menu.h (grub_menu_entry): New member id.
10700 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10701 * util/grub.d/00_header.in: Define menuentry_id_option.
10702 * util/grub.d/10_hurd.in: Define id.
10703 * util/grub.d/10_illumos.in: Likewise.
10704 * util/grub.d/10_kfreebsd.in: Likewise.
10705 * util/grub.d/10_linux.in: Likewise.
10706 * util/grub.d/10_netbsd.in: Likewise.
10707 * util/grub.d/10_windows.in: Likewise.
10708 * util/grub.d/20_linux_xen.in: Likewise.
10709 * util/grub.d/30_os-prober.in: Likewise.
10710
107112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10712
10713 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10714 "scope" with "body".
10715
7c8d0ce7
VS
107162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10719 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10720 prot_size and prot_file_size.
10721
49de079b
VS
107222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10725 All users updated. If easily=1 require raid-5/-6 to be full.
10726 (is_node_readable): Likewise.
10727 (scan_devices): Scan incomplete but readable LVs at the end.
10728 (grub_diskfilter_memberlist): Pull missing devices.
10729 (insert_array): Skip scanning until device is complete or scan is
10730 done otherwise.
10731 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10732 check.
10733 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10734 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10735
aff05d45
MG
107362012-03-03 Matthew Garrett <mjg@redhat.com>
107372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Avoid EFI boot services when loading Linux.
10740
10741 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10742 avoid_efi_bootservices. All users updated.
10743 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10744 argument avoid_efi_bootservices. All users updated.
10745 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10746 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10747 align, min_align, relocatable, prefered_address. All users updated.
10748 Allocate avoiding boot services if kernel is relocatable.
10749 (grub_cmd_linux): Check if kernel is relocatable.
10750 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10751 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10752 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10753 avoid_efi_boot_services.
10754 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10755 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10756 (linux_kernel_params): Likewise.
10757
3935dde2
MG
107582012-03-03 Matthew Garrett <mjg@redhat.com>
107592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Use EDID on EFI.
10762
10763 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10764 datasize_out.
10765 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10766 modes. Set gop_handle.
10767 (grub_video_gop_get_edid): New function.
10768 (grub_gop_get_preferred_mode): Likewise.
10769 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10770 (grub_video_efi_gop_adapter): Set .get_edid.
10771 * include/grub/efi/edid.h: New file.
10772 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10773
32107ec0
VS
107742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * util/grub-install.in: Load efivars unconditionally.
10777
e70a2c50
VS
107782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * po/Rules-piglatin: Change suffix from .po-update-en to
10781 .po-update-en-piglatin.
10782
8f9cace1
VS
107832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Add a pig farm.
10786
10787 * po/piglatin.sed: New file.
10788 * po/en@piglatin.header: Likewise.
10789 * po/Rules-piglatin: Likewise.
10790 * po/README: Add en@piglatin to autogenerated languages.
10791
8f95d002
VS
107922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10795 "Command for ...".
10796 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10797 "Check" since we don't check anything.
10798 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10799 is 64-bit one.
10800 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10801 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10802 (grub_md_sha512_real): Likewise.
10803
805a8dcc
VS
108042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/commands/gptsync.c: Fix typographic quoting.
10807 * grub-core/commands/ieee1275/suspend.c: Likewise.
10808 * grub-core/commands/parttool.c: Likewise.
10809 * grub-core/commands/search_wrap.c: Likewise.
10810 * grub-core/commands/videoinfo.c: Likewise.
10811 * grub-core/gfxmenu/gui_label.c: Likewise.
10812 * grub-core/hello/hello.c: Likewise.
10813 * grub-core/kern/emu/main.c: Likewise.
10814 * grub-core/net/net.c: Likewise.
10815 * grub-core/normal/menu.c: Likewise.
10816 * grub-core/normal/menu_text.c: Likewise.
10817 * grub-core/normal/misc.c: Likewise.
10818 * util/grub-editenv.c: Likewise.
10819 * util/grub-install.in: Likewise.
10820 * util/grub-kbdcomp.in: Likewise.
10821 * util/grub-mkconfig.in: Likewise.
10822 * util/grub-mknetdir.in: Likewise.
10823 * util/grub-mkrescue.in: Likewise.
10824 * util/grub-mkstandalone.in: Likewise.
10825 * util/grub-reboot.in: Likewise.
10826 * util/grub-set-default.in: Likewise.
10827 * util/grub-setup.c: Likewise.
10828 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10829
40211ab8
VS
108302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10833 * grub-core/commands/keystatus.c: Likewise.
10834 * grub-core/commands/loadenv.c: Likewise.
10835 * grub-core/commands/probe.c: Likewise.
10836 * grub-core/commands/regexp.c: Likewise.
10837 * grub-core/commands/true.c: Likewise.
10838 * grub-core/commands/videoinfo.c: Likewise.
10839 * grub-core/disk/cryptodisk.c: Likewise.
10840 * grub-core/disk/ldm.c: Likewise.
10841 * grub-core/disk/loopback.c: Likewise.
10842 * grub-core/disk/luks.c: Likewise.
10843 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10844 * grub-core/kern/disk.c: Likewise.
10845 * grub-core/kern/emu/hostdisk.c: Likewise.
10846
0c7d99c7
VS
108472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10850 * util/grub-install.in: Add missing quote in the comment.
10851
e7d2559b
VS
108522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10855 * grub-core/commands/lsmmap.c: Likewise.
10856 * grub-core/commands/minicmd.c: Likewise.
10857 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10858 * grub-core/commands/regexp.c: Likewise.
10859 * grub-core/gdb/gdb.c: Likewise.
10860 * grub-core/term/gfxterm.c: Likewise.
10861 * util/grub-mkconfig.in: Likewise.
10862 * util/grub-mkfont.c: Likewise.
10863 * util/grub-mklayout.c: Likewise.
10864 * util/grub-mknetdir.in: Likewise.
10865 * util/grub-mkrescue.in: Likewise.
10866 * util/grub.d/30_os-prober.in: Likewise.
10867
49ce9e50
VS
108682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10871 with "Direct color" and "Packed" with "Packed pixel".
10872 (grub_cmd_videoinfo): Simplify legend.
10873
e4b791fa
VS
108742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10877 absolutely unclear error message.
10878
fd1265cb
VS
108792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * util/grub-mkstandalone.in: Remove confusing leftover print.
10882
8822a8a0
VS
108832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10886 comments.
10887 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10888 (GRUB_MOD_INIT): Likewise.
10889 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10890 VGA mode.
10891 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10892 comments.
10893 * util/grub-install.in (usage): Likewise.
10894 Spell ID in whole letters.
10895 Add missing ending dot.
10896 Quote variables.
10897 * util/grub-reboot.in: Fix capitalisation.
10898 * util/grub-set-default.in: Likewise.
10899
937fd0cc
VS
109002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10903 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10904 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10905 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10906 Disable -Werror for -Wdeprecated-declarations.
10907 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10908 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10909 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10910 (grub_util_get_grub_dev): Make luks handling dependent on
10911 HAVE_DEVICE_MAPPER and not __linux__.
10912 (get_win32_path): Fix format security.
10913 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10914 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10915 Don't try grub_find_zpool_from_dir.
10916 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10917 #ifdef-out paresdir.
10918
1bab1ae3
VS
109192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * util/grub-pe2elf.c (usage): Add missing noreturn.
10922 (write_section_data): Rename name to shname to avoid shadowing.
10923 (write_symbol_table): Rename name to symname to avoid shadowing.
10924 Fix write_reloc_section call.
10925
ef023e42
VS
109262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10929 to ensure that it's after the last byte of .text.
10930
48afcb75
VS
109312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * util/ieee1275/ofpath.c (my_isdigit): New function.
10934 (trailing_digits): Use my_isdigit.
10935 (strip_trailing_digits): Likewise.
10936
88d51eff
VS
109372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10940 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10941
17edc2ba
VS
109422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/kern/i386/pc/startup.S: Define __start.
10945
ad5518d7
VS
109462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10949 strip already transforms he format.
10950
9e95e1bf
VS
109512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10954
9cc3ee5c
VS
109552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/grub-install.in: Add missing gettext init.
10958 * util/grub-kbdcomp.in: Likewise.
10959 * util/grub-mkconfig.in: Likewise.
10960 * util/grub-mknetdir.in: Likewise.
10961 * util/grub-mkrescue.in: Likewise.
10962 * util/grub-mkstandalone.in: Likewise.
10963 * util/grub-reboot.in: Likewise.
10964 * util/grub-set-default.in: Likewise.
10965 * util/grub.d/00_header.in: Likewise.
10966 * util/grub.d/10_hurd.in: Likewise.
10967 * util/grub.d/10_windows.in: Likewise.
10968 * util/grub.d/30_os-prober.in: Likewise.
10969 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10970
49e08a06
VS
109712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * po/Rules-swiss: Fix header comment.
10974
3809cb41
AV
109752012-02-29 Andreas Vogel <anvoit>
10976
10977 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10978 resulted in leak of arguments.
10979
fa6ec573
VS
109802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10983 reed_solomon_size const definition instead of computing it since
10984 Apple assembler doesn't support the later.
10985
22899b9c
VS
109862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * gentpl.py (kernel): Rewrite Apple part.
10989
a132afc3
VS
109902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10993
9d742bd4
VS
109942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10997 ELF section gap.
10998 (load_image): Likewise.
10999
f04a9a21
VS
110002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * configure.ac: Fix a typo in previous commit.
11003
46cf439c
VS
110042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 Don't add -Wl,-N on Apple platform.
11007
11008 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11009 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11010
c4c48c54
VS
110112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/Makefile.core.def (lzma_decompress): Use
11014 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11015
31a12124
VS
110162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * grub-core/genmod.sh.in: Rewrite the Apple part.
11019
4f3aa1af
VS
110202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11023 comparison.
11024
7bd8b0c7
VS
110252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * acinclude.m4 (grub_CHECK_PIC): New test.
11028 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11029
97304d7c
VS
110302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11033 to avoid the warning.
11034
fb883812
VS
110352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11038 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11039 after. All users updated.
11040
a121c964
VS
110412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 Use the common size routine in hostfs so we can read disks as well.
11044
11045 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11046 (grub_util_get_fd_size): ... this. Return size in bytes.
11047 All users updated.
11048 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11049 grub_util_get_fd_size.
11050
c66d6410
VS
110512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11054 Add blocksize retrieval.
11055
dfc8aeb0
VS
110562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * configure.ac: Restore CFLAGS after efiemu check.
11059
403e25a5
VS
110602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11063 Apple bug.
11064
382775d1
VS
110652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11068
6fd4e6e4
VS
110692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11072 (grub_cmd_halt): Likewise.
11073
bea359d6
VS
110742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11077 for local arithmetics.
11078 Break %sp init into 2 instructions.
11079 Add 0 byte at the end.
11080
32eb6ee1
VS
110812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11084 before loops.
11085
e8377389
VS
110862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11089 for context.
11090
8cb17de7
VS
110912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * grub-core/disk/ldm.c (make_vg): Init part.name.
11094 (grub_ldm_detect): Silence spurious warning.
11095 (grub_util_is_ldm): Likewise.
11096
595717e6
VS
110972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11100 sane value to avoid a spurious warning.
11101
c4b7e588
VS
111022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11105 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11106
59824957
VS
111072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11110 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11111
70115b99
VS
111122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11115 hardcoding the relevant info.
11116
56733740
VS
111172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11120 missing const qualifiers.
11121 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11122
43481481
VS
111232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * util/getroot.c [__APPLE__]: Add missing includes.
11126 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11127
3cb38f01
VS
111282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11131
d9dbf11e
VS
111322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11135 avoid conflicts.
11136
0c42a45d
VS
111372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11140
46c34eb0
VS
111412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11144 and grub_file_close call.
11145
99ce1597
VS
111462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 Add LZSS Mach-O support (needed for new xnu kernelcache).
11149
11150 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11151 * grub-core/loader/lzss.c: New file.
11152 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11153 on Mach-O open failure.
11154 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11155 Don't free cmdsXX in uncompressedXX is set.
11156 (grub_macho_file): Init new fields.
11157 New argument is_64bit. All users updated.
11158 Handle compressed. Error out if no suitable architecture is found.
11159 Don't close file.
11160 (grub_macho_open): New argument is_64bit. All users updated.
11161 * grub-core/loader/macho32.c: Add defines for new fields.
11162 * grub-core/loader/macho64.c: Likewise.
11163 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11164 (grub_macho_parse): Handle compressed.
11165 Defer actual processing if compressed.
11166 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11167 "filename". All users updated.
11168 (grub_macho_size): New argument "filename". All users updated.
11169 (grub_macho_get_entry_point): Likewise.
11170 (grub_macho_load): Handle compressed.
11171 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11172 (GRUB_MACHO_LZSS_OFFSET): New define.
11173 (grub_decompress_lzss): New proto.
11174 * include/grub/machoload.h (grub_macho_file): New fields to handle
11175 compressed.
11176 (grub_macho_contains_macho64): Remove proto.
11177 (grub_macho_contains_macho32): Likewise.
11178 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11179
ebd17d6f
VS
111802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11183
2702b4e4
VS
111842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 Fix make dist.
11187
11188 * Makefile.am (starfield_theme_files): New var.
11189 (starfield_DATA): Use starfield_theme_files.
11190 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11191 Add bootcheck-related files.
11192 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11193 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11194 and font_char_metrics.txt.
11195 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11196 (setjmp): Add lib/ia64/longjmp.S.
11197 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11198 * po/POTFILES.in: Regenerate.
11199 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11200 DISTFILES.common.extra1.
11201 * util/devicemap.c: Removed.
11202 * grub-core/lib/i386/relocator_backward.S: Likewise.
11203 * util/import_gcry.py: Remove unused files. Add extra_dist for
11204 ChangeLog.
11205
cf1adfdf
VS
112062012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11209 grub_gettext_delete_list before changing grub_gettext_max to avoid
11210 running out of array bounds.
11211
112122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11213
11214 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11215 grub_vga_text_init/grub_vga_text_fini.
11216
cf1adfdf 112172012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11218
11219 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11220
541d92e9
VS
112212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * configure.ac: Bump to 2.00~beta0.
11224
7931dddf
VS
112252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11228 missing initialisation.
11229
f1b16fa3
VS
112302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11233
83ddae23
VS
112342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 Support v2 xnu boot arguments.
11237
11238 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11239 New argument fsbfreq_out.
11240 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11241 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11242 be used.
11243 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11244 darwin_version.
11245 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11246 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11247 (grub_xnu_boot_params): Rename to ...
11248 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11249 (grub_xnu_boot_params_v2): New struct.
11250
dc693fe6
VS
112512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11254 zeroing of CRC field before computing CRC.
11255
5a6e39c2
VS
112562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11259 Change order of allocations to decrease fragmentation.
11260
6c21f5d7
VS
112612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11264
cfe456dc
CW
112652012-02-27 Colin Watson <cjwatson@ubuntu.com>
11266
11267 Use write-combining MTRR to speed up video with buggy BIOSes.
11268
11269 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11270 (cpuid): New define.
11271 (rdmsr): Likewise.
11272 (wrmsr): Likewise.
11273 (mtrr_base): Likewise.
11274 (mtrr_mask): Likewise.
11275 (grub_vbe_enable_mtrr_entry): New function.
11276 (grub_vbe_enable_mtrr): Likewise.
11277 (grub_vbe_disable_mtrr): Likewise.
11278 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11279 control off to BIOS.
11280 (grub_video_vbe_init): Fill mtrr.
11281 (grub_video_vbe_fini): Disable mtrr.
11282 (grub_video_vbe_get_info_and_fini): Likewise.
11283 (grub_video_vbe_setup): Enable mtrr.
11284
e3c78337
CW
112852012-02-27 Colin Watson <cjwatson@ubuntu.com>
11286
11287 * include/grub/partition.h (grub_partition_map): Change prototype of
11288 embed to take a maximum value for nsectors.
11289 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11290 * include/grub/fs.h (grub_fs): Likewise.
11291 * grub-core/partmap/msdos.c (embed_signatures): New array.
11292 (pc_partition_map_embed): Check for and avoid sectors matching any
11293 of the signatures in embed_signatures, up to max_nsectors.
11294 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11295 returned sector map to max_nsectors.
11296 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11297 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11298 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11299 * util/grub-setup.c (setup): Allow for the embedding area being
11300 split into multiple blocklists. Tell dest_partmap->embed the
11301 maximum number of sectors we care about.
11302
113032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11306 Specify blocklist_install and reserver_first_sector for all fs.
11307 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11308 blocklists.
11309
984b973f
VS
113102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * util/grub-install.in: Clarify strings.
11313 Fix source dir check.
11314
f122e0d6
RL
113152012-02-27 Richard Laager <rlaager@wiktel.com>
11316
11317 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11318 "zfs" and "fuse.zfs" as synonyms.
11319
071114bb
VS
113202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * configure.ac: Put platform and target_cpu substitutions back since
11323 they are used for directories.
11324
817e6abc
RL
113252012-02-27 Richard Laager <rlaager@wiktel.com>
113262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11329 * util/grub.d/20_linux_xen.in: Likewise.
11330
897b7419
RL
113312012-02-27 Richard Laager <rlaager@wiktel.com>
11332
11333 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11334 with full paths.
11335
a414bd15
RL
113362012-02-27 Richard Laager <rlaager@wiktel.com>
11337
11338 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11339 unescape.
11340
30ac48c4
VS
113412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 Don't use insecure popen in getroot.
11344
11345 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11346 (exec_pipe): ... here.
11347 (find_root_devices_from_poolname): Use exec_pipe.
11348
53f13848
VS
113492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 Remove platform and target_cpu replacement.
11352
11353 * configure.ac: Remove platform and target_cpu substitutions.
11354 * tests/util/grub-shell.in: Use modinfo.
11355 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11356 explicitly.
11357
90cb2803
VS
113582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 Autodetect platform in grub-install but allow override.
11361
11362 * util/grub-install.in: Autodetect platform. Support --target and
11363 --directory. Read platform from modinfo.sh.
11364
b9136427
VS
113652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 Support btrfs multi-volume probe.
11368
11369 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11370 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11371 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11372 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11373 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11374 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11375 grub_find_root_devices_from_btrfs if on btrfs.
11376
c36e5cd1
VS
113772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 Remove any awareness of *.c util files about target.
11380
11381 * Makefile.util.def (grub-setup): Split to ...
11382 (grub-bios-setup): ... and this.
11383 (grub-sparc64-setup): ... and this.
11384 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11385 * docs/man/grub-setup.h2m: Split into ...
11386 * docs/man/grub-sparc64-setup.h2m: ... this.
11387 * docs/man/grub-bios-setup.h2m: ... and this.
11388 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11389 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11390 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11391 (grub_target_addr_t): Remove.
11392 (grub_target_size_t): Remove.
11393 (grub_target_ssize_t): Remove.
11394 * util/grub-install.in: Use new grub-*-setup.
11395 * util/grub-mkimagexx.c (Elf_Word): New define.
11396 (Elf_Half): Likewise.
11397 (Elf_Section): Likewise.
11398 (ELF_ST_TYPE): Likewise.
11399 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11400 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11401
584b2f8a
VS
114022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 Replace grub_target_addr with more appropriate types.
11405
11406 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11407 grub_target_addr with grub_addr.
11408 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11409 grub_target_addr with grub_port.
11410 (grub_cmd_write): Likewise.
11411 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11412 grub_target_addr with grub_addr.
11413 (grub_cmd_write): Likewise.
11414 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11415
5a0dc6fb
VS
114162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11419 const qualifier for vendor_guid.
11420
786aff6e
VS
114212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11424 const qualifier.
11425 (efiemu_memequal): Likewise.
11426 (find_variable): Likewise.
11427
49017b17
VS
114282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 Fix missing console prototype on qemu-mips.
11431
11432 * include/grub/mips/qemu_mips/console.h: New file.
11433
c5988629
MG
114342012-02-27 Matthew Garrett <mjg@redhat.com>
114352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11438 * include/grub/efi/efi.h: Likewise.
11439 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11440 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11441 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11442 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11443 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11444 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11445
e33f8d69
MG
114462012-02-27 Matthew Garrett <mjg@redhat.com>
11447
11448 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11449
fb312cd9
VS
114502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11453 error.
11454
7134247c
VS
114552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * configure.ac: Remove inappropriate use of program_transform_name
11458 on grubdir and bootdir but allow explicit specification of those
11459 variables.
11460
6a313124
VS
114612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/grub-mknetdir.in (grub_prefix): Removed.
11464 (subdir): Use @bootdirname@ and @grubdirname@.
11465
2311c5ca
VS
114662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11469
7d5d60f7
VS
114702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * po/POTFILES.in: Regenerated.
11473
8151bc82
VS
114742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Remove improper use of program_transform_name on pkglibrootdir.
11477
11478 * configure.ac (pkglibrootdir): Removed.
11479 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11480 * util/grub-mkimage.c: Likewise.
11481
b4a6a533
VS
114822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11485 warning.
11486
668f304f
VS
114872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * util/grub-install.in: Use file identifier if no UUID is available
11490 or user explicitly prompted for it.
11491
665f2341
NP
114922012-02-27 Navdeep Parhar <nparhar@gmail.com>
11493
11494 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11495 (freebsd_get_zfs): New function.
11496 (grub_freebsd_boot): Pass zfs UUID.
11497 (grub_cmd_freebsd): Set zfs UUID.
11498
8151bc82 114992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11500
11501 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11502 pkglibrootdir.
11503
e4c498a1
MG
115042012-02-27 Mike Gilbert <floppym@gentoo.org>
11505
11506 Add configure flag to control libzfs integration.
11507
11508 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11509
1e9a9a3f
VS
115102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11513 device.
11514 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11515 small devices.
11516
036985b8
VS
115172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11520 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11521 be used on non-modules.
11522
11523 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11524 Rename to grub_boot_init.
11525 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11526 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11527 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11528 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11529 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11530 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11531 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11532 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11533 includes.
11534 (grub_machine_init): Remove empty inits.
11535 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11536 includes.
11537 (grub_machine_init): Remove empty inits.
11538 * grub-core/term/arc/console.c: Remove explicit proto.
11539 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11540 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11541 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11542 grub_at_keyboard_fini.
11543 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11544 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11545 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11546 grub_gfxterm_fini.
11547 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11548 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11549 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11550 grub_vgatext_fini.
11551 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11552 * grub-core/term/serial.c (GRUB_MOD_INIT)
11553 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11554 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11555 grub_serial_fini.
11556 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11557 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11558 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11559 grub_terminfo_fini.
11560 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11561 (GRUB_MOD_FINI): Likewise.
11562 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11563 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11564 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11565 grub_video_radeon_fuloong2e_fini.
11566 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11567 [LOONGSON]: Rename to grub_video_sis315pro_init.
11568 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11569 grub_video_sis315pro_fini.
11570 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11571 [LOONGSON]: Rename to grub_video_sm712_init.
11572 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11573 grub_video_sm712_fini.
11574 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11575 (grub_at_keyboard_fini): Likewise.
11576 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11577 Don't declare grub_{modname}_init.
11578 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11579 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11580 New proto.
11581 (grub_keylayouts_fini) [!EMU]: Likewise.
11582 * include/grub/serial.h (grub_serial_init) [!EMU]:
11583 New proto.
11584 (grub_serial_fini) [!EMU]: Likewise.
11585 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11586 New proto.
11587 (grub_terminfo_fini) [!EMU]: Likewise.
11588 * include/grub/video.h (grub_font_init) [!EMU]:
11589 New proto.
11590 (grub_font_fini) [!EMU]: Likewise.
11591 (grub_gfxterm_init) [!EMU]: Likewise.
11592 (grub_gfxterm_fini) [!EMU]: Likewise.
11593 (grub_video_sm712_init) [!EMU]: Likewise.
11594 (grub_video_sm712_fini) [!EMU]: Likewise.
11595 (grub_video_sis315pro_init) [!EMU]: Likewise.
11596 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11597 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11598 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11599
d5534665
VS
116002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 Make nand a prefix for nand devices.
11603
11604 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11605
10133b5f
VS
116062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11609 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11610
8e307a62
VS
116112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * include/grub/env.h (grub_env_find): Remove prototype.
11614 * grub-core/kern/env.c (grub_env_find): Make static.
11615 (grub_env_set): Remove useless set.
11616
a4c65f34
VS
116172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/kern/i386/realmode.S: Remove useless align.
11620
d87893d5
VS
116212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/dl.h (grub_dl_load_file): Don't export.
11624
50159add
VS
116252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11628 grub_dprintf.
11629
b2582b84
VS
116302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11633 grub_errors.
11634 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11635 not reloading whole superblock but only the part which is really needed.
11636 Remove useless grub_errors.
11637 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11638 grub_errors.
11639
e2a83395
VS
116402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 Don't export grub_get_rtc.
11643
11644 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11645 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11646
e7d2a906
VS
116472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11650
6cf1363b
VS
116512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11654 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11655
eece3349
VS
116562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 Remove prio_list.
11659
11660 * include/grub/list.h (grub_prio_list): Removed.
11661 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11662 GRUB_COMMAND_PRIO_MASK.
11663 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11664 GRUB_COMMAND_FLAG_ACTIVE.
11665 (grub_prio_list_insert): Removed.
11666 (grub_prio_list_remove): Likewise.
11667 (GRUB_AS_PRIO_LIST): Likewise.
11668 (GRUB_AS_PRIO_LIST_P): Likewise.
11669 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11670 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11671 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11672 * grub-core/kern/command.c (grub_register_command_prio): Inline
11673 the prio_list code.
11674 (grub_unregister_command): Likewise.
11675
94f064b4
VS
116762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Fix interrupt mixup from previous commit.
11679
11680 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11681 (grub_realidt): New var.
11682 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11683 Load idt.
11684 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11685 New declaration.
11686 (grub_relocator16_boot): Set grub_relocator16_idt.
11687 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11688 (LOCAL(realidt)): ... this.
11689 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11690 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11691 (grub_realidt): New variable.
11692
27317084
VS
116932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11696 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11697 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11698 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11699 Gettextize.
11700 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11701 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11702 * po/POTFILES.in: Regenerate.
11703
47b40053
VS
117042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11707 errors.
11708
2b343101
VS
117092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11712 \0.
11713 (add_length): Likewise.
11714
ff27c3dd
LK
117152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
117162012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11717
11718 GDB serial and backtrace support.
11719
11720 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11721 (prot_to_real): Likewise.
11722 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11723 * grub-core/Makefile.core.def (backtrace): New module.
11724 (gdb): Likewise.
11725 * grub-core/gdb/cstub.c: New file.
11726 * grub-core/gdb/gdb.c: Likewise.
11727 * grub-core/gdb/i386/idt.c: Likewise.
11728 * grub-core/gdb/i386/machdep.S: Likewise.
11729 * grub-core/gdb/i386/signal.c: Likewise.
11730 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11731 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11732 * include/grub/backtrace.h: Likewise.
11733 * include/grub/gdb.h: Likewise.
11734 * include/grub/i386/gdb.h: Likewise.
11735
117362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11737
11738 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11739 New function.
11740 (add_length): Likewise.
11741 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11742 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11743 proto.
11744 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11745 __argp_get_display_len.
11746
ff27c3dd 117472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11748
11749 $"..." support in scripts.
11750
11751 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11752 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11753 * grub-core/script/yylex.l: Likewise.
11754 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11755 value.
11756
ff27c3dd 117572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11758
11759 * gentpl.py: Remove obsolete pkglib_DATA handling.
11760
ff27c3dd 117612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11762
11763 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11764 mailing list.
11765
11766 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11767 * util/grub-kbdcomp.in: Likewise.
11768 * util/grub-mkconfig.in: Likewise.
11769 * util/grub-mkconfig_lib.in: Likewise.
11770 * util/grub-mknetdir.in: Likewise.
11771 * util/grub-mkrescue.in: Likewise.
11772 * util/grub-mkstandalone.in: Likewise.
11773 * util/grub-reboot.in: Likewise.
11774 * util/grub-set-default.in: Likewise.
11775 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11776
ff27c3dd 117772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11778
11779 Remove GRUB_PREFIX.
11780
11781 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11782 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11783 used for backward compatibility.
11784
ff27c3dd 117852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11786
11787 Add new all_video module.
11788
11789 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11790 * grub-core/Makefile.core.def (all_video): New module.
11791 * grub-core/genmoddep.awk: Generate dependency of all_video from
11792 video.lst.
11793 * grub-core/lib/fake_module.c: New file.
11794 * grub-core/normal/main.c (features): Add feature_all_video_module.
11795 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11796 don't do explicit search again.
47454da5 11797 insmod all_video in load_video if available.
22c7ce85 11798
ff27c3dd 117992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11800
11801 Another round of string clarification and adding TRANSLATORS comments.
11802
ff27c3dd 118032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11804
11805 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11806
ff27c3dd 118072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11808
11809 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11810 to grub_ssize_t.
11811 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11812 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11813
ff27c3dd 118142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11815
11816 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11817 trailing newline implicitly. All users updated.
11818
ff27c3dd 118192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11820
11821 Implement serial on IEEE1275 and EFI.
11822
11823 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11824 on emu. Mention arc and emu as the only platforms without serial
11825 support.
11826 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11827 ieee1275 platforms.
11828 * grub-core/term/efi/serial.c: New file.
11829 * grub-core/term/ieee1275/serial.c: Likewise.
11830 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11831 specification if no ns8250 driver is available.
11832 (grub_cmd_serial): Likewise.
11833 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11834 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11835 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11836 (grub_efi_parity_type_t): New type.
11837 (grub_efi_stop_bits_t): Likewise.
11838 (grub_efi_serial_io_interface): New struct.
11839 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11840 available for all interfaces.
11841 Add EFI and IEEE1275 fields.
11842 (grub_ofserial_init): New proto.
11843 (grub_efiserial_init): Likeiwse.
11844 * util/grub.d/00_header.in: Don't check for the presence of serial
11845 module.
11846
ff27c3dd 118472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11848
11849 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11850 name as if it was an alias.
11851
114076ef
VS
118522012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/commands/lsacpi.c (options): Fix typo.
11855
6a656b0e
VS
118562012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 Convert grub-emu to argp.
11859
11860 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11861 emu.
11862 * util/argp_common.c: Rename to ...
11863 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11864 Add missing includes.
11865 * grub-core/kern/emu/main.c: Convert to argp.
11866 * po/POTFILES.in: Regenerate.
11867 * util/grub-install.in (usage): Make first letter lowcase in messages
11868 for uniformity.
11869 * util/grub-setup.c (options): Likewise.
11870
1e3f8ae8
VS
118712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11874 Put back accidently commented-out code.
11875
ed167a80
VS
118762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11879 loop check using Brent algorithm.
11880 (grub_hfsplus_btree_search): Likewise.
11881
6753c0ec
VS
118822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 * util/grub-install.in: Fix usage of wrong device for PreP install.
11885
4e27343f
VS
118862012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * conf/Makefile.common (CFLAGS_GNULIB): Add
11889 -Wno-unsafe-loop-optimizations.
11890 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11891 on tools.
11892 * grub-core/commands/legacycfg.c: Add pragma to skip
11893 -Wunsafe-loop-optimizations.
11894 (check_password_md5_real): Fix loop counter type.
11895 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11896 reading.
11897 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11898 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11899 loop condition.
11900 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11901 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11902 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11903 condition.
11904 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11905 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11906 avoid possible infinite loops.
11907 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11908 and -Wunsafe-loop-optimizations.
11909 * grub-core/script/yylex.l: Likewise.
11910 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11911 (print_glyphs): Avoid infinite loops.
11912 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11913
697f18b0
GS
119142012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11915
11916 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11917 to avoid infinite loop.
11918 (disp_acpi_rsdt_table): Likewise.
11919
274416e8
VS
119202012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/font/font.c (grub_font_load): Add support for default
11923 path for fonts ($prefix/fonts).
11924 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11925 for checking if string is a path.
11926 * grub-core/normal/main.c (features): Add feature_default_font_path.
11927 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11928 * util/grub.d/00_header.in: Use default directory if possible.
11929 * util/grub-install.in: Install unicode.pf2.
11930
b3e08622
VS
119312012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11934 * po/Rules-swiss: New file.
11935 * po/swiss.sed: Likewise.
11936
fe42ce09
VS
119372012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/fs/btrfs.c (find_device): Fix typos.
11940 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11941 * util/grub-mkrelpath.c (argp_parser): Likewise.
11942 Reported by: Yuri Chornoivan.
11943
72f1d065
DO
119442012-02-23 Dalet Omega <daletomega@gmail.com>
11945
11946 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11947 for usual informative messages.
11948
c5884973
DO
119492012-02-23 Dalet Omega <daletomega@gmail.com>
11950
11951 Starfield theme.
11952
11953 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11954 * conf/Makefile.common: Define starfielddir.
11955 * configure.ac: Configure starfield.
11956 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11957 * themes/starfield/README: Likewise.
11958 * themes/starfield/blob_w.png: Likewise.
11959 * themes/starfield/boot_menu_c.png: Likewise.
11960 * themes/starfield/boot_menu_e.png: Likewise.
11961 * themes/starfield/boot_menu_n.png: Likewise.
11962 * themes/starfield/boot_menu_ne.png: Likewise.
11963 * themes/starfield/boot_menu_nw.png: Likewise.
11964 * themes/starfield/boot_menu_s.png: Likewise.
11965 * themes/starfield/boot_menu_se.png: Likewise.
11966 * themes/starfield/boot_menu_sw.png: Likewise.
11967 * themes/starfield/boot_menu_w.png: Likewise.
11968 * themes/starfield/slider_c.png: Likewise.
11969 * themes/starfield/slider_n.png: Likewise.
11970 * themes/starfield/slider_s.png: Likewise.
11971 * themes/starfield/src/blob_nw.xcf: Likewise.
11972 * themes/starfield/src/bootmenu/: Likewise.
11973 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11974 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11975 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11976 * themes/starfield/src/slider_c.xcf: Likewise.
11977 * themes/starfield/src/slider_n.xcf: Likewise.
11978 * themes/starfield/src/slider_s.xcf: Likewise.
11979 * themes/starfield/src/terminalbox/: Likewise.
11980 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11981 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11982 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11983 * themes/starfield/starfield.png: Likewise.
11984 * themes/starfield/terminal_box_c.png: Likewise.
11985 * themes/starfield/terminal_box_e.png: Likewise.
11986 * themes/starfield/terminal_box_n.png: Likewise.
11987 * themes/starfield/terminal_box_ne.png: Likewise.
11988 * themes/starfield/terminal_box_nw.png: Likewise.
11989 * themes/starfield/terminal_box_s.png: Likewise.
11990 * themes/starfield/terminal_box_se.png: Likewise.
11991 * themes/starfield/terminal_box_sw.png: Likewise.
11992 * themes/starfield/terminal_box_w.png: Likewise.
11993 * themes/starfield/theme.txt: Likewise.
11994
17d73325
VS
119952012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * util/grub.d/00_header.in: Add missing export theme.
11998
dbebaf92
VS
119992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12002 already included.
12003 Reported by: Eren D.
12004
3d68bffb
VS
120052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * conf/Makefile.common (grubdatadir): Removed.
12008 (Makefile.am): Move eveything grubdata to pkgdata.
12009
4b59234d
VS
120102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/commands/acpihalt.c (get_sleep_type):
12013 Remove unused variable.
12014
463dcadc
VS
120152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12018 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12019 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12020 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12021 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12022 i18n with gettext no-op.
12023 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12024 GRUB_ACPI_OPCODE_STRING_CONST.
12025 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12026 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12027
e5b90c82
VS
120282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * po/POTFILES.in: Regenerate.
12031
2a704ca9
VS
120322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12035 -Wno-error=missing-noreturn.
12036
84f9d341
VS
120372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12040 condition to avoid possibly infinite loops.
12041 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12042 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12043
d46683f9
VS
120442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12047 condition to avoid possibly infinite loops.
12048
c44866b2
VS
120492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12052 on show_error.
12053
96790539
VS
120542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12057
1ba7e295
VS
120582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12061
21ffe8f1
VS
120622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * util/bin2h.c (usage): Add missing attribute noreturn.
12065
0ccb6b3c
VS
120662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12069 if the size isn't divisible by 512.
12070
b00d7fb6
VS
120712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 Make list_push and list_remove functions rather than inline functions
12074 to decrease size and avoid aliasing violations.
12075
12076 * include/grub/list.h (grub_list_push): Move to ...
12077 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12078 * include/grub/list.h (grub_list_remove): Move to ...
12079 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12080
9d369087
VS
120812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12084 and -Wunused-result.
12085
af0250d9
VS
120862012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12089 Reported by: Seth Goldberg
12090
aad32b14
VS
120912012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12094
ac96441c
ST
120952012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12096
12097 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12098 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12099 command line.
12100 * docs/grub.texi (Simple configuration): Document
12101 GRUB_CMDLINE_GNUMACH.
12102
121032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12104
12105 * conf/Makefile.common (platform_SCRIPTS): New variable.
12106 (platform_PROGRAMS): Likewise.
12107 * gentpl.py: Mark *,module and *.image for install.
12108 * grub-core/gdb_grub.in: Add a notice of expected environment.
12109 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12110 (gmodule.pl): Likewise.
12111
ac96441c 121122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12113
12114 Replace grub_checkkey with grub_getkey_noblock.
12115
12116 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12117 (grub_getkey_noblock): ... this. All users updated.
12118
ac96441c 121192012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12120
12121 * grub-core/kern/emu/console.c: Move to ...
12122 * grub-core/term/emu/console.c: ...here.
12123 (grub_ncurses_getkey): Fix return value if no key is detected.
12124
e51b5666
VS
121252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12128 (grub_unit_test_fini): Likewise.
12129 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12130
121312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * include/grub/test.h (GRUB_UNIT_TEST)
12134
d9a62292
VS
121352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12138 Better error handling.
12139 (grub_script_return): Likewise.
12140 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12141
77c9182f
VS
121422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12145 rimplicit redifinition.
12146
edb13cf9
VS
121472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12150 GRUB.
12151
a9e9dc7c
VS
121522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12155 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12156 prompt here.
12157
b4ba8e02
VS
121582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12161 as GRUB_ERR_BUG. Don't malloc if no device is available.
12162
dded5540
VS
121632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12166 Mark calling with invalid term as GRUB_ERR_BUG.
12167
0cf69874
VS
121682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12171 packets rather than raising an error.
12172
59bfe502
VS
121732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12176 in if.
12177
db5fc596
VS
121782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12181 diagnostic to dprintf.
12182 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12183
e4b7f404
VS
121842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12187 device name.
12188
e7b02f9e
VS
121892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12192 (grub_ntfs_iterate_dir): Likewise.
12193
0331e102
VS
121942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 Efiemu stylistic fixes and gettext.
12197
12198 * grub-core/efiemu/i386/loadcore32.c
12199 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12200 * grub-core/efiemu/i386/loadcore64.c
12201 (grub_arch_efiemu_relocate_symbols64): Likewise.
12202 * grub-core/efiemu/i386/pc/cfgtables.c
12203 (grub_machine_efiemu_init_tables): Likewise.
12204 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12205 (grub_efiemu_loadcore_initXX): Add a filename argument.
12206 All users updated.
12207 Improved error message.
12208 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12209 Add a filename argument.
12210 All users updated.
12211 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12212 Reclassify double relocation as GRUB_ERR_BUG.
12213
306fc074
VS
122142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12217 handling.
12218
794d8ef2
VS
122192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12222 on partition.
12223
122242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12225
12226 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12227
794d8ef2 122282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12229
12230 Improve string. Gettextize.
12231
78dde88e
VS
122322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12235 utils.
12236 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12237
4786a90f
VS
122382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12241 [GRUB_UTIL]: New function.
12242 (insert_array) [GRUB_UTIL]: Store partmaps.
12243 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12244 partmaps.
12245 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12246 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12247 (probe_abstraction): Print diskfilter and not raid.
12248 Reported by: Lennart Sorensen
12249
0b6225bd
VS
122502012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12253 * util/grub-mkimagexx.c (MASK3): New define.
12254 (add_value_to_slot_20b): Use MASK3.
12255 (add_value_to_slot_21): Likewise.
12256 (relocate_addresses): Fix format specification.
12257 (load_image): Explicitly init symtab_section.
12258
b055f8f6
VS
122592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12262 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12263
b77c2fb7
VS
122642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12267 on powerpc.
12268 Reported by: Lennart Sorensen
12269
e3ec28ab
VS
122702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * gentpl.py: Add missing license header.
12273 * docs/grub.texi: Update copyright year.
12274
c8d9ead6
GS
122752012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12276
12277 Source grub-mkconfig_lib from the build directory at build time.
12278 Suggested by: Vladimir Serbinenko.
12279
12280 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12281 * util/grub-install.in: Define pkgdatadir if not already set, and source
12282 grub-mkconfig_lib from there.
12283 * util/grub-kbdcomp.in: Likewise.
12284 * util/grub-mkconfig.in: Likewise.
12285 * util/grub-mknetdir.in: Likewise.
12286 * util/grub-mkrescue.in: Likewise.
12287 * util/grub-mkstandalone.in: Likewise.
12288 * util/grub-reboot.in: Likewise.
12289 * util/grub-set-default.in: Likewise.
12290 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12291
ebcecdf1
VS
122922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 Increase warning level.
12295
12296 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12297 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12298 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12299 (TARGET_CFLAGS): Likewise.
12300 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12301 * grub-core/Makefile.core.def (decompressor_xz): Add
12302 -Wno-unreachable-code.
12303 (normal): Add -Wno-redundant-decls.
12304 (xzio): Add -Wno-unreachable-code.
12305 (lzopio): Add -Wno-redundant-decls -Wno-error.
12306 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12307 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12308 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12309 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12310 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12311 * grub-core/kern/i386/coreboot/init.c: Add exception to
12312 -Wsuggest-attribute=noreturn.
12313 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12314 * grub-core/kern/ia64/dl_helper.c: Likewise.
12315 * grub-core/kern/mips/dl.c: Likewise.
12316 * grub-core/kern/sparc64/dl.c: Likewise.
12317 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12318 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12319 (memcmp): Likewise.
12320 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12321 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12322 * grub-core/loader/mips/linux.c: Likewise.
12323 * grub-core/loader/multiboot_elfxx.c: Likewise.
12324 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12325 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12326 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12327 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12328 fixme.
12329 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12330 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12331 Fix prototype.
12332
37bb97fe
VS
123332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12336 address.
12337
29a3550b
VS
123382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12341 Avoid improper use of strings.
12342 (grub_cmd_legacy_initrdnounzip): Likewise.
12343
dfdffd0d
VS
123442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12347 attribute.
12348 (grub_util_info): Likewise.
12349 (grub_util_error): Likewise.
12350
102fae4a
VS
123512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12354 * util/grub-fstest.c (fstest): Likewise.
12355
7e94d044
VS
123562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12359 (grub_md_sha512_real): Likewise.
12360 (grub_util_get_geli_uuid): Likewise.
12361 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12362 (grub_util_biosdisk_open): Fix format specification.
12363 Respect format security.
12364 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12365 (xrealloc): Likewise.
12366 (xasprintf): Likewise.
12367
5ebd9769
VS
123682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * util/import_gcry.py: Include grub/crypto.h in init.c.
12371
495fc8c1
VS
123722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12375 (generate_image): Make prefix a const char *.
12376 Fix format specifications. Respect format security.
12377 Avoid void * arithmetics.
12378 Avoid shadowing.
12379 (argp_parser): Remove unused variable. Respect format security.
12380 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12381 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12382 (count_funcs): Remove unused variable.
12383 (relocate_addresses): Fix format specification.
12384 Disable x86-64 with elf32. Remove unused variables.
12385 (add_fixup_entry): Avoid shadowing.
12386 (make_reloc_section): Fix format specification.
12387 Use assert.
12388 (locate_sections): Fix format specifications.
12389 (load_image): Avoid shadowing.
12390
043c2ea3
VS
123912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12394 Fix format specifications. Respect format security.
12395 Don't translate already translated grub_errmsg.
12396 (argp_parser): Remove unused variable
12397
3ec65a81
VS
123982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12401
a4d9fe4a
VS
124022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12405 (main): Likewise. Use xmalloc. Respect format security.
12406
15b81d49
VS
124072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12410 a const char *.
12411 (argp_parser): Remove unused variable.
12412
31731fc0
VS
124132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12416 (add_pixel): Make static.
12417 (add_font): Likewise.
12418 (write_string_section): Make name and str a const char *.
12419 (write_be16_section): Make name a const char *.
12420 (print_glyphs): Make static.
12421 (write_font_ascii_bitmap): Likewise.
12422 (write_font_width_spec): Likewise.
12423 (write_font_pf2): Likewise.
12424 (argp_parser): Remove unused variable.
12425 Respect format security.
12426 (main): Avoid shadowing. Respect format security.
12427
0809527b
VS
124282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * util/grub-editenv.c (argp_parser): Make static.
12431 (create_envblk_file): Use xmalloc.
12432 (open_envblk_file): Likewise.
12433 Resepect format security.
12434 (set_variables): Respect format security.
12435
45b0c8b7
VS
124362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * util/getroot.c (grub_find_device): Respect format security.
12439 (get_mdadm_uuid): Remove unused variable.
12440 (grub_util_pull_device): Dont call gettext on already translated
12441 grub_errmsg.
12442 (find_system_device): Remove unused variable.
12443 (grub_util_get_grub_dev): Likewise.
12444 (grub_make_system_path_relative_to_its_root): Respect format security.
12445
1b024b4e
VS
124462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * util/grub-fstest.c (execute_command): Make first argument
12449 a const char *.
12450 (read_file): Avoid shadowing.
12451 Reuse underlying error message if device open fails.
12452 (cmd_cmp): Respect format security.
12453 (root): Make const char *.
12454 (fstest): Remove args argument and use global copy.
12455 Respect format security.
12456 (argp_parser): Make static.
12457 (main): Make default_root const char *.
12458
5d1d4e28
VS
124592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * util/grub-mount.c (root): Make const char *.
12462 (execute_command): Make first argument a const char *.
12463 (fuse_init): Respect format security.
12464 (argp_parser): Make static. Remove unused variable.
12465 (main): Make default_root a const char *.
12466 Respect format security.
12467
36eb7379
VS
124682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * util/grub-probe.c (probe): Don't call gettext on already translated
12471 grub_errmsg.
12472 Remove unused variables.
12473 (argp_parser): Remove unused variable.
12474
76fb2ea9
VS
124752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * util/grub-script-check.c (argp_parser): Remove unused variable.
12478 (main): Rename read to curread to avoid shadowing.
12479
56c98584
VS
124802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * util/misc.c (grub_util_write_image_at): Fix format specification.
12483 (grub_util_write_image): Likewise.
12484 (grub_script_execute_argument_to_string): Removed (unused).
12485 (grub_script_execute_menuentry): Likewise.
12486 (grub_putchar): Likewise.
12487
164ebb48
VS
124882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12491 (FUNCTION) [GRUB_UTIL]: Likewise.
12492 (VARIABLE) [GRUB_UTIL]: Likewise.
12493
44318d61
VS
124942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12497 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12498
31a26002
VS
124992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12502 buffer.
12503
125042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12507 (LzmaEnc_SaveState): Removed (unused).
12508 (LzmaEnc_RestoreState): Likewise.
12509 (LzmaEnc_InitPriceTables): Made static.
12510 (LzmaEnc_Construct): Likewise.
12511 (LzmaEnc_FreeLits): Likewise.
12512 (LzmaEnc_Destruct): Likewise.
12513 (LzmaEnc_Init): Likewise.
12514 (LzmaEnc_InitPrices): Likewise.
12515 (LzmaEnc_Finish): Likewise.
12516 (LzmaEnc_PrepareForLzma2): Removed (unused).
12517 (LzmaEnc_MemPrepare): Likewise.
12518 (LzmaEnc_GetNumAvailableBytes): Likewise.
12519 (LzmaEnc_GetCurBuf): Likewise.
12520 (LzmaEnc_CodeOneMemBlock): Likewise.
12521
6fa67967
VS
125222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12525 (grub_util_ldm_embed): Likewise.
12526
9a7428e6
VS
125272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/grub-editenv.c (print_var): Rename name to varname to
12530 avoid shadowing.
12531 (main): Rename index to curindex to avoid shadowing.
31a26002 12532 Make filename a const char *.
9a7428e6 12533
4f96abd1
VS
125342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12537 to arg_getline to avoid shadowing.
12538
44d10dad
VS
125392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12542 disk_ to avoid shadowing.
12543
340ba63e
VS
125442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12547 curindex to avoid shadowing.
12548 Make static.
12549 (MatchFinder_GetNumAvailableBytes): Make static.
12550
22965bce
VS
125512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12554 avoid shadowing.
12555
7b5784d4
VS
125562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12559 argument from encrypt to do_encrypt to avoid shadowing.
12560
6f48ca01
VS
125612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12564 incorrect nesting of #if's.
12565
a4ea2dff
VS
125662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12569 checks which are always false on some platforms.
12570 (grub_cmd_lsacpi): Likewise.
12571 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12572 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12573 Likewise.
12574
def9fc1b
VS
125752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12578 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12579
a67b2a04
VS
125802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12583 re_dfa_t to avoid breaking alignment invariants.
12584 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12585 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12586
44c6828d
VS
125872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12590 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12591
bebe0dd0
VS
125922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12595 Fix declaration.
12596
a9cdb3cf
VS
125972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12600 conserve alignment invariants.
12601 (grub_ehci_ehcc_read16): Likewise.
12602 (grub_ehci_oper_read32): Likewise.
12603 (grub_ehci_oper_write32): Likewise.
12604 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12605 Conserve alignment invariants.
12606
ccc3b1b8
VS
126072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12610 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12611 declarations.
12612
987fbd95
VS
126132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12616 Remove unused variable.
12617
0df363f3
VS
126182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12621 Remove set in if.
12622
b2c0c4a6
VS
126232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * include/grub/net.h: Remove double declarations.
12626
690c531f
VS
126272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 Remove "payload" command in ia64 Linux loader since I couldn't
12630 find any evidence of it being used for anything.
12631 Replace "relocate" command with an environment variable
12632
12633 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12634 fields.
12635 (ia64_boot_payload): Removed.
12636 (last_payload): Likewise.
12637 (RELOCATE_OFF): Likewise.
12638 (RELOCATE_ON): Likewise.
12639 (RELOCATE_FORCE): Likewise.
12640 (relocate): Likewise.
12641 (free_pages): Don't free payloads.
12642 (grub_load_elf64): Use common error messages.
12643 Use "linux_relocate" variable.
12644 Increase the space after boot_params.
12645 (grub_cmd_payload): Removed.
12646 (grub_cmd_relocate): Likewise.
12647 (grub_cmd_fpswa): Improve messages.
12648 (cmd_payload): Removed.
12649 (cmd_relocate): Likewise.
12650 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12651 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12652
01783768
VS
126532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Convert UHCI to DMA framework.
12656
12657 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12658 (grub_uhci_pci_iter): Fill new members
12659 (grub_alloc_td): Use P2V and V2P functions.
12660 (grub_free_queue): Likewise.
12661 (grub_alloc_qh): Likewise.
12662 (grub_uhci_setup_transfer): Likewise.
12663 (grub_uhci_check_transfer): Likewise.
12664
43206939
VS
126652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12668 Remove assignment in if while on it.
12669
571e140e
VS
126702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/grub-mkstandalone.in: Fix modules directory.
12673
a9d96eeb
VS
126742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12677 on i386-pc target.
12678 (argp_parser): Accept "auto" as compression specification.
12679
e4e37e8d
VS
126802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 Fix `help' with unloaded modules.
12683
12684 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12685 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12686 (grub_dyncmd_dispatcher): Small stylistic fix.
12687 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12688 explicit help is requested.
12689
e1ea3ade
VS
126902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12693 Explicitly init restart while on it.
12694
27556881
VS
126952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12698 uninited variable.
12699
d65f6b36
VS
127002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * util/grub-mknetdir.in: Use . rather than source for POSIX
12703 compatibility.
12704
0a1e473c
VS
127052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12708
ce6647c8
VS
127092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12712 variable.
12713
66747894
VS
127142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12717 without quotes.
12718
71645f6e
VS
127192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12722
0e1c1f61
VS
127232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12726 iteration of partitions.
12727
9c4b5c13
VS
127282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Improve gettext support. Stylistic fixes and error handling fixes while
12731 on it.
12732
215c90cb
VS
127332012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12736 part. Instead setup the correct stack in RM.
12737 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12738 for stack.
12739 * include/grub/i386/relocator_private.h: New file.
12740
b5c1f9bf
VS
127412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12744 argument.
12745 * util/grub-fstest.c (options): Add missing DEVICE part.
12746
b525fd83
VS
127472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 Clarify and unify messages.
12750
12751 * grub-core/commands/hashsum.c (options): Unify messages.
12752 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12753 literal-only message as translatable.
12754 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12755 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12756 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12757 commands.
12758 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12759 key, not the key used to unlock. Clarify what it's used for.
12760 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12761 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12762 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12763 * util/grub-editenv.c (options): Unify "verbose" message.
12764 * util/grub-fstest.c (read_file): Unify error message.
12765 (fstest): Add quotes around commands.
12766 (options): Unify "verbose" message.
12767 * util/grub-install.in: Add quotes around variable name.
12768 * util/grub-kbdcomp.in: Unify error message.
12769 * util/grub-mkfont.c (main): Likewise.
12770 * util/grub-mkrescue.in: Likewise.
12771 * util/grub-mklayout.c (options): Unify "verbose" message.
12772 * util/grub-mkstandalone.in: Unify help and verbose messages.
12773 * util/grub-mount.c (options): Unify "verbose" message.
12774 * util/grub-probe.c (options): Likewise.
12775 * util/grub-script-check.c (options): Likewise.
12776 * util/grub-setup.c (setup): Unify no-terminator message.
12777 (options): Use DEVICE and not DEV.
12778 Unify "verbose" message.
12779 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12780
0ae70393
VS
127812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 Improve and unify messages.
12784
12785 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12786 name. All users updated.
12787 Print filename in error.
12788 (read_device_map): Print filename in error.
12789 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12790 (grub_util_get_os_disk): Likewise.
12791 (grub_util_biosdisk_get_grub_dev): Likewise.
12792 (grub_util_check_block_device): Likewise.
12793 (grub_util_check_char_device): Likewise.
12794 (grub_make_system_path_relative_to_its_root): Likewise.
12795 * util/grub-editenv.c (create_envblk_file): Likewise.
12796 (open_envblk_file): Likewise.
12797 (write_envblk): Likewise.
12798 * util/grub-fstest.c (cmd_cp): Likewise.
12799 (cmd_cat): Likewise.
12800 (cmd_cmp): Likewise.
12801 * util/grub-menulst2cfg.c (main): Likewise.
12802 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12803 (write_font_width_spec): Likewise.
12804 (write_font_pf2): Likewise.
12805 * util/grub-mkimage.c (generate_image): New argument outname.
12806 All users updated.
12807 Remove unreacheable message.
12808 (options): Unify messages.
12809 (help_filter): Likewise.
12810 * util/grub-mklayout.c (usage): Removed (unused).
12811 (main): Print filename in error.
12812 * util/grub-mkrescue.in: Fix wrong quoting.
12813 * util/grub-setup.c (setup): Print filename in error.
12814 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12815 (check_sas): Likewise.
12816 * util/misc.c (grub_util_get_fp_size): Removed.
12817 (grub_util_get_image_size): Print filename in error.
12818 (grub_util_read_at): Removed.
12819 (grub_util_read_image): Print filename in error.
12820 (grub_util_load_image): Likewise.
12821 (grub_util_write_image_at): New argument filename. All users updated.
12822 Print filename in error.
12823 (grub_util_write_image): New argument filename. All users updated.
12824 Print filename in error.
12825 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12826 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12827
0a96117d
VS
128282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/Makefile.core.def (pxechain): New module.
12831 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12832 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12833 function.
12834 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12835 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12836
aca002f7
VS
128372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12840 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12841 * include/grub/err.h (grub_error_saved): New struct.
12842 (grub_errmsg): Make array size explicit.
12843 * include/grub/misc.h (grub_error_save): New function.
12844 (grub_error_load): Likewise.
12845 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12846 (grub_error_push): Update `errno' member name.
12847 (grub_error_pop): Likewise
12848 * grub-core/net/tftp.c (tftp_data): New member save_err.
12849 (tftp_receive): Save error.
12850 (tftp_open): Restore error.
12851
a51dab13
VS
128522012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12855 to real mode down to execute A20-related code in protected mode as
12856 intended.
12857
eb6e6649
GS
128582012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12859
12860 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12861 NULL when the argument `level' has an unexpected value.
12862
92cd0f6e
VS
128632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 Move platform-dependent files from $prefix to $prefix/$platform.
12866
12867 * config.h.in (GRUB_TARGET_CPU): New definition.
12868 (GRUB_PLATFORM): Likewise.
12869 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12870 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12871 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12872 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12873 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12874 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12875 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12876 * grub-core/normal/term.c (read_terminal_list): Likewise.
12877 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12878 $prefix/locale.
12879 (grub_gettext_init_ext): Likewise.
12880 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12881 grub_platform.
12882 * util/grub-install.in: Update directories.
12883 * util/grub-mknetdir.in: Likewise.
12884 * util/grub-mkrescue.in: Likewise.
12885
db606889
VS
128862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12889 grub_error framework. All users updated.
12890
c39992a4
VS
128912012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12894 lists (by always binsearching), improve caching (cache strings
12895 used for binsearch, not only results), improve
12896 maintainability (by using more structured binary search) and correct
12897 error handling.
12898
1e5ec32f
VS
128992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/script/execute.c (grub_script_return): Fix warning.
12902
ac576cde
VS
129032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * grub-core/script/execute.c (grub_script_return): Fix potential
12906 NULL-dereference.
12907 Reported by: Jim Meyering.
12908
498453f6
VS
129092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * po/POTFILES.in: Regenerate.
12912 * util/grub-install.in: Gettextize the strings missed in first pass.
12913
8be63f2e
VS
129142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * Makefile.util.def (grub-mkdevicemap): Removed.
12917 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12918 * include/grub/util/deviceiter.h: Removed.
12919 * util/deviceiter.c: Likewise.
12920 * util/getroot.c (grub_util_get_os_disk): New function.
12921 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12922 replacement for EFI.
12923 * util/grub-mkdevicemap.c: Removed.
12924 * util/grub-probe.c (probe): Handle PRINT_DISK.
12925 (argp_parser): Handle -t disk.
12926
8e1e4e39
VS
129272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * util/grub-mkfont.c: Migrate to argp.
12930 * util/grub-mklayout.c: Likewise.
12931 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12932 * util/grub-mkrelpath.c: Likewise.
12933 * util/grub-probe.c: Likewise.
12934 * util/grub-script-check.c: Likewise.
12935
4459819a
VS
129362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * util/grub-reboot.in: Add missing datarootdir.
12939 Add missing newline.
12940 * util/grub-set-default.in: Add missing datarootdir.
12941 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12942 * util/grub-mkrescue.in: Likewise.
12943
f65741c7
VS
129442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12947
c1a33466
VS
129482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * util/grub-kbdcomp.in: Add decent help and gettextize.
12951 * docs/man/grub-kbdcomp.h2m: New file.
12952
c76899a0
VS
129532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Migrate grub-mkimage.c to argp.
12956
12957 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12958 (grub-setup): Likewise.
12959 * util/grub-setup.c (print_version): Move to ...
12960 * util/argp_common.c (print_version): ... here.
12961 * util/grub-setup.c (argp_program_version_hook): Move to ...
12962 * util/argp_common.c (argp_program_version_hook): ... here.
12963 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12964 safety.
12965 * util/grub-mkimage.c (main): Migrate to argp.
12966
57db0757
VS
129672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * util/grub-mkrescue.in: Use same message as
12970 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12971 for better translations.
12972
18534ad9
VS
129732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12976 options with generic grub-mkrescue.in with the goal of future
12977 merge.
12978
c84ba308
VS
129792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/kern/mm.c: Add missing include of i18n.h
12982 * grub-core/lib/relocator.c: Likewise.
12983
347998c2
VS
129842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12987 error.
12988 (allocate_pages): Check return value.
12989 Replace fatal with error.
12990 (grub_linux_boot): Replace printf with dprintf.
12991 Check find_mmap_size return value.
12992 Replace fatal with error.
12993 Don't call grub_machine_fini.
12994 (grub_load_elf64): Replace printf with dprintf.
12995 (grub_cmd_linux): Likewise.
12996 (grub_cmd_initrd): Likewise.
12997 (grub_cmd_payload): Likewise.
12998
c779226e
VS
129992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13002 message.
13003 * grub-core/video/radeon_fuloong2e.c
13004 (grub_video_radeon_fuloong2e_setup): Likewise.
13005 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13006 * grub-core/video/video.c (grub_video_set_mode): Don't override
13007 standard out of memory message.
13008
dc87d45a
GS
130092012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13010
13011 NetBSD disk wedge support.
13012
13013 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13014 [__NetBSD__]: Handle NetBSD disk wedges.
13015 * util/getroot.c (convert_system_partition_to_system_disk)
13016 [__NetBSD__]: Likewise.
13017
055f856f
MW
130182012-02-03 Mark Wooding <mdw@distorted.org.uk>
13019
13020 * util/grub-mkconfig.in: Use umask rather than chmod to create
13021 grub.cfg.new to avoid insecure grub.cfg.
13022
4a9f8346
VS
130232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/commands/ls.c: Gettextize.
13026 * grub-core/commands/setpci.c: Likewise.
13027 * grub-core/commands/videotest.c: Likewise.
13028 * grub-core/disk/geli.c: Likewise.
13029 * grub-core/kern/mm.c: Likewise.
13030 * grub-core/lib/relocator.c: Likewise.
13031 * grub-core/loader/efi/appleloader.c: Likewise.
13032 * grub-core/loader/i386/xnu.c: Likewise.
13033 * grub-core/loader/ia64/efi/linux.c: Likewise.
13034 * grub-core/loader/xnu.c: Likewise.
13035 * grub-core/net/dns.c: Likewise.
13036 * grub-core/net/net.c: Likewise.
13037 * grub-core/script/lexer.c: Likewise.
13038 * grub-core/script/parser.y: Likewise.
13039 * grub-core/script/yylex.l: Likewise.
13040 * util/getroot.c: Likewise.
13041 * util/grub-setup.c: Likewise.
13042
a646a366
VS
130432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13046 number.
13047
54e2be26
VS
130482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13051
f7c71e68
VS
130522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13055 macro.
13056 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13057 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13058
a32d5c71
VS
130592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13062 * util/grub-install.in: Gettextize.
13063 * util/grub-mkconfig.in: Likewise.
13064 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13065 if not available.
13066 (grub_warn): Gettextize.
13067 * util/grub-mknetdir.in: Gettextize.
13068 * util/grub-mkrescue.in: Likewise.
13069 * util/grub-mkstandalone.in: Likewise.
13070 * util/grub-reboot.in: Likewise.
13071 * util/grub-set-default.in: Likewise.
13072 * util/grub.d/00_header.in: Likewise.
13073 * util/grub.d/10_hurd.in: Likewise.
13074 * util/grub.d/10_kfreebsd.in: Likewise.
13075 * util/grub.d/10_linux.in: Likewise.
13076 * util/grub.d/10_netbsd.in: Likewise.
13077 * util/grub.d/10_windows.in: Likewise.
13078 * util/grub.d/20_linux_xen.in: Likewise.
13079 * util/grub.d/30_os-prober.in: Likewise.
13080 * po/POTFILES-shell.in: Regenerate.
13081
69edd81a
RL
130822012-02-03 Richard Laager <rlaager@wiktel.com>
13083
13084 * util/grub-mkimage.c (main): Fix format-security warning.
13085 * util/grub-mkrelpath.c (main): Likewise.
13086 * util/grub-probe.c (main): Likewise.
13087
65f08dbf
RL
130882012-02-03 Richard Laager <rlaager@wiktel.com>
13089
13090 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13091 failure.
13092 Put back lost PRINT_DRIVE.
13093
e9084abe
RL
130942012-02-03 Richard Laager <rlaager@wiktel.com>
13095
13096 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13097 (grub_guess_root_devices): Replace strlen with sizeof.
13098 Avoid crash.
13099 (find_root_devices_from_poolname): Remove unused variable.
13100 Handle raidzN.
13101
cf5f7ee7
VS
131022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Support install on multi-device filesystems.
13105
13106 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13107 (grub_guess_root_devices): ...this. Return char **. All users updated.
13108 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13109 Removed.
13110 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13111 (find_root_devices_from_poolname): ... here.
13112 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13113 Support zfs-fuse.
13114 (grub_guess_root_device): Rename to ...
13115 (grub_guess_root_devices): ... this. Return char **. All users updated.
13116 * util/grub-install.in: Handle multi-device filesystems.
13117 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13118 argument. All users updated.
13119 Handle multi-device filesystems.
13120 Use 'delim' as separator.
13121 Remove device check to allow filesystems on file.
13122 (main): Support -0 argument. Handle multi-device.
13123 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13124 Fix a cross-device check while on it.
13125 (arguments): Remove root_dev.
13126 (argp_parser): Remove -r.
13127 (main): Remove root_dev.
13128
2f53a9ed
VS
131292012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13132
17e1d934
VS
131332012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13136 symbol.
13137 Reported by: NODA, Kai <nodakai>.
13138
d3e3fab5
VS
131392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 Fix ehci on amd64.
13142
13143 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13144 pointers.
13145 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13146 (grub_ehci_setup_qh): Likewise.
13147 (grub_ehci_find_qh): Likewise.
13148 (grub_ehci_transaction): Likewise.
13149 (grub_ehci_setup_transfer): Likewise.
13150 (grub_ehci_check_transfer): Likewise.
13151 (grub_ehci_portstatus): Likewise.
13152 (grub_ehci_detect_dev): Likewise.
13153 (grub_ehci_transfer_controller_data): New field td_last_phys.
13154 (grub_ehci_setup_transfer): Fill td_last_phys.
13155 (grub_ehci_check_transfer): Use td_last_phys.
13156
3008675b
SG
131572012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13158
13159 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13160 if no submenu is present.
13161
fc9b5652
AN
131622012-02-01 Aleš Nesrsta <starous@volny.cz>
13163
13164 CBI support.
13165
13166 * include/grub/usb.h (grub_usbms_protocol_t): New values
13167 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13168 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13169 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13170 (grub_usbms_dev): Add subclass, protocol and intrpt.
13171 Remove in_maxsz and out_maxsz.
13172 (grub_usbms_reset): Rename to ...
13173 (grub_usbms_bo_reset): .. this.
13174 (grub_usbms_cbi_cmd): New function.
13175 (grub_usbms_cbi_reset): Likewise.
13176 (grub_usbms_reset): Likewise.
13177 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13178 (grub_usbms_transfer): Rename to ...
13179 (grub_usbms_transfer_bo): ... this.
13180 (grub_usbms_transfer_cbi): Likewise.
13181 (grub_usbms_transfer): Likewise.
13182
a2b81d53
AN
131832012-02-01 Aleš Nesrsta <starous@volny.cz>
131842012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13187 the support for the CS5536 modification thereos and few bugfixes.
13188
13189 * grub-core/Makefile.core.def (ehci): New module.
13190 * grub-core/bus/usb/ehci.c: New file.
13191 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13192 port and hubaddr. All users updated.
13193 Save port and hubaddr into dev structure.
13194 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13195 define.
13196 * include/grub/pci.h (grub_dma_phys2virt): New function.
13197 (grub_dma_virt2phys): Likewise.
13198 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13199
b1d51f02
VS
132002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13203 check as some mkfs implementations omit it.
13204
fc694106
VS
132052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13208
6c0920e3
VS
132092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13212 Add new member volname2.
13213 (grub_jfs_label): Use volname2 if available.
13214
d1a46f9a
VS
132152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13218 over last_mounted as seen in image generated by mkfs.nilfs2.
13219 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13220
dec8ed14
VS
132212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13224 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13225 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13226
7397c69b
VS
132272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13230 over the sector.
13231
b3fe42ad
VS
132322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13235 subvolume name (by removing a bogus and useless check).
13236
10476bb0
VS
132372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13240 sizeof while on it.
13241
9c08ad87
VS
132422012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13245 (grub_scsi_read_capacity10): ... this.
13246 (grub_scsi_read_capacity16): New function.
13247 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13248 0xffffffff.
13249 Fix off-by-one error.
13250 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13251 64-bit unsigned.
13252 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13253 (grub_scsi_read_capacity10): ... this.
13254 (grub_scsi_read_capacity_data): Rename to ...
13255 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13256 (grub_scsi_read_capacity16): New struct.
13257 (grub_scsi_read_capacity16_data): Likewise.
13258 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13259 grub_scsi_cmd_read_capacity10.
13260 New command grub_scsi_cmd_read_capacity16.
13261
bc8d0f45
VS
132622012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 SCSI >2TiB support.
13265
13266 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13267 (grub_scsi_write16): Likewise.
13268 (grub_scsi_read): Use read16 when necessary.
13269 (grub_scsi_write): Likewise.
13270 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13271 (grub_scsi_write16): Likewise.
13272 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13273
cc774926
VS
132742012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 SCSI write support (for usbms mainly).
13277
13278 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13279 a const pointer.
13280 (grub_scsi_write): Implement.
13281 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13282
67639fd7
VS
132832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13286 variable.
13287
9079d3ed
VS
132882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13291
c6a6f204
VS
132922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * po/POTFILES.in: Regenerate.
13295
ecbf8cd1
VS
132962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13299 with grub_printf to avoid unnecessary fatal failure.
13300
0b3b3b38
VS
133012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13304 (INT_MAX): Likewise.
13305 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13306 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13307 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13308 (strcpy): Likewise.
13309 (strstr): Likewise.
13310 (strchr): Likewise.
13311 (strncpy): Likewise.
13312 (strcat): Likewise.
13313 (strncat): Likewise.
13314 (strcoll): Likewise.
13315 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13316 (GRUB_INT_MAX): Likewise.
13317
db7337a3
VS
133182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13321 unexpected error.
13322 (optimize_utf8): Likewise.
13323 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13324
f37c87e1
VS
133252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/boot/i386/pc/lnxboot.S: Use
13328 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13329 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13330 location.
13331 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13332 definition.
13333 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13334
63fe43f3
VS
133352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13338 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13339 now to avoid double free.
13340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13341 hostdisk.
13342 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13343 * util/grub-probe.c (escape_of_path): Always return a new copy.
13344 (print_full_name): Escape path.
13345 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13346 Fix hints on abstractions.
13347
ebe2c961
VS
133482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13351 Don't add "root" line if no compatibility hont is available.
13352 Suggested by: Seth Goldberg.
13353
2b5336a2
VS
133542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13357 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13358 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13359 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13360
74310bd8
VS
133612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13364
c30582ba
VS
133652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * util/grub-pe2elf.c (ehdr): Make static.
13368 (shdr): Likewise.
13369 (num_sections): Likewise.
13370 (offset): Likewise.
13371
5f47782c
VS
133722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 Eliminate ofpath limits and possible overflows.
13375
13376 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13377 (OF_PATH_MAX): Removed.
13378 (MAX_DISK_CAT): New const.
13379 (find_obppath): Use allocated rather than preallocated buffer.
13380 Return result. Argument of_path removed. All users updated.
13381 Add missing fdstat.
13382 (xrealpath): New function.
13383 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13384 Allocate rather than use preallocated buffer. All users updated.
13385 (__of_path_common): Use allocated rather than preallocatecd buffer.
13386 Return result. Argument of_path removed. All users updated.
13387 (vendor_is_ATA): Read only needed part form the file.
13388 (check_sas): Allocate depending on contents rather than fixed.
13389 (main) [STANDALONE]: Handle NULL result.
13390
f990cbf9
VS
133912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13394
9c6e84b8
VS
133952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 Cryptodisk write support.
13398
13399 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13400 (grub_cryptodisk_decrypt): Moved logic to ...
13401 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13402 (grub_cryptodisk_write): Implement.
13403 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13404 (grub_util_fd_write): ... this. Make global.
13405 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13406
87cf9744
VS
134072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * include/grub/list.h (grub_list_remove): Don't crash if element is
13410 removed twice.
13411
ca8c0baf
VS
134122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 Rename ofconsole to console.
13415
13416 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13417 as sysnonym to console.
13418 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13419 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13420 Rename grub_ofconsole_ to grub_console_. All users updated
13421 (grub_console_term_output): Rename "ofconsole" to "console".
13422 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13423 as "console".
13424
64c8b8f6
VS
134252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13428 handling.
13429 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13430 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13431 GRUB_DISK_DEVICE_FILE_ID.
13432
f6c434d5
VS
134332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13436 and improve performance.
13437
5858b42d
VS
134382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13441 missing ieee1275/ prefix on whole disk.
13442
4ed3c26b
VS
134432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13446 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13447
df71143e
VS
134482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13451
076e7c0f
VS
134522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 Merge common RAID and LVM logic to an abstract diskfilter.
13455 Add LDM support using the same framework.
13456
13457 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13458 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13459 (libgrubmods): Remove grub-core/disk/raid.c and
13460 grub-core/partmap/gpt.c.
13461 * grub-core/Makefile.core.def (ldm): New module.
13462 (raid): Renamed to diskfilter. All users updated.
13463 * grub-core/disk/raid.c: Moved to ...
13464 * grub-core/disk/diskfilter.c: ... here.
13465 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13466 (lv_num): New var.
13467 (find_array): Renamed to ...
13468 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13469 (grub_is_array_readable): Renamed to ...
13470 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13471 (insert_array): New argument id.
13472 (is_node_readable): New function.
13473 (scan_device): Rename to ...
13474 (scan_disk): .. this. Restrict to one disk.
13475 (scan_devices): New function.
13476 (grub_diskfilter_iterate): Support multi-LV.
13477 Skip invisible and nameless LVs.
13478 (grub_diskfilter_memberlist): Support multi-LV.
13479 (grub_diskfilter_read_node): New function.
13480 (grub_raid_read): Most of logic moved to ...
13481 (read_segment): ... here
13482 (read_lv): New function.
13483 (grub_diskfilter_get_vg_by_uuid): New function.
13484 (grub_diskfilter_make_raid): Likewise.
13485 * grub-core/disk/ldm.c: New file.
13486 * grub-core/disk/lvm.c (vg_list): Removed.
13487 (lv_count): Likewise.
13488 (scan_depth): Likewise.
13489 (is_lv_readable): Likewise.
13490 (grub_lvm_getvalue): Advance pointer past the number.
13491 (find_lv): Removed.
13492 (do_lvm_scan): Refactored into ...
13493 (grub_lvm_detect): ... this. Support raid.
13494 (grub_lvm_iterate): Removed.
13495 (grub_lvm_memberlist): Likewise.
13496 (grub_lvm_open): Likewise.
13497 (grub_lvm_close): Likewise.
13498 (read_lv): Likewise.
13499 (read_node): Likewise.
13500 (is_node_readable): Likewise.
13501 (is_lv_readable): Likewise.
13502 (grub_lvm_read): Likewise.
13503 (grub_lvm_write): Likewise.
13504 (grub_lvm_dev): Use diskfilter
13505 (GRUB_MOD_INIT): Likewise.
13506 (GRUB_MOD_FINI): Likewise.
13507 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13508 new interface.
13509 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13511 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13512 grub_diskfilter_read_node.
13513 Fix a bug with xor.
13514 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13515 grub_diskfilter_read_node.
13516 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13517 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13518 (grub_disk_dev_iterate): Move from here...
13519 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13520 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13521 Make global.
13522 (grub_hostdisk_find_partition_start): Likewise.
13523 (grub_hostdisk_os_dev_to_grub_drive): New function.
13524 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13525 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13526 * util/getroot.c (make_device_name): ... here.
13527 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13528 Move to ...
13529 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13530 * grub-core/kern/emu/hostdisk.c
13531 (convert_system_partition_to_system_disk): Move to ...
13532 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13533 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13534 * util/getroot.c (device_is_wholedisk): ... here.
13535 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13536 * util/getroot.c (find_system_device): ... here.
13537 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13538 Move to ...
13539 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13541 Move to ...
13542 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13543 Handle LDM.
13544 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13545 Move to ...
13546 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13547 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13548 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13549 DISKFILTER.
13550 * include/grub/raid.h: Renamed to ...
13551 * include/grub/diskfilter.h: ... this.
13552 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13553 (GRUB_RAID_LAYOUT_*): Make into array.
13554 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13555 (grub_diskfilter_vg): New struct.
13556 (grub_diskfilter_pv_id): Likewise.
13557 (grub_raid_member): Removed.
13558 (grub_raid_array): Likewise.
13559 (grub_diskfilter_pv): New struct.
13560 (grub_diskfilter_lv): Likewise.
13561 (grub_diskfilter_segment): Likewise.
13562 (grub_diskfilter_node): Likewise.
13563 (grub_diskfilter_get_vg_by_uuid): New proto.
13564 (grub_raid_register): Inline.
13565 (grub_diskfilter_unregister): Likewise.
13566 (grub_diskfilter_make_raid): New proto.
13567 (grub_diskfilter_vg_register): Likewise.
13568 (grub_diskfilter_read_node): Likewise.
13569 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13570 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13571 (grub_util_is_ldm): Likewise.
13572 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13573 (grub_hostdisk_find_partition_start): Likewise.
13574 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13575 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13576 New definition.
13577 (grub_gpt_partition_map_iterate): New proto.
13578 * include/grub/lvm.h (grub_lvm_vg): Removed.
13579 (grub_lvm_pv): Likewise.
13580 (grub_lvm_lv): Likewise.
13581 (grub_lvm_segment): Likewise.
13582 (grub_lvm_node): Likewise.
13583 * util/getroot.c [...]
13584 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13585 (probe_abstraction): Likewise.
13586 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13587 (main): Remove dead logic.
13588
8a7f9b9c
VS
135892012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 Simplify root device discover and don't fail when trying to open
13592 incorrect devices.
13593
13594 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13595 function.
13596 (get_diskname_from_path): Likewise.
13597 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13598 of iterating.
13599
30545b85
VS
136002012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13603
28ea58cf
VS
136042012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13607 pastthe end.
13608
692dabca
VS
136092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * util/grub-install.in: Add missing \.
13612 Reported by: gentoofan
13613
f6e4ea70
VS
136142012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13617 (direct_read): Use correct compressed size.
13618 (grub_squash_read_data): Likewise.
13619
136202012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13621
13622 * docs/grub.texi (Platform limitations): New section.
13623 (Platform-specific operations): Likewise.
13624 * docs/grub-dev.texi (Porting): Likewise.
13625
76261110
VS
136262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 IEEE1275 disk write support.
13629
13630 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13631 const void *.
13632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13633 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13634 and seek loginc to ...
13635 (grub_ofdisk_prepare): ... here.
13636 (grub_ofdisk_write): Implement.
13637
fc36d603
VS
136382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 ARC disk write support.
13641
13642 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13643 (reopen): New argument writable. All users updated.
13644 Handle required access mode.
13645 (grub_arcdisk_write): Implement.
13646 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13647 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13648
e06c2e7a
VS
136492012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13652 (read_sblock): Don't attempt to read superblocks outside the disk size.
13653
ff447958
VS
136542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13657 first superblock to find the second one when possible.
13658
9e88df39
VS
136592012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * util/grub-install.in: Fix an ARC bug.
13662 Print a warning if no platform-specific setup is available.
13663
bb26e4ff
VS
136642012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 Use static allocation rather than scratch pointer in reed_solomon.
13667 It decreases its size significantly and avoids a variable in .text.
13668
13669 * grub-core/lib/reed_solomon.c (scratch): Removed.
13670 (chosenstat): New const or static array.
13671 (sigma): Likewise.
13672 (errpot): Likewise.
13673 (errpos): Likewise.
13674 (sy): Likewise.
13675 (mstat): Likewise.
13676 (errvals): Likewise.
13677 (eqstat): Likewise.
13678 (pol_evaluate): Replace x with log_x argument. All users updated.
13679 (syndroms): Removed.
13680 (gauss_solve): Use statically allocated arrays.
13681 (rs_recover): Likewise.
13682 Calculate syndroms directly.
13683 (decode_block): Use statically allocated arrays.
13684 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13685 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13686
2e13ede5
VS
136872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 Eliminate fixed limit on reed solomon decoder length.
13690
13691 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13692 rather than hardcoding the address.
13693 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13694 no_reed_solomon_length.
13695 Move gate_a20 to no-reed-solomon part.
13696 Don't force a particular size of no reed-solomon part.
13697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13698 Removed.
13699 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13700 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13701
f8a9ab12
VS
137022012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/commands/wildcard.c (match_files): Handle filenames
13705 without explicit device.
13706 (wildcard_expand): Don't add explicit device if not already present.
13707 * tests/grub_script_echo1.in: Add a new expansion test.
13708
87edb894
VS
137092012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Replace single-linked with double-linked lists. It results in more
13712 compact and more efficient code.
13713
13714 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13715 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13716 (grub_list_remove): Moved from here ...
13717 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13718 (grub_prio_list_insert): Set prev.
13719 * include/grub/list.h (grub_list): Add prev. All users updated.
13720
48b391e9
VS
137212012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Handle newer autotools. Add some missing quotes while on it.
13724
13725 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13726 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13727 (pkgdata_DATA): ... here.
13728 * Makefile.util.def (update-grub_lib): Removed.
13729 * conf/Makefile.common (pkglib_DATA): Removed.
13730 (pkglib_SCRIPTS): Likewise.
13731 (pkgdata_DATA): New variable.
13732 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13733 needed.
13734 Add missing quotes.
13735 Remove unused variable while on it.
13736 * tests/util/grub-shell.in: Likewise.
13737 * util/grub-install.in: Likewise.
13738 * util/grub-mkconfig.in: Likewise.
13739 * util/grub-mknetdir.in: Likewise.
13740 * util/grub-mkrescue.in: Likewise.
13741 * util/grub-mkstandalone.in: Likewise.
13742 * util/grub.d/00_header.in: Likewise.
13743 * util/grub.d/10_hurd.in: Likewise.
13744 * util/grub.d/10_illumos.in: Likewise.
13745 * util/grub.d/10_kfreebsd.in: Likewise.
13746 * util/grub.d/10_linux.in: Likewise.
13747 * util/grub.d/10_netbsd.in: Likewise.
13748 * util/grub.d/10_windows.in: Likewise.
13749 * util/grub.d/20_linux_xen.in: Likewise.
13750 * util/grub.d/30_os-prober.in: Likewise.
13751 * util/update-grub_lib.in: Removed.
13752
137532012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13754
13755 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13756 a workaround for intel problem.
13757
66832792
PRP
137582012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
137592012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
137602012-01-23 pfsmorigo
13761
13762 * util/grub-install.in: Support dd'in into PreP partition.
13763 * util/grub-probe.c (probe): Support discovering partition type.
13764 (main): Support -t msdos_parttype.
13765
7816a17e
VS
137662012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13769 infinite recursion using counter.
13770 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13771 init to skip it if the magic check fails.
13772 (dec_stream_header): Init s->crc32.
13773
8f9d3a8c
ZB
137742012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
137752012-01-22 Zachary Bedell <pendorbound@gmail.com>
137762012-01-22 Richard Laager <rlaager@wiktel.com>
13777
13778 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13779 All users updated.
13780 (find_bestub): Determine correct size.
13781 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13782 (scan_disk): Align the size down.
13783 Call check pool before find_bestub to have ashift.
13784
b055dd32
VS
137852012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13788 dprintf in no-malloc zone.
13789
d779e9bd
ML
137902012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13791
13792 * configure.ac: Add back in test for limits.h.
13793
b508af69
VS
137942012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 Support 4K-sector NTFS.
13797
13798 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13799 (grub_ntfs_data): Remove blocksize.
13800 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13801 Remove data argument. All users updated.
13802
dad9c8b5
VS
138032012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13806 being in .text to avoid dprel references.
13807 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13808 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13809 (grub_arch_highmemsize): Likewise.
13810 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13811 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13812 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13813
d43a777e
VS
138142012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13817
13818 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13819 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13820
34e4208f
VS
138212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13824 GRUB_UTIL.
13825 (grub_set_datetime_cmos): Likewise.
13826
3ec0fc1c
VS
138272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Make XZ compression parameters dependent on target and not host CPU.
13830
13831 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13832 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13833
22489834
VS
138342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13837 set but not used variable.
13838
8502fbca
VS
138392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13842 created when no uuid support is compiled into mkfs.reiser.
13843
76df2068
VS
138442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13847 (utf8_to_macroman): Do the opposite.
13848 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13849
64e3f8f6
VS
138502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * configure.ac: Refise build qemu_mips w/o unifont.
13853
9c271078
VS
138542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 Eliminate grub_min/grub_max prone to overflow usage.
13857
13858 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13859 (poll_nonroot_hub): Likewise.
13860 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13861 (grub_affs_label): Likewise.
13862 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13863 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13864 (grub_hfs_label): Likewise.
13865 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13866 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13867 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13868 (zap_leaf_array_get): Likewise.
13869 (dnode_get_path): Likewise.
13870 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13871 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13872 * grub-core/script/execute.c (grub_script_break): Likewise.
13873 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13874 grub_max.
13875 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13876 * include/grub/misc.h (grub_min): Removed.
13877 (grub_max): Likewise.
13878
80662dbc
VS
138792012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13880
13881 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13882 direct.inode = 0.
13883
e6da1467
VS
138842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13887
b1ac4cb1
VS
138882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13891
b4bf7c3b
VS
138922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13895 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13896
8ee1101a
VS
138972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13900 rather than a hack for grub_strncasemap.
13901
139022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 Support multiple initrds
13905 Note: part of this was accidently committed in r3739.
13906
13907 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13908 initrd.
13909 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13910 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13911 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13912 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13913 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13914
4d1e2bc9
VS
139152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13918 disks with unknown size.
13919 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13920
75b49ebe
VS
139212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 Remove defines pertaining to arbitrary limits not affecting GRUB
13924 anymore.
13925
13926 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13927 (EXT2_MAX_SYMLINKCNT): Likewise.
13928 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13929 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13930 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13931 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13932 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13933 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13934 (DN_MAX_OBJECT_SHIFT): Likewise.
13935 (DN_MAX_OFFSET_SHIFT): Likewise.
13936 (DN_MAX_OBJECT): Likewise.
13937 (DNODES_PER_LEVEL_SHIFT): Likewise.
13938 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13939 (SPA_MAXBLOCKSIZE): Likewise.
13940 (SPA_BLOCKSIZES): Likewise.
13941 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13942 (MZAP_MAX_BLKSZ): Likewise.
13943
74a1dce7
VS
139442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13947 handle NULL appropriately.
13948 Remove MIN.
13949
30c7d3ce
VS
139502012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 Fix efiemu.
13953
13954 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13955 cpu/types.h.
13956 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13957 * configure.ac: Fix efiemu check.
13958
3c76ea0c
VS
139592012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13962 grub_probe.
13963 Reported by: adamwill
13964
7e532280
SG
139652012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13966
13967 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13968
30492374
VS
139692012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Fix handling of wide characters in gfxterm.
13972
13973 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13974 (clear_char): Likewise.
13975 (paint_char): Skip code == NULL chars.
13976 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13977
e70cb72f
VS
139782012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * grub-core/normal/charset.c: Move comment to right place.
13981
5c827cf9
VS
139822012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13985 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13986 (grub_affs_mount): Revert the correct version checking.
13987
53603892
VS
139882012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * docs/grub.texi (Unicode): Mention several other unsupported features.
13991
ff094b9b
VS
139922011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13995 case statements as compile-time one.
13996 (direct_read): Prevent spurious warnings.
13997 (grub_squash_read_data): Likewise.
13998
c029da8a
VS
139992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Various squash4 fixes and LZO and XZ support.
14002
14003 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14004 Add xzembed source files.
14005 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14006 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14007 (grub_squash_inode): New subtype long_dir.
14008 (SQUASH_TYPE_LONG_DIR): New inode type.
14009 (COMPRESSION): New enum.
14010 (XZBUFSIZ): New const.
14011 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14012 (read_chunk): Use data->decompress.
14013 (zlib_decompress): New function.
14014 (lzo_decompress): Likewise.
14015 (xz_decompress): Likewise.
14016 (squash_mount): Set new data fields.
14017 (grub_squash_iterate_dir): Handle long dir.
14018 (squash_unmount): Free xzdec and xzbuf.
14019 (grub_squash_open): Check ino type.
14020 (direct_read): Stylistic fixes. Use data->decompress.
14021 (grub_squash_read_data): Likewise.
14022 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14023 (get_byte): Likewise.
14024 (grub_zlib_disk_read): Removed.
14025 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14026 (GRUB_POSIX_BOOL_DEFINED): New define.
14027 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14028 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14029 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14030 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14031
7a45a539
VS
140322011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 Don't override more informative errors.
14035
14036 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14037 * grub-core/font/font.c (open_section): Likewise.
14038 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14039 filename. Don't override errors.
14040 (grub_cmd_openbsd_ramdisk): Don't override errors.
14041 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14042 (grub_cmd_initrd): Likewise.
14043 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14044 (grub_cmd_initrd): Likewise.
14045 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14046 (grub_cmd_linux): Likewise.
14047 (grub_cmd_initrd): Likewise.
14048 (grub_cmd_payload): Likewise.
14049 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14050 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14051 (grub_cmd_module): Likewise.
14052 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14053 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14054 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14055 (grub_cmd_xnu_mkext): Likewise.
14056 (grub_cmd_xnu_ramdisk): Likewise.
14057 (grub_xnu_check_os_bundle_required): Likewise.
14058 (grub_xnu_load_kext_from_dir): Likewise.
14059 (grub_cmd_xnu_kextdir): Likewise.
14060 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14061
b2d004db
VS
140622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14065 as 1024 in block size field. Found on one of my test images.
14066 Small optimisation while on it.
14067
ec000eac
VS
140682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14071 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14072 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14073 performance fixes while on it.
14074 (grub_sfs_close): Fix memory leak while on it.
14075 (grub_sfs_label): Convert Latin1 to UTF-8.
14076
f50e1165
VS
140772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14080 space to avoid overflows.
14081 (grub_hfs_label): Convert from macroman to UTF-8.
14082
2ae254de
VS
140832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14086
0108f491
VS
140872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14090
f45f5f89
VS
140912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * unicode: Import Unicode 6.0 data.
14094
4d8c4765
VS
140952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14096
63fa8ef9
VS
14097 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14098 outside of range.
14099
141002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14103
14104 * include/grub/charset.h (grub_getend): New function.
14105 * grub-core/script/function.c (grub_script_function_find): Use
14106 grub_getend.
14107 * grub-core/normal/completion.c (add_completion): Likewise.
14108
f3cb4a4e
VS
141092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14112 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14113 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14114 (GRUB_UNICODE_TAG_END): Likewise.
14115 (GRUB_UNICODE_LAST_VALID): Likewise.
14116
5da8dbc5
VS
141172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14120 len and make it smaller. All users updated.
14121 * util/import_unicode.py: Put length and not end character.
14122 Check length.
14123
8569f13d
VS
141242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 Make better Unicode-compliant and unify some UTF-8 code pathes.
14127
14128 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14129 valid character.
14130 (grub_is_valid_utf8): Use grub_utf8_process.
14131 Check resulting code range.
14132 (grub_utf8_to_ucs4): Use grub_utf8_process.
14133 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14134 valid character.
14135
cc4fddf5
VS
141362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14137
14138 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14139
bbc47747
VS
141402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * docs/grub.texi (Filesystems): Mention AFS.
14143
f63d6bf4
VS
141442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * docs/grub.texi (Filesystems): Clarify restrictions.
14147 (Regexp): Mention non-Unicode regexp behaviour.
14148 (Other): Mention non-Unicode matching behaviour.
14149
74bbf0db
VS
141502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14151
f63d6bf4 14152 Make HFS implementation use MacRoman.
74bbf0db
VS
14153
14154 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14155 (macroman): New const array.
14156 (macroman_to_utf8): New function.
14157 (utf8_to_macroman): Likewise.
14158 (grub_hfs_find_dir): Use utf8_to_macroman.
14159 (grub_hfs_dir): Use macroman_to_utf8.
14160 Set case_insensitive.
14161
4ea0316e
VS
141622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14165
d3c13cbd
VS
141662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 Integrate hints into autogeneration scripts.
14169
14170 * docs/grub.texi (Filesystems): Add a hostdisk example.
14171 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14172 (grub-probe): Add ofpath.
14173 * gentpl.py: Remove group nosparc64.
14174 * grub-core/commands/search.c (cache_entry): New struct.
14175 (cache): New var.
14176 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14177 * grub-core/commands/search_wrap.c (options): Add platform-specific
14178 hint options.
14179 (grub_cmd_search): Handle platform-specific hints.
14180 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14181 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14182 (grub_util_biosdisk_data): Likewise.
14183 (grub_util_biosdisk_open): Set device_map.
14184 (read_device_map): Handle "" as indication of no map.
14185 Set device_map.
14186 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14187 (grub_util_biosdisk_get_compatibility_hint): New function.
14188 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14189 * include/grub/emu/hostdisk.h
14190 (grub_util_biosdisk_get_compatibility_hint): New proto.
14191 * util/grub-install.in: Don't call grub-mkdevicemap.
14192 Add platform-specific hint to load.cfg.
14193 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14195 hints. Set root preliminary to compatibility hint, not to OS name.
14196 * util/grub-probe.c (PRINT_*): Add hints.
14197 (print): Make static.
14198 (escape_of_path): New function.
14199 (guess_bios_drive): Likewise.
14200 (guess_efi_drive): Likewise.
14201 (guess_baremetal_drive): Likewise.
14202 (print_full_name): Likewise.
14203 (probe): Handle hints.
14204 (main): Likewise.
14205 * util/ieee1275/devicemap.c: Removed.
14206 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14207 updated.
14208 (grub_util_devname_to_ofpath): Return NULL on failure.
14209
14210 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14211 resource leak.
14212 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14213
14214 * po/POTFILES.in: Regenerated.
14215
14216 Allow purely long options
14217
14218 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14219 (SHORT_ARG_USAGE): Likewise.
14220 (grub_arg_show_help): Compare opt with help_options.
14221 (parse_option): Receive opt as argument. If makes big simplificatons.
14222 All users updated
14223
00ce2df3
VS
142242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14227 Restructure to avoid warning.
14228
e77e325f
VS
142292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * util/grub-install.in: Account for possible escaped comma in device
14232 name.
14233
165099ea
VS
142342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14237 channel.
14238
ce4a999d
VS
142392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14242 allocation and zero-setting.
14243 (grub_ieee1275_get_devname): Check that alias is complete.
14244
379586ad
VS
142452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14248 unaligned segments.
14249
9197b0ad
VS
142502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14253 prefix.
14254 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14255 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14256 Add ieee1275 prefix.
14257
edddb7f9
VS
142582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * docs/grub.texi (Filesystems): Update.
14261
a1a8b1b9
VS
142622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 Support odc, newc and bigendian cpio formats.
14265
14266 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14267 * grub-core/Makefile.core.def (newc): New module.
14268 (odc): Likewise.
14269 (cpio_be): Likewise.
14270 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14271 (MAGIC): Likewise.
14272 (MAGIC2): Likewise.
14273 (head) [MODE_ODC]: Adapt for the format.
14274 (head) [MODE_NEWC]: Likewise.
14275 (head) [!MODE_*]: Write fields of interest as arrays.
14276 (MAGIC_USTAR): Removed.
14277 (read_number) [MODE_NEWC]: Change to hex.
14278 (read_number) [!MODE_*]: Parse binary arrays.
14279 (grub_cpio_find_file): Factor out the code for better structure and
14280 always use read_number.
14281 (grub_cpio_mount): Use MAGIC and MAGIC2.
14282 (grub_cpio_dir): Exit on first hook non-0 return.
14283 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14284 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14285 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14286 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14287 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14288 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14289 * grub-core/fs/newc.c: New file.
14290 * grub-core/fs/odc.c: Likewise.
14291 * grub-core/fs/cpio_be.c: Likewise.
14292
58eba9ee
VS
142932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 Fix handling of tar numbers occupying the whole field.
14296
14297 * grub-core/fs/cpio.c (read_number): New function.
14298 (grub_cpio_find_file): Use read_number instead of strtoull.
14299
a54a0e12
VS
143002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14303 occupying the whole field size.
14304
a6120aca
LA
143052011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14306
14307 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14308
a93964ce
VS
143092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14312
3ea1ca46
SG
143132011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14314
14315 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14316 TARGET_IMG_LDFLAGS.
14317
b87f7ef2
VS
143182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14321 (mountinfo_entry): Increase the field size to take escaping into
14322 account.
14323 (find_root_device_from_libzfs): Add one byte to size of strings for
14324 security.
14325
62092395
VS
143262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14329 an assert.
14330 * util/grub-setup.c (setup): Likewise.
14331
1f0b1a77
VS
143322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14335 _LzmaDecodeA.
14336
8eba9997
VS
143372011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * docs/grub.texi (Internationalisation): New section.
14340
dd0c91e9
VS
143412011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * docs/grub.texi (Loopback booting): New section.
14344
143452011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14346
14347 * util/grub-mkstandalone.in: Fix minor typo errors.
14348
198e150a
VS
143492011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14352
14353 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14354 net/icmp.c and net/icmp6.c.
14355 (http): New module.
14356 (priority_queue): Likewise.
14357 * grub-core/io/bufio.c: Rewritten.
14358 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14359 TYPE_WITH_CONFIGFILE_OPTION.
14360 (legacy_commands): Add bootp and dhcp.
14361 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14362 (grub_legacy_parse): Likewise.
14363 * grub-core/lib/priority_queue.c: New file.
14364 * grub-core/net/arp.c: Add missing license header.
14365 (arp_find_entry): Removed.
14366 (arp_find_entry): Likewise.
14367 (grub_net_arp_resolve): Rename to ...
14368 (grub_net_arp_send_request): ...this.
14369 (grub_net_arp_receive): New card argument.
14370 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14371 Set router and DNS server.
14372 (grub_net_configure_by_dhcp_ack): Handle routing information.
14373 (grub_cmd_bootp): Set checksum.
14374 (grub_bootp_init): Remove net_dhcp.
14375 * grub-core/net/dns.c: New file.
14376 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14377 completion.
14378 (get_card_packet): Handle allocation.
14379 (grub_efinet_findcards): Set mtu.
14380 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14381 (get_card_packet): Handle allocation.
14382 (emucard): Set mtu.
14383 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14384 (GRUB_MOD_INIT): Set mtu.
14385 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14386 mtu.
14387 (get_card_packet): Handle allocation.
14388 (grub_ofnet_findcards): Set mtu.
14389 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14390 assert.
14391 (grub_net_recv_ethernet_packet): Handle IPv6.
14392 * grub-core/net/http.c: New file.
14393 * grub-core/net/icmp.c: Likewise.
14394 * grub-core/net/icmp6.c: Likewise.
14395 * grub-core/net/ip.c (ip6addr): New type.
14396 (ip6hdr): Likewise.
14397 (reassemble): Likewise.
14398 (cmp): New function.
14399 (reassembles): New variable.
14400 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14401 (id): New variable.
14402 (send_fragmented): New function.
14403 (grub_net_send_ip_packet): Rename to ...
14404 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14405 Handle non-UDP.
14406 (grub_net_recv_ip_packets): Rename to ...
14407 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14408 (free_rsm): New function.
14409 (free_old_fragments): Likewise.
14410 (grub_net_recv_ip4_packets): New function.
14411 (grub_net_send_ip6_packet): Likewise.
14412 (grub_net_send_ip_packet): Likewise.
14413 (grub_net_recv_ip6_packets): Likewise.
14414 (grub_net_recv_ip_packets): Likewise.
14415 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14416 (LINK_LAYER_CACHE_SIZE): New const.
14417 (link_layer_find_entry): New function.
14418 (grub_net_link_layer_add_address): Likewise.
14419 (grub_net_link_layer_resolve_check): Likewise.
14420 (grub_net_link_layer_resolve): Likewise.
14421 (grub_net_ipv6_get_slaac): Likewise.
14422 (grub_net_ipv6_get_link_local): Likewise.
14423 (grub_cmd_ipv6_autoconf): Likewise.
14424 (parse_ip): Handle one number representation.
14425 (parse_ip6): New functoion.
14426 (match_net): Handle IPv6.
14427 (grub_net_resolve_address): Handle IPv6 and DNS.
14428 (grub_net_resolve_net_address): Handle IPv6.
14429 (route_cmp): New function.
14430 (grub_net_route_address): Find best route.
14431 (grub_net_addr_to_str): Handle IPv6.
14432 (grub_net_addr_cmp): New function.
14433 (grub_net_add_addr): Register local route.
14434 (print_net_address): Handle net address.
14435 (grub_net_poll_cards): Retransmit TCP.
14436 (grub_net_poll_cards_idle_real): Likewise.
14437 (have_ahead): New function.
14438 (grub_net_seek_real): Use underlying seek.
14439 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14440 * grub-core/net/tcp.c: New file.
14441 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14442 (cmp): New function.
14443 (ack): Likewise.
14444 (tftp_receive): Handle unordered input.
14445 (destroy_pq): New function.
14446 (tftp_close): Close pq.
14447 * grub-core/net/udp.c: Put missing license header.
14448 (grub_net_udp_socket): New function.
14449 (udp_socket_register): Likewise.
14450 (grub_net_udp_close): Likewise.
14451 (grub_net_recv_udp_packet): Check checksum.
14452 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14453 * include/grub/misc.h (grub_memchr): New function.
14454 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14455 (grub_net_card_driver): Return buf in recv.
14456 (grub_net_slaac_mac_list): New struct.
14457 (grub_network_level_protocol_id): Add ipv6.
14458 (grub_net_network_level_addr): Likewise.
14459 (grub_net_network_level_net_addr): Likewise.
14460 (grub_net_app_protocol): Add seek.
14461 (grub_net_socket): Removed.
14462 (grub_net_sockets): Likewise.
14463 (grub_net_socket_register): Likewise.
14464 (grub_net_socket_unregister): Likewise.
14465 (FOR_NET_SOCKETS): Likewise.
14466 (grub_net_add_addr): Add const.
14467 (GRUB_NET_BOOTP_*): New enum.
14468 (grub_net_addr_cmp): New proto.
14469 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14470 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14471 (grub_net_hwaddr_to_str): NEw proto.
14472 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14473 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14474 (grub_dns_init): New proto.
14475 (grub_dns_fini): Likewise.
14476 (grub_net_tcp_retransmit): Likewise.
14477 (grub_net_link_layer_add_address): Likewise.
14478 (grub_net_link_layer_resolve_check): Likewise.
14479 (grub_net_link_layer_resolve): Likewise.
14480 (grub_net_dns_lookup): Likewise.
14481 (grub_net_add_dns_server): Likewise.
14482 (grub_net_remove_dns_server): Likewise.
14483 (GRUB_NET_TRIES): New const.
14484 (GRUB_NET_INTERVAL): Likewise.
14485 * include/grub/net/arp.h: Mostly rewritten.
14486 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14487 * include/grub/net/ip.h: Mostly rewritten.
14488 * include/grub/net/netbuff.h: Indent.
14489 * include/grub/net/tcp.h: New file.
14490 * include/grub/net/udp.h: Mostly rewritten.
14491 * include/grub/priority_queue.h: New file.
14492 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14493 (grub_swap_bytes64_compile_time): Likewise.
14494 (grub_cpu_to_be16_compile_time): Likewise.
14495 (grub_cpu_to_be32_compile_time): Likewise.
14496 (grub_cpu_to_be64_compile_time): Likewise.
14497 (grub_be_to_cpu64_compile_time): Likewise.
14498
215c1800
VS
144992011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14502 UINT_TO_PTR with cast.
14503
c17e546c
VS
145042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14507 don't use them.
14508
ff6b18b6
VS
145092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14512 already there.
14513
70ffcc93
VS
145142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14517 confusing ipxe.
14518
e5f4d260
VS
145192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14522 Add missing const attribute.
14523 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14524 Likewise.
14525 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14526 Likewise.
14527
8e54b4b7
VS
145282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14531 misaligned access.
14532 (serpent_setkey): Likewise.
14533 (serpent_encrypt_internal): Likewise.
14534 (serpent_decrypt_internal): Likewise.
14535 (serpent_encrypt): Don't put an alignment-increasing cast.
14536 (serpent_decrypt): Likewise.
14537 (serpent_test): Likewise.
14538
813c0a2b
VS
145392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14542
f2b60fbd
VS
145432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14546
14547 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14548 grub_addr_t casts.
14549 (PTR_TO_UINT64): Likewise.
14550 (PTR_TO_UINT32): Likewise.
14551
5ef5c511
VS
145522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14555 because of stack.
14556 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14557 limit.
14558
c476e6df
VS
145592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14562 text_width > available width a bit more gracefully.
14563
384ad7cc
VS
145642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14567 current address calculation.
14568
96f8caf8
VS
145692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14572 stack.
14573 (encode_block): Likewise.
14574
276b7a8b
VS
145752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14578 certainety.
14579
e3fd394a
VS
145802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14583 non-RS part to avoid RS messing with GDT.
14584 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14585 Increase to suit in realmode routines.
14586
145872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * grub-core/kern/i386/realmode.S: Increase alignment.
14590 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14591
ee9c2e7a
VS
145922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14595 be deterministic.
14596 (syndroms): Compute 0 syndrom.
14597 (rs_recover): Use 0 syndrom.
14598
7a7f7cc9
VS
145992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14602
a14b16d1
VS
146032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14606 brackets.
14607
9f59e9fc
VS
146082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14609
ca1b552c
VS
14610 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14611 account.
14612 (get_top_pad): Likewise.
14613 (get_right_pad): Likewise.
14614 (get_bottom_pad): Likewise.
14615
146162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14619
e739d698
VS
146202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14623 attribute as the structure isn't guaranteed to be properly aligned.
14624 (grub_efi_pci_device_path): Likewise.
14625 (grub_efi_pccard_device_path): Likewise.
14626 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14627 specify the size of `memory_type'.
14628 (grub_efi_vendor_device_path): Likewise.
14629 (grub_efi_controller_device_path): Likewise.
14630 (grub_efi_acpi_device_path): Likewise.
14631 (grub_efi_expanded_acpi_device_path): Likewise.
14632 (grub_efi_atapi_device_path): Likewise.
14633 (grub_efi_scsi_device_path): Likewise.
14634 (grub_efi_fibre_channel_device_path): Likewise.
14635 (grub_efi_1394_device_path): Likewise.
14636 (grub_efi_usb_device_path): Likewise.
14637 (grub_efi_usb_class_device_path): Likewise.
14638 (grub_efi_i2o_device_path): Likewise.
14639 (grub_efi_mac_address_device_path): Likewise.
14640 (grub_efi_ipv4_device_path): Likewise.
14641 (grub_efi_ipv6_device_path): Likewise.
14642 (grub_efi_infiniband_device_path): Likewise.
14643 (grub_efi_uart_device_path): Likewise.
14644 (grub_efi_vendor_messaging_device_path): Likewise.
14645 (grub_efi_hard_drive_device_path): Likewise.
14646 (grub_efi_cdrom_device_path): Likewise.
14647 (grub_efi_vendor_media_device_path): Likewise.
14648 (grub_efi_file_path_device_path): Likewise.
14649 (grub_efi_protocol_device_path): Likewise.
14650 (grub_efi_piwg_device_path): Likewise.
14651 (grub_efi_bios_device_path): Likewise.
14652
cb8f88ea
VS
146532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14656 (grub_ucs4_to_utf8_alloc): Likewise.
14657 (grub_ucs4_to_utf8): Likewise.
14658 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14659 (grub_ucs4_to_utf8_alloc): Likewise.
14660
309e5352
VS
146612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 AFFS never uses unicode.
14664
14665 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14666 (grub_latin1_to_utf8): New inline function.
14667 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14668
e7987e1b
VS
146692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14672 overflow.
14673
efc2616e
VS
146742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14677 (grub_squash_dirent_header): Likewise.
14678 (read_chunk): Don't double swap.
14679 (grub_squash_iterate_dir): Fix swap sizes.
14680
3c349f5a
VS
146812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14682
14683 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14684
b453412d
VS
146852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14688 (grub_hfs_iterate_dir): Likewise.
14689
12e9d4d1
VS
146902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 Fix video on platforms where unaligned access is forbidden.
14693 Make several optimisations while on it.
14694
14695 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14696 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14697 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14698 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14699 Disable.
14700 (grub_video_fbblit_replace_16bit_1bit):
14701 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14702 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14703 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14704 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14705 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14706 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14707 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14708 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14709 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14710 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14711 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14712 (grub_video_fbblit_replace_index_RGB888): Likewise.
14713 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14714 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14715 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14716 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14717 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14718 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14719 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14720 Disable.
14721 (grub_video_fbblit_blend_XXX565_1bit):
14722 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14723 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14724 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14725 void *.
14726 * grub-core/video/fb/video_fb.c (common_blitter)
14727 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14728 (grub_video_fb_create_render_target_from_pointer)
14729 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14730 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14731 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14732 definition.
14733 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14734
ace96609
VS
147352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14738 HH22 and HM10 relocations.
14739
fd261d73
VS
147402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14743
e59b7857
VS
147442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14747 allocation succeeded.
14748
9b4baaa4
VS
147492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14752 argument a u8 pointer. All users updated.
14753 Handle unaligned buffers.
14754
dc713193
VS
147552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14758 add_part to workaround compiler bug.
14759
30dd48c2
VS
147602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14763
0c6087a8
VS
147642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14767 Reserve alignment invariants.
14768 (grub_multiboot_load): Likewise.
14769 (retrieve_video_parameters): Likewise.
14770 (grub_multiboot_make_mbi): Likewise.
14771
c2e77777
VS
147722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14775 incorrect pointer.
14776
b70b6d11
VS
147772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14780 (grub_pata_pio_write): Likewise.
14781
02a2bf83
VS
147822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 Add noreturn attributes and remove unreachable code.
14785
14786 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14787 code.
14788 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14789 code. Mark as noreturn.
14790 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14791 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14792 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14793 unreachable code.
14794 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14795 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14796 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14797 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14798 * include/grub/kernel.h (grub_main): Mark as noreturn.
14799 * include/grub/reader.h (grub_rescue_run): Likewise.
14800
2019d09e
VS
148012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14804 redundant declaration.
14805
d1c501ee
VS
148062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14809 redundant declaration.
14810 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14811
61664420
VS
148122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14815 to ensure alignment.
14816 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14817 alignment. Ensure tmp alignment.
14818 (grub_cmd_hdparm): Ensure buf alignment.
14819 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14820 to ensure alignment.
14821 (grub_ata_dumpinfo): Ensure text alignment.
14822 (grub_atapi_identify): Preserve alignment invariant.
14823 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14824
0d51ee20
VS
148252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14828 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14829 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14830 * include/grub/misc.h (grub_reboot)
14831 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14832 (grub_halt) [__mips__]: Likewise.
14833
753ef8c1
VS
148342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14837 Remove redundant declaration.
14838 (grub_mmap_get_post64): Likewise.
14839 (grub_mmap_get_upper): Likewise.
14840 (grub_mmap_get_lower): Likewise.
14841
85c85365
VS
148422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14845 uint32_t * to ensure alignment.
14846 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14847
a23f2cc4
VS
148482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14849
93018f64
VS
14850 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14851 uint16_t * to ensure alignment.
14852 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14853 alignment.
14854
148552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14858 to ensure alignment.
14859 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14860
58acccd6
VS
148612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14864 Handle unaligned pointers.
14865 (u32at): Likewise.
14866 (u64at): Likewise.
14867 (fixup): Use byte access instead of v16at.
14868 (find_attr): Fix imporper usage of v32at.
14869 (read_data): Likewise.
14870 (list_file): Handle byte-swapping and unaligned strings.
14871 (grub_ntfs_label): Likewise.
14872
9b05cad7
VS
148732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14876 as it's not necessarily aligned.
14877
b3950b84
VS
148782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14881 redundant declaration.
14882 (grub_serial_init): Likewise.
14883 (grub_terminfo_init): Likewise.
14884
fcd232b7
VS
148852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14888 function.
14889 (ZAP_HASH_IDX): Likewise.
14890 (ZAP_LEAF_HASH_SHIFT): Likewise.
14891 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14892 (LEAF_HASH): Likewise.
14893 (ZAP_LEAF_NUMCHUNKS): Likewise.
14894 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14895 alignment invariants. Return pointer. All users updated.
14896 (ZAP_LEAF_ENTRY): Make into inline function.
14897 (NBBY): Removed.
14898 (xor): LIkewise.
14899 (xor_out): Use grub_crypto_xor.
14900 (dnode_get_path): Use grub_get_unaligned.
14901 (nvlist_find_value): Likewise.
14902 (grub_zfs_nvlist_lookup_uint64): Likewise.
14903 (grub_zfs_nvlist_lookup_string): Likewise.
14904 (get_nvlist_size): Likewise.
14905 (grub_zfs_open): Likewise.
14906 (fill_fs_info): Likewise.
14907 (grub_zfs_dir): Likewise.
14908 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14909 alignment invariants.
14910 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14911 necessarily aligned.
14912
f138623a
VS
149132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14916
564840dc
VS
149172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14920 arithmetic to conserve alignment invariants.
14921
9b40df20
VS
149222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14925 redundant declaration.
14926 (grub_efiemu_mm_obtain_request): Likewise.
14927 (grub_efiemu_prepare): Likewise.
14928
d1c930f9
VS
149292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14932 to match types.
14933
4c5f3056
VS
149342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14937 case of aunaligned recptr.
14938 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14939 alignment.
14940 (grub_hfsplus_btree_search): Handle unaligned index.
14941
728cba91
VS
149422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14945 to get freetag and skip.
14946
eb561f31
VS
149472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14950 array.
14951 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14952 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14953
20993fbb
VS
149542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14957 name for checksum and fix allocation algorithm.
14958
1f313b94
VS
149592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * include/grub/types.h (grub_properly_aligned_t): New type.
14962 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14963 (grub_get_unaligned16): Add explicit casts.
14964 (grub_get_unaligned32): Likewise.
14965 (grub_get_unaligned64): Likewise.
14966 (grub_set_unaligned16): New function.
14967 (grub_set_unaligned32): Likewise.
14968
47ae27ec
VS
149692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14972
78c2cd1c
VS
149732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14976 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14977 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14978
53072f9b
VS
149792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14982 conditionals.
14983
055dc239
VS
149842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14987 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14988
496bd074
VS
149892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 Unify and improve RAID and crypto xor.
14992
14993 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14994 changed to grub_crypto_xor
14995 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14996 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14997 Use bigger types when possible.
14998
ef6e4335
VS
149992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 * grub-core/disk/raid.c (scan_devices): Fix condition.
15002
5d048bf2
VS
150032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15006 Make name a const ptr.
15007
ee533335
VS
150082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15011 first argument a const pointer.
15012 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15013 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15014 proto.
15015 (grub_children_iterate): Likewise.
15016 (grub_machine_mmap_iterate): Remove redundant declaration.
15017
cc8f3668
VS
150182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15021 (grub_cmd_acpi) [!x86]: Disable EBDA.
15022
c5fc563a
VS
150232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 Enable UTF8 in gnulib regexp.
15026
15027 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15028 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15029 (isupper): Use grub_isupper.
15030 (isascii): New inline function.
15031 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15032 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15033 * grub-core/normal/charset.c (grub_utf8_process): New function.
15034 (grub_utf8_to_utf16): Use grub_utf8_process.
15035 (grub_encode_utf8_character): New function.
15036 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15037 * include/grub/charset.h (grub_utf8_process): New declaration.
15038 (grub_encode_utf8_character): Likewise.
15039 * include/grub/misc.h (grub_islower): New inline function.
15040 (grub_isupper): Likewise.
15041 (grub_strchrsub): Moved down to fix the definitions.
15042
0af2346f
VS
150432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15046 specification.
15047
74dbd244
VS
150482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * include/grub/loader.h (grub_loader_register_preboot_hook):
15051 Use struct preboot * and not void * for handle. All users updated.
15052 (grub_loader_unregister_preboot_hook): Likewise.
15053
1bc8f60d
VS
150542011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15057 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15058 UTF-16-BE. All users updated.
15059 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15060 (grub_hfsplus_iterate_dir): Likewise.
15061 (grub_hfsplus_label): Likewise.
15062
48d6e456
VS
150632011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15066
bf3a3857
VS
150672011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 Add missing const qualifiers.
15070
15071 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15072 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15073 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15074 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15075 (grub_lvm_check_flag): Likewise.
15076 * grub-core/efiemu/i386/coredetect.c
15077 (grub_efiemu_get_default_core_name): Likewise
15078 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15079 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15080 * grub-core/fs/ntfs.c (fixup): Likewise.
15081 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15082 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15083 (fzap_lookup): Likewise.
15084 (zap_lookup): Likewise.
15085 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15086 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15087 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15088 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15089 (grub_freebsd_add_meta_module): Likewise.
15090 (grub_cmd_freebsd_module): Likewise.
15091 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15092 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15093 (grub_xnu_writetree_get_size): Likewise.
15094 (grub_xnu_writetree_toheap_real): Likewise.
15095 (grub_xnu_find_key): Likewise.
15096 (grub_xnu_create_key): Likewise.
15097 (grub_xnu_create_value): Likewise.
15098 (grub_xnu_register_memory): Likewise.
15099 (grub_xnu_check_os_bundle_required): Likewise.
15100 (grub_xnu_scan_dir_for_kexts): Likewise.
15101 (grub_xnu_load_kext_from_dir): Likewise.
15102 * grub-core/normal/color.c (color_list): Likewise.
15103 * grub-core/normal/completion.c (current_word): Likewise.
15104 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15105 * grub-core/term/serial.c (grub_serial_find): Likewise.
15106 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15107 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15108 Likewise.
15109 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15110 (grub_freebsd_add_meta_module): Likewise.
15111 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15112 * include/grub/net.h (grub_net_card_driver): Likewise.
15113 (grub_net_card): Likewise.
15114 (grub_net_app_protocol): Likewise.
15115 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15116 * include/grub/serial.h (grub_serial_find): Likewise.
15117 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15118 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15119 (grub_xnu_create_value): Likewise.
15120 (grub_xnu_find_key): Likewise.
15121 (grub_xnu_scan_dir_for_kexts): Likewise.
15122 (grub_xnu_load_kext_from_dir): Likewise.
15123
15124 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15125 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15126 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15127 Moved from here ...
15128 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15129
112b4837
CW
151302011-11-28 Colin Watson <cjwatson@ubuntu.com>
15131
15132 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15133
49e891ac
VS
151342011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15137 (read_device): Fix size calculation.
15138
fd258e5c
RM
151392011-11-25 Robert Millan <rmh@gnu.org>
15140
15141 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15142 (find_root_device_from_libzfs): Add zpool output parser to be used
15143 as fallback when libzfs isn't available.
15144
78845dc2
SG
151452011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15146
15147 * po/Makefile.in.in: Add missing escape-continuation.
15148
adac5211
VS
151492011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15152
10b64f1c
VS
151532011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15156
bb416954
VS
151572011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15160
bdfe9eeb
VS
151612011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15164
581ffa8a
VS
151652011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * grub-core/lib/adler32.c: Add missing license specification.
15168 * grub-core/lib/crc64.c: Likewise.
15169 * grub-core/loader/i386/pc/plan9.c: Likewise.
15170 * grub-core/partmap/plan.c: Likewise.
15171
2536cf64
LK
151722011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15173
15174 Add facility to debug GRUB with gdb under qemu.
15175
15176 * grub-core/gdb_grub.in: New file.
15177 * grub-core/gmodule.pl.in: Likewise.
15178 * grub-core/Makefile.core.def (gmodule.pl): New script.
15179 (gdb_grub): Likewise.
15180
bc108a4a
VS
151812011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 * util/grub-mount.c (argp_parser): Accept relative pathes.
15184 * util/grub-fstest.c (argp_parser): Likewise.
15185
111c1778
VS
151862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 Plan9 support.
15189
15190 * Makefile.util.def (libgrubmods): Add
15191 grub-core/partmap/plan.c.
15192 * docs/grub.texi: Notice Plan9 support.
15193 * grub-core/Makefile.core.def (plan9): New module.
15194 (part_plan): Likewise.
15195 * grub-core/loader/i386/pc/plan9.c: New file.
15196 * grub-core/partmap/plan.c: Likewise.
15197 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15198 define.
15199 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15200 * include/grub/mm.h (grub_extend_alloc): New inline function.
15201
c30be3b6
VS
152022011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 Make Reed-Solomon faster by using power of generator representation of
15205 GF(256)*.
15206
15207 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15208 (gf_double_t): Likewise.
15209 (gf_invert): Removed.
15210 (gf_powx): New array.
15211 (gf_powx_inv): Likewise.
15212 (scratch): Move higher.
15213 (gf_reduce): Removed.
15214 (gf_mul): Use powx.
15215 (gf_invert): Likewise.
15216 (init_inverts): Replaced with ...
15217 (init_powx): ...this. All users updated.
15218 (pol_evaluate): Replace multiplications with additions.
15219 (rs_encode): Likewise.
15220 (gauss_eliminate): Call gf_invert.
15221 (grub_reed_solomon_add_redundancy): Call init_powx.
15222 (grub_reed_solomon_recover): Call init_powx unconditionally.
15223
fa5aeffc
VS
152242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15227
a346b81c
VS
152282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15231 disk->partiton for safety.
15232
d89ee414
VS
152332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15236 Fix a memory leak.
15237 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15238
91ee7b6d
VS
152392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15242
91e5a33d
VS
152432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15246
9edd7be2
VS
152472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 Fix spaces handling in proc/self/mountinfo.
15250
15251 * util/getroot.c (unescape): New function.
15252 (grub_find_root_device_from_mountinfo): Use unescape.
15253
ba102053
VS
152542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 Support ZFS embedding.
15257
15258 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15259 (grub_zfs_fs): Register grub_zfs_embed.
15260
aa94b870
VS
152612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 Fix MIPS compilation.
15264
15265 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15266 * include/grub/offsets.h: Rename decompressor fields from
15267 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15268 * util/grub-mkimage.c (image_targets): Use new names.
15269
5fbdac14
VS
152702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Defer multiboot device parsing until we're in compressed part.
15273
15274 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15275 bsd_part. setdevice has fallen into disuse.
15276 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15277 (bsd_part): Likewise.
15278 (boot_dev): New variable.
15279 (multiboot_trampoline): Don't parse multiboot device.
15280 Pass multiboot device in %edx.
15281 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15282 grub_boot_device.
15283 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15284 Likewise.
15285 * grub-core/kern/i386/pc/startup.S: Save edx.
15286 (grub_boot_drive): Removed.
15287 (grub_install_dos_part): Likewise.
15288 (grub_install_bsd_part): Likewise.
15289 (grub_boot_device): New variable.
15290 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15291 (grub_install_bsd_part): Likewise.
15292 (grub_boot_drive): Likewise.
15293 (grub_boot_device): New variable.
15294 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15295 Removed.
15296 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15297 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15298 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15299 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15300 * util/grub-install.in: Remove redundant condition.
15301
691cbb58
VS
153022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 Fix bug introduced by previous commit.
15305
15306 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15307
60240b8b
VS
153082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 Use decompressors framework on i386-pc. It increases core size
15311 by 46 bytes but improves compatibility and maintainability.
15312
15313 * grub-core/Makefile.core.def (lzma_decompress): New image.
15314 (kernel): Add i386_pc_ldflags.
15315 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15316 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15317 to real_to_prot, prot_to_real and device info.
15318 * include/grub/offsets.h: Renamed decompressor offsets.
15319 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15320 (image_target_desc): Remove raw_size and rename decompressor fields.
15321 (compress_kernel): Handle lzma.
15322 (generate_image): Handle decompressors on i386-pc.
15323
e9d3421c
VS
153242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 * configure.ac: Add -fno-asynchronous-unwind-tables.
15327
2b23074a
VS
153282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 Move assembly code to C by using intwrap. It increases core size
15331 by 88 bytes but improves compatibility and maintainability.
15332
15333 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15334 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15335 ... here. Translated to C.
15336 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15337 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15338 ... here. Translated to C.
15339 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15340 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15341 ... here. Translated to C.
15342 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15343 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15344 ... here. Translated to C.
15345 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15346 * grub-core/term/i386/pc/console.c (grub_console_cls):
15347 ... here. Translated to C.
15348 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15349 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15350 ... here. Translated to C.
15351 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15352 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15353 Translated to C.
15354 * grub-core/term/i386/pc/console.c (int10_9): New function.
15355 (grub_console_putchar): Likewise.
15356 * include/grub/i386/pc/console.h: Removed the not anymore shared
15357 functions.
15358
678f4b67
VS
153592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 Move grub_chainloader_real_boot out of the kernel.
15362
15363 * grub-core/Makefile.am: Remove machine/loader.h.
15364 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15365 Removed.
15366 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15367 variable.
15368 (grub_relocator16_keep_a20_enabled): Likewise.
15369 (grub_relocator16_boot): Fill new variables.
15370 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15371 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15372 relocator.
15373 (grub_chainloader_unload): Likewise.
15374 (grub_chainloader_cmd): Likewise.
15375 * include/grub/i386/pc/loader.h: Removed.
15376 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15377 and esi. All initialisers updated.
15378
4626edf6
VS
153792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
153802011-11-12 Colin Watson <cjwatson@ubuntu.com>
15381
15382 * Makefile.util.def (grub-mount): New util.
15383 * .bzrignore: Add grub-mount.
15384 * configure.ac: Check for fuse and enable grub-mount if available.
15385 * docs/man/grub-mount.h2m: New file.
15386 * util/grub-mount.c: Likewise.
15387
10f0117b
VS
153882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/commands/efi/fixvideo.c: Gettextize.
15391 * grub-core/commands/hashsum.c: Likewise.
15392 * grub-core/commands/i386/cmostest.c: Likewise.
15393 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15394 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15395 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15396 * grub-core/commands/lsmmap.c: Likewise.
15397 * grub-core/commands/menuentry.c: Likewise.
15398 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15399 * grub-core/commands/setpci.c: Likewise.
15400 * grub-core/loader/i386/bsd.c: Likewise.
15401 * grub-core/loader/i386/linux.c: Likewise.
15402 * util/getroot.c: Likewise.
15403 * util/grub-editenv.c: Likewise.
15404 * util/grub-fstest.c: Likewise.
15405 * util/grub-mkfont.c: Likewise.
15406 * util/grub-mkimage.c: Likewise.
15407 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15408 * util/grub-pe2elf.c: Likewise.
15409 * util/grub-probe.c: Likewise.
15410 * util/grub-setup.c: Likewise.
15411 * util/ieee1275/ofpath.c: Likewise.
15412 * util/misc.c: Likewise.
15413 * util/raid.c: Likewise.
15414
566f779b
RM
154152011-11-11 Robert Millan <rmh@gnu.org>
15416
15417 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15418 __attribute__((unused)) from `os_dev', which *is* being used.
15419
b50787de
VS
154202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15423 forgotten define.
15424 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15425 GRUB_IA64_DL_GOT_ALIGN.
15426 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15427 GRUB_IA64_DL_TRAMP_ALIGN.
15428
119d11c8
VS
154292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 Replace grub_fatal with normal errors in i386 linux loader.
15432
15433 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15434 (allocate_pages): Check find_efi_mmap_size return value.
15435 (grub_e820_add_region): Return error.
15436 (grub_linux_boot): Check mmap return value.
15437
6e0632e2
VS
154382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * grub-core/commands/acpihalt.c: Gettextized.
15441 * grub-core/commands/cacheinfo.c: Likewise.
15442 * grub-core/commands/cmp.c: Likewise.
15443 * grub-core/commands/efi/loadbios.c: Likewise.
15444 * grub-core/commands/gptsync.c: Likewise.
15445 * grub-core/commands/ieee1275/suspend.c: Likewise.
15446 * grub-core/commands/legacycfg.c: Likewise.
15447 * grub-core/commands/memrw.c: Likewise.
15448 * grub-core/commands/minicmd.c: Likewise.
15449 * grub-core/commands/parttool.c: Likewise.
15450 * grub-core/commands/time.c: Likewise.
15451 * grub-core/commands/videoinfo.c: Likewise.
15452 * grub-core/disk/geli.c: Likewise.
15453 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15454 * grub-core/disk/luks.c: Likewise.
15455 * grub-core/disk/lvm.c: Likewise.
15456 * grub-core/font/font_cmd.c: Likewise.
15457 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15458 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15459 * grub-core/gfxmenu/view.c: Likewise.
15460 * grub-core/kern/emu/hostdisk.c: Likewise.
15461 * grub-core/kern/emu/main.c: Likewise.
15462 * grub-core/kern/emu/misc.c: Likewise.
15463 * grub-core/kern/emu/mm.c: Likewise.
15464 * grub-core/kern/mips/arc/init.c: Likewise.
15465 * grub-core/kern/mips/loongson/init.c: Likewise.
15466 * grub-core/kern/partition.c: Likewise.
15467 * grub-core/lib/i386/halt.c: Likewise.
15468 * grub-core/lib/mips/arc/reboot.c: Likewise.
15469 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15470 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15471 * grub-core/loader/i386/xnu.c: Likewise.
15472 * grub-core/loader/multiboot.c: Likewise.
15473 * grub-core/net/bootp.c: Likewise.
15474 * grub-core/net/net.c: Likewise.
15475 * grub-core/normal/term.c: Likewise.
15476 * grub-core/partmap/bsdlabel.c: Likewise.
15477 * grub-core/parttool/msdospart.c: Likewise.
15478 * grub-core/term/gfxterm.c: Likewise.
15479 * grub-core/term/terminfo.c: Likewise.
15480 * grub-core/video/i386/pc/vbe.c: Likewise.
15481 * util/grub-menulst2cfg.c: Likewise.
15482 * util/grub-mkdevicemap.c: Likewise.
15483 * util/grub-mklayout.c: Likewise.
15484 * util/grub-mkrelpath.c: Likewise.
15485 * util/grub-script-check.c: Likewise.
15486 * util/ieee1275/grub-ofpathname.c: Likewise.
15487 * util/resolve.c: Likewise.
15488
073aa7a9
VS
154892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 Support %1$d syntax.
15492
15493 * tests/printf_unit_test.c: New file.
15494 * Makefile.util.def (printf_test): New test.
15495 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15496
c76b5417
VS
154972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15500 fix.
15501
df067ad1
VS
155022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15505 dprintf.
15506 * grub-core/font/font.c (grub_font_load): Likewise.
15507
5b289bc5
VS
155082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * util/grub-macho2img.c: Add comment concerning gettext.
15511 * grub-core/lib/legacy_parse.c: Likewise.
15512
c1860f87
VS
155132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15516 (grub_xvasprintf): Likewise.
15517
d35d0d37
VS
155182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 Add const keyword to grub_env_get and gettextize week days.
15521
15522 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15523 (grub_read_hook_datetime): Return const char *.
15524 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15525 updated.
15526 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15527 Mark for gettext.
15528 (grub_get_weekday_name): Return const char *. Call gettext.
15529 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15530 char * and len as the argument. All users updated.
15531 (grub_script_argv_split_append): Receive const char *.
15532 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15533 * include/grub/env.h (grub_env_get): Likewise.
15534 (grub_env_read_hook_t): Return const char *.
15535 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15536 (grub_script_argv_split_append): Likewise.
15537
9aed8a71
VS
155382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15541
067fdf00
VS
155422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15545 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15546
a8bd9d39
VS
155472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15550 Fix prototype.
15551
f7ce5baf
VS
155522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Fix mips compilation.
15555
15556 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15557 normal decoder.
15558 (hashes): Use in embed decoder as well (for sizes).
15559 (dec_stream_header): Fix embed decompressor logic.
15560 (dec_stream_footer): Likewise.
15561
9bb182f3
VS
155622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15565 an error and not a fatal on unrecognised relocation types.
15566
63a9e6f6
VS
155672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15570 Issue error rather than printf on unknown arguments.
15571
4c458569
VS
155722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15575 Make buf a const.
15576
e2d22baf
VS
155772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15580 Fix module name.
15581
53dc8590
VS
155822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15585 leftover debug printf.
15586
6c189294
VS
155872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15590
f7688369
VS
155912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15594 A stylistic fix.
15595
11a775a3
VS
155962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15599
33f784e8
SL
156002011-11-10 Shea Levy <slevy@tieronedesign.com>
15601
15602 Allow all modules to perform serial IO
15603
15604 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15605 * include/grub/serial.h (grub_serial_port_configure): New inline
15606 function.
15607 (grub_serial_port_fetch): Likewise.
15608 (grub_serial_port_put): Likewise.
15609 (grub_serial_port_fini): Likewise.
15610 (grub_serial_find): New proto.
15611
f6276525
VS
156122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 Put symlink at the end of the node and fix a potential
15615 memory corruption.
15616
15617 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15618 Make symlink into an array.
15619 (set_rockridge): Set have_symlink and alloc_dirents.
15620 (grub_iso9660_read_symlink): Use new layout.
15621 (grub_iso9660_iterate_dir): Fix memory corruption.
15622 Use new layout.
15623 (grub_iso9660_dir): Set have_symlink.
15624 (grub_iso9660_open): Likewise.
15625
c3591189
VS
156262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 Remove local keyword.
15629
15630 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15631 (version_test_gt): Likewise.
15632 (version_find_latest): Likewise.
15633 (gettext_printf): Likewise.
15634 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15635
cb544caa
VS
156362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15639
45bd824d
VS
156402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Fix ZFS memory and resource leaks.
15643
15644 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15645 All users updated.
15646 Free type on exit.
15647 (fill_vdev_info): New parameter inserted. All users updated.
15648 (check_pool_label): Likewise.
15649 (scan_disk): Likewise.
15650 (scan_devices): Close non-inserted disks.
15651 (fzap_iterate): Free l.
15652 (unmount_device): Free children descripto memory.
15653
ad9a2f44
VS
156542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15657 argument (access out of bounds).
15658
6b68db81
VS
156592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15662 >= 6 drives.
15663
28840fda
VS
156642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15667 Fix declaration.
15668
8a5a3a5b
VS
156692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 Fix several memory leaks.
15672
15673 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15674 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15675 (grub_cpio_dir): Likewise.
15676 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15677 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15678 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15679 (grub_romfs_label): Likewise.
15680 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15681 (squash_unmount): New function.
15682 (grub_squash_dir): Fix memory leak.
15683 (grub_squash_open): Likewise.
15684 (grub_squash_read): Likewise.
15685 (grub_squash_mtime): Likewise.
15686 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15687 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15688 * util/grub-fstest.c (fstest): Likewise.
15689
57b01250
VS
156902011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15693 avoid accessing beyond the array.
15694
19e81ba7
VS
156952011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15698
52b656c0
VS
156992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 Several AFFS fixes.
15702
15703 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15704 (GRUB_AFFS_FLAG_FFS): Removed.
15705 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15706 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15707 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15708 (grub_fshelp_node): Make block 32-bit.
15709 Add block_cache and last_block_cache.
15710 (grub_affs_read_block): Fill and use block cache.
15711 (grub_affs_read_file): Removed.
15712 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15713 boot block.
15714 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15715 safety.
15716 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15717 space.
15718 (grub_affs_close): Free block cache.
15719 (grub_affs_read): Use grub_fshelp_read_file directly.
15720
438a746a
VS
157212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15724 with no error set.
15725
49a45021
VS
157262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15729 used variable.
15730 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15731 Likewise.
15732
3ae17eb8
VS
157332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15736
15737 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15738 byteswap when needed.
15739
27610c38
VS
157402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 Fix FreeBSD compilation.
15743
15744 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15745 to avoid circular dependency.
15746 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15747 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15748 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15749
4a19b601
VS
157502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 Fix ZFS crypto error types.
15753
15754 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15755 (grub_gcm_decrypt): Likewise.
15756 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15757 from PBKDF2.
15758
958ee221
VS
157592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Illumos support.
15762
15763 * Makefile.util.def (10_illumos): New script.
15764 * configure.ac: Set COND_HOST_ILLUMOS.
15765 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15766 Support Illumos calls.
15767 (find_partition_start) [__sun__]: Likewise.
15768 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15769 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15770 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15771 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15772 device.
15773 * util/grub-probe.c (probe) [__sun__]: Do character check.
15774 * util/grub.d/10_illumos.in: New file.
15775
cac14fb6
VS
157762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 Support escaped commas in hostdisk.
15779
15780 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15781 (find_grub_drive): Use unescape_cmp.
15782 (make_device_name): Escape commas.
15783
78e08dc3
VS
157842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15787
9f421dd1
VS
157882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15791 variable.
15792
ed64e9e2
VS
157932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 Support trampoline jumps on powerpc.
15796
15797 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15798 __ia64__ path.
15799 (grub_dl_load_segments): Set mod->sz.
15800 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15801 segments.
15802 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15803 (jump): Likewise.
15804 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15805 function.
15806 (trampoline): New struct.
15807 (trampoline_template): New const.
15808 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15809 * include/grub/dl.h (grub_dl): Add sz element.
15810 [__powerpc__]: Follow __ia64__.
15811 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15812 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15813 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15814 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15815
3084ede4
VS
158162011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 ZFS crypto support.
15819
15820 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15821 * grub-core/Makefile.core.def (zfscrypt): New module.
15822 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15823 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15824 it. All users updated.
15825 (grub_zfs_decrypt): New var.
15826 (grub_zfs_load_key): Likewise.
15827 (zio_checksum_functions): Add SHA256+MAC.
15828 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15829 (zio_read): Handle encrypted blocks.
15830 (zap_verify): Remove incorrect check.
15831 (fzap_iterate): Handle non-standard fzap.
15832 (zap_iterate): Likewise.
15833 (zap_iterate_u64): New function.
15834 (dnode_get_fullpath): Load keys.
15835 * grub-core/fs/zfs/zfscrypt.c: New file.
15836 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15837 (grub_crypto_ecb_encrypt): Make input const.
15838 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15839 (grub_crypto_ecb_encrypt): Make input const.
15840 (GRUB_CIPHER_AES): New macro.
15841 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15842 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15843 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15844 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15845 prefix. All users updated.
15846 (grub_zfs_add_key): New proto.
15847 (grub_zfs_decrypt): Likewise.
15848 (grub_zfs_load_key): Likewise.
15849 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15850 * util/grub-fstest.c (options): Add -K option.
15851 (argp_parser): Likewise.
15852
b632b404
VS
158532011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 Support zle compression on ZFS.
15856
15857 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15858 (decomp_table): Add zle.
15859 * include/grub/zfs/zio.h (zio_compress): Add zle.
15860
c7ba4f69
VS
158612011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 Support BtrFS embedding.
15864
15865 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15866 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15867 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15868 * util/grub-setup.c (setup): Use fs embedding if available.
15869 Add additional sanity check.
15870
455377d9
VS
158712011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * util/grub-install.in: Fix condition for config_opt.
15874
c2fd16ca
VS
158752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 Support third redundancy strip on raidz3.
15878
15879 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15880 Return error on singularity. All users updated.
15881 (read_device): Don't stop on 3rd failure on raidz3.
15882
8622923b
VS
158832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 Support case-insensitive ZFS subvolumes.
15886
15887 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15888 All users updated.
15889 (zap_hash): Likewise.
15890 (name_cmp): New function.
15891 (zap_leaf_array_equal): New parameter case_insensitive.
15892 All users updated.
15893 (zap_leaf_lookup): Likewise.
15894 (fzap_lookup): Likewise.
15895 (zap_lookup): Likewise.
15896 (dnode_get_path): New parameter case_insensitive. Retrieve case
15897 sensitiviness of a volume. All users updated.
15898 (dnode_get_fullpath): New parameter case_insensitive.
15899 All users updated.
15900 (grub_zfs_dir): Set info.case_insensitiveness.
15901
95f2e860
VS
159022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Support second redundancy strip on raidz(2,3).
15905
15906 * grub-core/fs/zfs/zfs.c (powx): New array.
15907 (powx_inv): Likewise.
15908 (poly): New const.
15909 (xor_out): New function.
15910 (gf_mul): Likewise.
15911 (recovery): Likewise.
15912 (read_device): Use second redundancy strip.
15913
11ee4389
VS
159142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 Use a power of generator representation of GF(256) multiplication group
15917 to save space time and complexity.
15918
15919 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15920 (raid6_table2): Likewise.
15921 (powx): New array.
15922 (powx_inv): Likewise.
15923 (poly): New const.
15924 (grub_raid_block_mul): Replace with ...
15925 (grub_raid_block_mulx): ...this.
15926 (grub_raid6_init_table): Rewritten.
15927 (grub_raid6_recover): Use power of generator representation.
15928
09e2763f
VS
159292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15932 for the right device.
15933
8bec9a28
VS
159342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15937 expected by grub-mkimage and it's more clear since there is no implicit
15938 padding.
15939
dbd3a32e
VS
159402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15943 disk.
15944 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15945
182c872a
PMH
159462011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15947
15948 * util/grub-mkrescue.in: Fix handling xorriso option.
15949
1e51cabd
VS
159502011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15953 NULL.
15954
9cc3581d 159552011-11-03 crocket <crockabiscuit@gmail.com>
15956
15957 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15958
158dc1ea
VS
159592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 XZ CRC64 and SHA256 support.
15962
15963 * Makefile.util.def (libgrubmods): Add crc64.c.
15964 * grub-core/Makefile.core.def (crc64): New module.
15965 * grub-core/lib/crc64.c: New file.
15966 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15967 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15968 Fix the type.
15969 (MAX_HASH_SIZE): New define.
15970 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15971 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15972 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15973 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15974 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15975 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15976 Handle non-crc32 hashes.
15977 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15978 (dec_stream_header): Handle non-crc32 hashes.
15979 (dec_stream_footer): Likewise.
15980 (dec_block_header): Likewise.
15981 (dec_main): Likewise.
15982 (xz_dec_init): Likewise.
15983 (xz_dec_reset): Likewise.
15984 (xz_dec_end): Likewise.
15985 * util/import_gcry.py: Add CRC64 line.
15986
9d9b3d2f
VS
159872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15990 as well.
15991
7d0ac931
VS
159922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 Make reiserfs label retrieval similar to other *_label functions.
15995
15996 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15997 (REISERFS_MAX_LABEL_LENGTH): Removed.
15998 (REISERFS_LABEL_OFFSET): Likewise.
15999 (grub_reiserfs_label): Rewritten.
16000
160012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16004 field.
16005
cf5ba824
VS
160062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16009
17744004
VS
160102011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16013 drive failure on both raidz and raidz2.
16014
aca5aefc
VS
160152011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Fix RAIDZ(2) for >= 5 devices.
16018
16019 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16020 asize argument. All users updated.
16021
ce8ca56e
VS
160222011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 Fix RAIDZ(2).
16025
16026 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16027 (fill_vdev_info_real): Set ashift.
16028 (read_device): Rewrite RAIDZ part based on reverse engineering.
16029
7c01e783
VS
160302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16033 don't report potentially unavialiable fields in debug output.
16034 (find_path): Fix double-free and memory leak.
16035
ce109e84
VS
160362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Read label on UFS1.
16039
16040 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16041 (grub_ufs_fs): Always set .label.
16042
87661123
VS
160432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 Use shifts in UFS.
16046
16047 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16048 (grub_ufs_data): New field log2_blksz.
16049 (grub_ufs_read_file): Use shifts.
16050 (grub_ufs_mount): Check block size and logarithm it.
16051
46bc1dc2
VS
160522011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16055 long symlinks.
16056
19ee2987
VS
160572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 Handle symlinks and long names on tar and cpio.
16060
16061 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16062 (ATTR_FILE): Likewise.
16063 (ATTR_DIR): Likewise.
16064 (ATTR_LNK): Likewise.
16065 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16066 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16067 L and K entries.
16068 (grub_cpio_mount): Zero-fill data.
16069 (handle_symlink): New function.
46bc1dc2
VS
16070 (grub_cpio_dir): Handle symlinks.
16071 (grub_cpio_open): Likewise.
16072 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16073
c83a08d8
VS
160742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 Fix iso9660 filename limitations and fix memory leaks.
16077
16078 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16079 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16080
45cdd3ea
VS
160812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Fix JFS file name length limitations.
16084
16085 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16086 (grub_jfs_diropen): Fix maximum filename length.
16087 (grub_jfs_getent): Fix filename length.
16088 (grub_jfs_lookup_symlink): Fix size checks.
16089
94ef05c2
VS
160902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16093 string.
16094
785ab8c7
VS
160952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16096
eb0b6b45
VS
16097 Leverage BFS implementation to read AFS.
16098
16099 * Makefile.util.def (libgrubmods): Add afs.c.
16100 * grub-core/Makefile.core.def (afs): New module
16101 * grub-core/fs/afs.c: New file.
16102 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16103
161042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16107
c4a1628f
VS
161082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * grub-core/fs/bfs.c: Run indent.
16111
5825b379
VS
161122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 BFS implementation based on the specification.
16115
16116 * grub-core/fs/bfs.c: New file.
16117 * Makefile.util.def (libgrubmods): Add bfs.c.
16118 * grub-core/Makefile.core.def (bfs): New module.
16119
42b2a706
VS
161202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * util/grub-fstest.c (cmd_cp): Clarify error message.
16123 (cmd_cmp): Likewise.
16124
61b99bfc
YB
161252011-10-30 Yves Blusseau <blusseau@zetam.org>
16126
16127 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16128 and befs_be.
16129
faba3d16
VS
161302011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 Remove afs and befs because of copyright problem.
16133
16134 * grub-core/fs/afs.c: Removed.
16135 * grub-core/fs/afs_be.c: Removed.
16136 * grub-core/fs/befs.c: Removed.
16137 * grub-core/fs/befs_be.c: Removed.
16138 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16139 * grub-core/Makefile.core.def (afs): Removed.
16140 (afs_be): Likewise.
16141 (befs): Likewise.
16142 (befs_be): Likewise.
16143
c39224b0
VS
161442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 Prefer rockridge over Joliet.
16147
16148 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16149 to ...
16150 (set_rockridge): ... here.
16151 (grub_iso9660_mount): Check rockridge on the primary label when
16152 discovering. Ignore Joliet if Rockridge is present.
16153
e551115a
VS
161542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 Use shifts in nilfs2.
16157
16158 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16159 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16160 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16161 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16162 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16163 (grub_nilfs2_entries_per_block): Replaced with ...
16164 (grub_nilfs2_log_entries_per_block_log): ... this.
16165 (grub_nilfs2_blocks_per_group): Replaced with ...
16166 (grub_nilfs2_blocks_per_group_log): ... this.
16167 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16168 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16169 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16170 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16171 (grub_nilfs2_palloc_entry_offset): Replaced ...
16172 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16173 (grub_nilfs2_dat_translate): Use shifts.
16174 (grub_nilfs2_read_inode): Likewise.
16175 (GRUB_MOD_INIT): Ensure that logs are correct.
16176
564dd58c
VS
161772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Use shifts in minix filesystem.
16180
16181 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16182 (GRUB_MINIX_ZONE2SECT): Likewise.
16183 (grub_minix_data): Replace block_size with log_block_size.
16184 (grub_minix_read_file): Use shifts.
16185 (grub_minix_mount): Check block size and take a logarithm.
16186
ed9ba06d
VS
161872011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Use shifts in squash4.
16190
16191 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16192 (squash_mount): Check block size and take logarithm.
16193 (direct_read): Use shifts.
16194
ad03fe76
VS
161952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 Correct befs block counting logic.
16198
16199 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16200 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16201 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16202 (grub_afs_read_inode): Use block_shift.
16203 (RANGE_SHIFT): New definition.
16204 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16205 unexpected conditions, use shifts and appropriate types.
16206 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16207
6563f63d
VS
162082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * grub-core/disk/raid.c (scan_devices): Check partition.
16211 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16212
5b1ae25f
VS
162132011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 Support BFS (befs) UUID.
16216
16217 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16218 (grub_afs_small_data_element_header): New struct.
16219 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16220 (grub_afs_read_attribute) [MODE_BFS]: New function.
16221 (grub_afs_iterate_dir): Allocate for complete inode.
16222 (grub_afs_mount): Likewise.
16223 (grub_afs_uuid) [MODE_BFS]: New function.
16224 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16225
f8d82408
VS
162262011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16229 (zfs_unmount): Fix memory leak.
16230
5773fb64
VS
162312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 Support NTFS reparse points.
16234
16235 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16236 (symlink_descriptor): New struct.
16237 (grub_ntfs_read_symlink): New function.
16238 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16239 (grub_ntfs_open): Likewise.
16240
91c3fdde
VS
162412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16244
3be82e10
VS
162452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 fstest xnu_uuid subcommand.
16248
16249 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16250 grub-core/commands/xnu_uuid.c.
16251 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16252 (fstest): Handle xnu_uuid.
16253 (options): Document xnu_uuid.
16254 (argp_parser): Parse xnu_uuid.
16255
8e32442e
VS
162562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16259 -l argument. Add newline at the end if printing.
16260 (GRUB_MOD_INIT): Document -l.
16261
52a05075
VS
162622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16265
1869edb5
VS
162662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 ZFS multi-device and version 33 support.
16269
16270 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16271 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16272 (grub_zfs_data): Add multidev-ice-related fields.
16273 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16274 (dva_get_offset): Make dva const.
16275 (zfs_fetch_nvlist): New function.
16276 (fill_vdev_info_real): Likewise.
16277 (fill_vdev_info): Likewise.
16278 (check_pool_label): Likewise.
16279 (scan_disk): Likewise.
16280 (scan_devices): Likewise.
16281 (read_device): Likewise.
16282 (read_dva): Likewise.
16283 (zio_read_gang): Use read_dva.
16284 (zio_read_data): Likewise.
16285 (zap_leaf_lookup): Add missing endian conversion.
16286 (zap_verify): Add missing endian conversion. All users updated.
16287 (fzap_lookup): Likewise.
16288 (fzap_iterate): Likewise.
16289 (dnode_get_path): Handle SA bonus.
16290 (nvlist_find_value): Make input const. All users updated.
16291 (unmount_device): New function.
16292 (zfs_unmount): Use unmount_device.
16293 (zfs_mount): Use scan_disk.
16294 (zfs_mtime): New function.
16295 (grub_zfs_open): Handle system attributes.
16296 (fill_fs_info): Likewise.
16297 (grub_zfs_dir): Likewise.
16298 (grub_zfs_fs): Add mtime.
16299 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16300 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16301 (SA_MTIME_OFFSET): Likewise.
16302 (SA_SYMLINK_OFFSET): Likewise.
16303 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16304 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16305 (fstest): Support zfsinfo.
16306 (argp_parser): Likewise.
16307
186b4028
VS
163082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16311 error.
16312
163132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16314
16315 ZFS fixes.
16316
16317 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16318 sharing the same block. Iterate over correct number of indices.
16319 (dnode_get_path): Handle symlinks correctly.
16320
c0584900
VS
163212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16324
67e2bd71
VS
163252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 Read label on HFS+.
16328
16329 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16330 (grub_hfsplus_btree_search): Fix types.
16331 (grub_hfsplus_label): Implement.
16332
e9cc6b7b
VS
163332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16336
19832ddb
VS
163372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16340
66b40850
VS
163412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 Fix symlink handling on iso9660.
16344
16345 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16346 All users updated.
16347 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16348 (grub_iso9660_read_symlink): Moved most of code ...
16349 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16350
db821363
VS
163512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16354 Use union to avoid breaking strict-aliasing rules.
16355
e1211949
VS
163562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 Support multi-extent iso files.
16359
16360 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16361 Add node.
16362 (grub_fshelp_node): Revamp. All users updated.
16363 (FLAG_*): New enum.
16364 (read_node): New function.
16365 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16366 All users updated.
16367 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16368 (get_node_size): New function.
16369 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16370 entries.
16371 Fix memory leak on . and ..
16372 (grub_iso9660_read): Use read_node.
16373 (grub_iso9660_close): Free node.
16374
d4888031
VS
163752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 Fix tar 4G limit and handle paths containing dot.
16378
16379 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16380 (canonicalize): New function.
16381 (grub_cpio_find_file): Use canonicalize. Store offs in
16382 grub_disk_addr_t.
16383 (grub_cpio_dir): Use grub_disk_addr_t.
16384 (grub_cpio_open): Likewise.
16385
9f12e664
VS
163862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16389
16390 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16391 unused flags.
16392 (grub_squash_inode): Add long_file and block_size.
16393 (grub_squash_cache_inode): New struct.
16394 (grub_squash_dirent): Make types into enum.
16395 (SQUASH_TYPE_LONG_REGULAR): New type.
16396 (grub_squash_frag_desc): Add field size.
16397 (SQUASH_BLOCK_FLAGS): New enum.
16398 (grub_squash_data): Use grub_squash_cache_inode.
16399 (grub_fshelp_node): Make ino_chunk 64-bit.
16400 (read_chunk): Minor argument change. All users updated.
16401 (squash_mount): Use correct le_to_cpu.
16402 (grub_squash_open): Handle LONG_REGULAR.
16403 (direct_read): New function.
16404 (grub_squash_read_data): Handle blocks correctly.
16405
9f326fba
VS
164062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16409
f4d9b64b
VS
164102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16413
5bbd28b8
VS
164142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 Fix 2G limit on ZFS.
16417
16418 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16419 types.
16420 (uberblock_verify): Likewise.
16421 (dmu_read): Likewise.
16422 (grub_zfs_read): Likewise. Remove invalid cast.
16423
68c72069
VS
164242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16427 (grub_jfs_blkno): Fix incorrect shift.
16428 (grub_jfs_read_file): Use more appropriate types.
16429
6e536dc8
VS
164302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 Support triple indirect on minix2 and minix3.
16433
16434 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16435 Declare triple_indir_zone.
16436 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16437 indirect.
16438
e0864e7a
VS
164392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 Minix FS fixes.
16442
16443 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16444 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16445 Rename ctime to mtime. All users updated.
16446 (grub_minix_get_file_block): Fix types and double indirect computations.
16447
89481cab
VS
164482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16451 if no label is found.
16452 (grub_fat_iterate_dir): Fix file size type.
16453 (grub_fat_iterate_dir): Likewise.
16454
f646e143
VS
164552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16458 save some space.
16459 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16460 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16461
534d769e
VS
164622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16465
e084ba18
VS
164662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * util/import_gcry.py: Accept space between # and include.
16469
3471ecdf
VS
164702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16471
16472 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16473
124df5f6
VS
164742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16477
16478 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16479 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16480 yylex_strncpy.
16481 * grub-core/script/yylex.l: Add fine-grained #pragma.
16482
4defb8d5
VS
164832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16486 New inline function.
16487 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16488 Likewise.
16489 (memset) [GRUB_UTIL]: Likewise.
16490 (memcmp) [GRUB_UTIL]: Likewise.
16491
4e94ae65
VS
164922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16495 inline function rather than a define.
16496
18c575e5
VS
164972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 * util/grub-setup.c: Add missing include.
16500
f8bc22a8
VS
165012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * util/ieee1275/grub-ofpathname.c: Add missing include.
16504
3ce69fc9
VS
165052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16508 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16509 Likewise.
16510
d1e293bb
VS
165112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16514 grub_memcmp usage.
16515
7a5c54a4
VS
165162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * util/grub-install.in: Add datarootdir as per automake manual
16519 suggestion.
16520 * util/grub-mknetdir.in: Likewise.
16521
165222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16523
16524 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16525 suggestion.
16526 * util/grub.d/10_kfreebsd.in: Likewise.
16527 * util/grub.d/10_linux.in: Likewise.
16528 * util/grub.d/10_netbsd.in: Likewise.
16529 * util/grub.d/10_windows.in: Likewise.
16530 * util/grub.d/20_linux_xen.in: Likewise.
16531
766f7d08
VS
165322011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 Remove redundant grub_kernel_image_size.
16535
16536 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16537 _edata and _start.
16538 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16539 the small code. It moves it only by few bytes but simplifies the code.
16540 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16541 _start.
16542 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16543 (grub_kernel_image_size): Removed.
16544 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16545 (grub_kernel_image_size): Removed.
16546 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16547 compiled with Apple toolchain.
16548 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16549 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16550 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16551 (grub_total_module_size): Likewise.
16552 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16553 Removed.
16554 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16555 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16556 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16557 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16558 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16559 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16560 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16561 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16562 Removed.
16563 (grub_total_module_size): Removed.
16564 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16565 (image_targets): Likewise.
16566 Set .compressed_size to no field on sparc.
16567 (generate_image): Remove kernel_image_size handling.
16568
fcf1d672
SJ
165692011-10-19 Szymon Janc <szymon@janc.net.pl>
16570
16571 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16572 NULL pointer dereference.
16573
de9c615e
VS
165742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16577 done with a dedicated section.
16578
16579 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16580 Ensure the correct position of boot_path.
16581 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16582 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16583 other fields.
16584 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16585 * include/grub/boot.h: Removed. All references removed.
16586 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16587 Removed.
16588 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16589
e55599dc
VS
165902011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16593 name.
16594
36dd20ad
VS
165952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16598
f8f72eb8
VS
165992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16602 Don't add the bogus brackets.
16603
a374751b
VS
166042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 ExFAT support.
16607
16608 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16609 * grub-core/Makefile.core.def (exfat): New module.
16610 * grub-core/fs/exfat.c: New file.
16611 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16612 (GRUB_FAT_ATTR_*): Make into an enum.
16613 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16614 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16615 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16616 (GRUB_FAT_MAXFILE): Removed.
16617 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16618 (grub_current_fat_bpb_t): New type.
16619 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16620 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16621 (grub_fat_dir_node_t): New type.
16622 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16623 (fat_log2) [MODE_EXFAT]: Removed.
16624 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16625 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16626 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16627 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16628 (grub_fat_label) [MODE_EXFAT]: New function.
16629 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16630 reserved_first_sector to 0.
16631
544c2487
VS
166322011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Move grub_reboot out of the kernel.
16635
16636 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16637 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16638 * grub-core/lib/efi/reboot.c: ... here.
16639 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16640 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16641 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16642 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16643 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16644 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16645 * grub-core/lib/ieee1275/reboot.c: ... here.
16646 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16647 * grub-core/lib/mips/arc/reboot.c: ... here.
16648 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16649 * grub-core/lib/mips/loongson/reboot.c: ...here.
16650 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16651 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16652 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16653 * include/grub/i386/reboot.h: New file.
16654 * include/grub/mips/loongson/ec.h: Fix includes.
16655 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16656 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16657 * grub-core/lib/i386/reboot.c: New file.
16658
a97501d2
VS
166592011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 Make grub_prefix into module to fix the arbitrary limit and save
16662 some space.
16663
16664 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16665 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16666 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16667 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16668 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16669 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16670 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16671 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16672 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16673 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16674 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16675 * include/grub/ia64/efi/kernel.h: Removed.
16676 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16677 (grub_prefix): Removed.
16678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16679 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16680 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16681 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16682 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16683 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16684 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16685 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16686 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16687 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16688 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16689 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16690 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16691 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16692 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16693 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16694 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16695 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16696 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16697 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16698 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16699 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16700 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16701 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16702 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16703 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16704 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16705 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16706 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16707 from module.
16708 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16709 prefix_end.
16710 (image_targets): Likewise.
16711 (generate_image): Put prefix as a module.
16712
39705fad
VS
167132011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 Replace grub_module_iterate with FOR_MODULES.
16716
16717 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16718 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16719 (grub_efi_modules_addr): ...this.
16720 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16721 (grub_efi_init): Set grub_modbase.
16722 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16723 (grub_modbase): New variable.
16724 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16725 (grub_modbase): New variable.
16726 (grub_machine_init): Set grub_modbase.
16727 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16728 (grub_modbase): New variable.
16729 (grub_machine_init): Set grub_modbase.
16730 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16731 (grub_modbase): New variable.
16732 (grub_machine_init): Set grub_modbase.
16733 * grub-core/kern/main.c (grub_module_iterate): Remove.
16734 (grub_modules_get_end): Use grub_modbase.
16735 (grub_load_modules): Use FOR_MODULES.
16736 (grub_load_config): Likewise.
16737 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16738 (grub_modbase): New variable.
16739 (grub_machine_init): Set grub_modbase.
16740 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16741 (grub_modbase): New variable.
16742 (grub_machine_init): Set grub_modbase.
16743 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16744 Removed.
16745 (grub_modbase): New variable.
16746 (grub_machine_init): Set grub_modbase.
16747 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16748 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16749 (grub_module_iterate): Likewise.
16750 (grub_modbase): New variable declaration.
16751 (FOR_MODULES): New macro.
16752
2afb7f6c
VS
167532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16756 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16757
366e34fa
VS
167582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Fix few obvious type discrepancies.
16761
16762 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16763 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16764 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16765 variable.
16766 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16767 and connected types.
16768 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16769 offset.
16770 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16771 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16772 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16773 and connected types.
16774
177b960e
VS
167752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 Fix python 3.x incompatibilities.
16778
16779 * gentpl.py: Put brackets around print strings.
16780 * util/import_gcry.py: Open explicitly as utf-8.
16781 Use in instead of has_key.
16782
3b619ae1
VS
167832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16786 (GRUB_XFS_INO_AGBITS): Make into inline function.
16787 (GRUB_XFS_INO_INOINAG): Likewise.
16788 (GRUB_XFS_INO_AG): Likewise.
16789 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16790 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16791 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16792 (GRUB_XFS_EXTENT_SIZE): Likewise.
16793 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16794 (GRUB_XFS_NEXT_DIRENT): Likewise.
16795 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16796 (grub_xfs_read_file): Fix offset type.
16797
8bcebcb8
RM
167982011-10-15 Robert Millan <rmh@gnu.org>
16799
16800 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16801
0017e5ef
RM
168022011-10-15 Robert Millan <rmh@gnu.org>
16803
16804 Fix build problem on FreeBSD and GNU/kFreeBSD.
16805
16806 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16807
d8919552
VS
168082011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16811
16812 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16813 types.
16814 (grub_hfsplus_btree_recoffset): Likewise.
16815 (grub_hfsplus_btree_recptr): Likewise.
16816 (grub_hfsplus_find_block): Likewise.
16817 (grub_hfsplus_btree_search): Likewise.
16818 (grub_hfsplus_read_block): Likewise.
16819 (grub_hfsplus_read_file): Likewise.
16820 (grub_hfsplus_mount): Likewise.
16821 (grub_hfsplus_btree_iterate_node): Likewise.
16822 (grub_hfsplus_btree_search): Likewise.
16823 (grub_hfsplus_iterate_dir): Likewise.
16824 (grub_hfsplus_read): A small code simplification.
16825
c81296b6
VS
168262011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 * grub-core/kern/emu/hostdisk.c
16829 (convert_system_partition_to_system_disk): Don't assume that children
16830 of mapper nodes are mapper nodes.
16831
0eb8ffb1
VS
168322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16835 * include/grub/misc.h (grub_isxdigit): New function.
16836 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16837 switched to grub_isxdigit.
16838 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16839 number starting with a letter.
16840
a98f4a08
RM
168412011-10-09 Robert Millan <rmh@gnu.org>
16842
16843 LVM support for FreeBSD and GNU/kFreeBSD.
16844
16845 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16846 GNU/kFreeBSD.
16847 (LVM_DEV_MAPPER_STRING): Move from here ...
16848 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16849 * util/getroot.c: Include `<grub/util/lvm.h>'.
16850 (grub_util_get_dev_abstraction): Enable
16851 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16852 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16853 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16854 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16855 support it.
16856 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16857 GNU/kFreeBSD.
16858 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16859 when LVM abstraction is required for ${GRUB_DEVICE}.
16860
050e8e90
SJ
168612011-10-06 Szymon Janc <szymon@janc.net.pl>
16862
16863 Add support for LZO compression in GRUB:
16864 - import of minilzo library,
16865 - LZO decompression for btrfs,
16866 - lzop files decompression.
16867
16868 * grub-core/io/lzopio.c: New file.
16869 * grub-core/lib/adler32.c: Likewise.
16870 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16871 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16872 * grub-core/lib/minilzo/minilzo.c: Likewise.
16873 * grub-core/lib/minilzo/minilzo.h: Likewise.
16874 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16875 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16876 grub-core/lib/minilzo/minilzo.c to common.
16877 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16878 cflags in cppflags.
16879 * grub-core/Makefile.core.def (btrfs): Likewise.
16880 * grub-core/Makefile.core.def (lzopio): New module.
16881 (adler32): Likewise.
16882 * grub-core/fs/btrfs.c: Include minilzo.h.
16883 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16884 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16885 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16886 (grub_btrfs_lzo_decompress): New function.
16887 (grub_btrfs_extent_read): Add support for LZO compression type.
16888 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16889 (GRUB_USHRT_MAX): Likewise.
16890 (GRUB_UINT_MAX): Likewise.
16891 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16892 (UINT_MAX): Likewise.
16893 (CHAR_BIT): Likewise.
16894 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16895 grub-core/lib/posix_wrap/limits.h
16896 (UCHAR_MAX): Likewise.
16897 * include/grub/file.h (grub_file_filter_id): New compression filter
16898 GRUB_FILE_FILTER_LZOPIO.
16899 * include/grub/file.h (grub_file_filter_id): Set
16900 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16901 * include/grub/types.h (grub_get_unaligned16): New function.
16902 (grub_get_unaligned32): Likewise.
16903 (grub_get_unaligned64): Likewise.
16904 * util/import_gcry.py (cryptolist): Add adler32.
16905
0eb8ffb1
VS
169062011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16909 in perspective decreases the complexity of build system and fixes
16910 compilation right now.
16911
ce79cc99 169122011-10-01 Ales Nesrsta <starous@volny.cz>
16913
16914 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16915 (fixed problem related to using UHCI with coreboot).
16916
8667a314
BC
169172011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16918
16919 * gentpl.py: Use Autogen macros so that the output template file
16920 (Makefile.tpl) size is reduced.
16921
fc5efcc0
MK
169222011-09-29 Mads Kiilerich <mads@kiilerich.com>
16923
16924 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16925 extra_dist.
16926
d1ab689d
ML
169272011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16928
16929 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16930 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16931
c05de032
ML
169322011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16933
16934 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16935 _fullpath.
16936
cca7ccd8
ML
169372011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16938
16939 Remove extra declaration of sleep for mingw32.
16940
16941 * util/misc.c (sleep) [__MINGW32__]: Removed.
16942 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16943
e0b0dc83
GS
169442011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16945
16946 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16947 type and packname.
16948 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16949 Resurrected.
16950 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16951 (grub_netbsd_btinfo_bootwedge): New struct.
16952 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16953 New function.
16954 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16955
91a1a164
TH
169562011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16957
16958 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16959 loader.
16960
2ded951e
AB
169612011-09-28 Andreas Born <futur.andy@googlemail.com>
16962
16963 Fix incorrect identifiers in bash-completion.
16964
16965 * util/bash-completion.d/grub-completion.bash.in
16966 (_grub_mkpasswd-pbkdf2): Rename to ...
16967 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16968 (_grub_script-check): Rename to ...
16969 (_grub_script_check): ... this. All users updated.
16970
69915030
VS
169712011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16974 Return 0 if disk isn't biosdisk.
16975
20fd15f9
GS
169762011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16977
16978 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16979 on NetBSD.
16980 * Makefile.util.def (grub-fstest): Likewise.
16981
1a7d7db9
GS
169822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16983
16984 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16985 Get sector size from disk label.
16986
2221ab6c
CW
169872011-09-05 Colin Watson <cjwatson@ubuntu.com>
16988
16989 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16990 */README* as well as README*.
16991 Reported by: Axel Beckert.
16992
ca51c4a0
VS
169932011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16996 case of less than 256 MiB of RAM.
16997
ab80f326
VS
169982011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16999
17000 * grub-core/commands/wildcard.c (make_regex): Handle @.
17001
4155e697
VS
170022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17003
17004 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17005
ab178c08
SJ
170062011-08-21 Szymon Janc <szymon@janc.net.pl>
17007
17008 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17009 AC_LANG_CONFTEST macros.
17010
7dc3c686
SJ
170112011-08-20 Szymon Janc <szymon@janc.net.pl>
17012
17013 Add grub-fstest option to uncompress data for commands.
17014
17015 * util/grub-fstest.c (uncompress): New var.
17016 (options): New option -u.
17017
fe8d4a7b
SJ
170182011-08-20 Szymon Janc <szymon@janc.net.pl>
17019
17020 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17021 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17022
a5219af1
SJ
170232011-08-20 Szymon Janc <szymon@janc.net.pl>
17024
17025 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17026 file type was not recognized correctly (not gzip or corrupted).
17027
f87abff5
VS
170282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17031 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17032
d94497ea
VS
170332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17036 loongson.
17037 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17038 video_radeon_fuloong2e.
17039 * grub-core/video/radeon_fuloong2e.c: New file.
17040 * include/grub/video.h (grub_video_id_t): Add new ID
17041 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17042
0d1fd011
VS
170432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17046 define.
17047 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17048 that PRID matches the detected subplatform and reset the subplatform
17049 if it doesn't.
17050
84beb0ee
VS
170512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17054
1227c133
VS
170552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17056
17057 Fix PCI iterating on functions >= 4.
17058
17059 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17060 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17061 Removed.
17062 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17063 (grub_pci_read): Fix bitmask.
17064 (grub_pci_read_word): Likewise.
17065 (grub_pci_read_byte): Likewise.
17066 (grub_pci_write): Likewise.
17067 (grub_pci_write_word): Likewise.
17068 (grub_pci_write_byte): Likewise.
17069
9594c689
VS
170702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17073 can still be specified in TARGET_CFLAGS)
17074
14a2562c
VS
170752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17076
17077 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17078
17079 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17080 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17081 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17082 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17083 (FULOONG): Rename to ...
17084 (FULOONG2F): ... this. All users updated.
17085 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17086 (machtype_fuloong2f_str): ... this.
17087 (machtype_fuloong2e_str): New string.
17088 Check for machtype_fuloong2e_str.
17089 * grub-core/loader/mips/linux.c (loongson_machtypes)
17090 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17091 * grub-core/term/serial.c (loongson_defserial)
17092 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17093 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17094 loongson_defserial.
17095 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17096 Rename to ...
17097 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17098 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17099 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17100 to IMAGE_FULOONG2F_FLASH. All users updated.
17101 (image_targets): Rename images.
17102 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17103
b526cbb6
SJ
171042011-08-19 Szymon Janc <szymon@janc.net.pl>
17105
17106 Make enable of disk cache statistics code configurable.
17107
17108 * configure.ac: --enable-cache-stats added.
17109 * config.h.in (DISK_CACHE_STATS): New define.
17110 * grub-core/Makefile.core.def (cacheinfo): New command.
17111 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17112 * grub-core/commands/cacheinfo.c: New file.
17113 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17114 moved to cacheinfo.c.
17115 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17116 debug code.
17117 * include/grub/disk.h: Likewise.
17118
fb739ccd
SJ
171192011-08-19 Szymon Janc <szymon@janc.net.pl>
17120
17121 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17122 * grub-core/Makefile.am: Likewise.
17123
2bba8cfd
VS
171242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17127 non-zero pull.
17128
43526629
VS
171292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17132 All users updated.
17133 (grub_jfs_lookup_symlink): Use correct starting inode.
17134
5c144cc8
VS
171352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * util/grub-setup.c (main): Add missing gcry initialisation.
17138
b1257f65
VS
171392011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 Don't accept text modes on EFI when booting Linux.
17142
17143 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17144 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17145
828bc390
ML
171462011-08-15 Mario Limonciello <mario_limonciello@dell.com>
171472011-08-15 Colin Watson <cjwatson@ubuntu.com>
17148
17149 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17150 use of "/path/.." as in grub-install for EFI as well as handling
17151 symlinks correctly.
17152 Fixes Debian bug #637768.
17153
5f60ccac
CW
171542011-08-15 Colin Watson <cjwatson@ubuntu.com>
17155
17156 * util/grub-probe.c: Remove duplicate #include.
17157
6dc212f9
RM
171582011-08-10 Robert Millan <rmh@gnu.org>
17159
17160 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17161
17162 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17163 function.
17164 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17165 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17166
66816d85
RM
171672011-08-03 Robert Millan <rmh@gnu.org>
17168
17169 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17170 la_array as packed.
17171 Reported by: Zachary Bedell
17172
20168fca
CW
171732011-07-26 Colin Watson <cjwatson@ubuntu.com>
17174
17175 * configure.ac: The Loongson port requires grub-mkfont due to its
17176 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17177 be built.
17178
303b6246
CW
171792011-07-26 Colin Watson <cjwatson@ubuntu.com>
17180
17181 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17182 processing arguments (otherwise help2man fails when GRUB has not yet
17183 been installed).
17184
6795300e
VS
171852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17186
41aa28ea
VS
17187 New script grub-mkstandalone.
17188
17189 * Makefile.util.def (grub-mkstandalone): New script.
17190 * docs/man/grub-mkstandalone.h2m: New file.
17191 * util/grub-mkstandalone.in: Likewise.
17192
171932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 Support ATA disks with 4K sectors.
6795300e
VS
17196
17197 * include/grub/ata.h (grub_ata): New member log_sector_size.
17198 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17199 (grub_ata_identify): Read sector size.
17200 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17201
92227597
VS
172022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * util/grub-install.in: Don't use uhci outside of x86.
17205
c77069f5
VS
172062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * util/grub-mkrescue.in: Add missing quotes.
17209
172102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17211
17212 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17213 dereference.
17214
583168a2
VS
172152011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17218
6be1c01f
VS
172192011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 * include/grub/video.h: add missing EXPORT_FUND on
17222 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17223
a1167439
VS
172242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 * include/grub/mips/kernel.h: Fix define conflict.
17227
bf66054f
VS
172282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17231 all four ways.
17232
8fc4fa45
CW
172332011-07-21 Colin Watson <cjwatson@ubuntu.com>
17234
17235 Preferred resolution detection for VBE.
17236
17237 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17238 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17239 the Flat Panel extension, in line with the X.org VESA driver.
17240 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17241 New function.
17242 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17243 (grub_vbe_bios_read_edid): Likewise.
17244 (grub_vbe_get_preferred_mode): Likewise.
17245 (grub_video_vbe_setup): When the mode is "auto", try to get the
17246 preferred mode from VBE, and use the largest mode that is no larger
17247 than the preferred mode (some BIOSes expose a preferred mode that is
17248 not in their mode list!). If this fails, fall back to 640x480 as a
17249 safe conservative choice.
17250 (grub_video_vbe_get_edid): New function.
17251 (grub_video_vbe_adapter): Add get_edid.
17252 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17253 (struct grub_video_adapter): Add get_edid.
17254 (grub_video_edid_checksum): Add prototype.
17255 (grub_video_edid_preferred_mode): Likewise.
17256 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17257 structure.
17258
17259 * grub-core/commands/videoinfo.c (print_edid): New function.
17260 (grub_cmd_videoinfo): Print EDID if available.
17261
17262 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17263 is more appropriate on a wider range of platforms than 640x480.
17264 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17265 documentation.
17266
ca5572a9
VS
172672011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17270
e4bcf625
VS
172712011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * po/POTFILES.in: Regenerate.
17274
c4edd548
VS
172752011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17278 incorrect memory usage.
17279
16a2bab0
VS
172802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * util/grub-install.in: Source grub-mkconfig_lib.
17283
2e418de6
VS
172842011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 Remove getroot.c from core on emu platform.
17287
17288 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17289 kern/emu/raid.c.
17290 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17291 useless.
17292 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17293 * util/getroot.c (get_win32_path): ... here.
17294 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17295 * util/getroot.c (fini_libzfs): ... here.
17296 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17297 * util/getroot.c (grub_get_libzfs_handle): ... here.
17298 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17299 Moved from here...
17300 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17301 * grub-core/kern/emu/misc.c
17302 (grub_make_system_path_relative_to_its_root): Moved from here...
17303 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17304 * grub-core/kern/emu/getroot.c: Moved from here ...
17305 * util/getroot.c: ... here. All users updated.
17306 * grub-core/kern/emu/raid.c: Moved from here ...
17307 * util/raid.c: ... here. All users updated.
17308
def9832a
VS
173092011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * po/POTFILES.in: Regenerate.
17312
cd8fe79a
VS
173132011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 Fix compilation on GNU/Linux.
17316
17317 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17318 Disable geli.
17319 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17320 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17321 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17322
a251b719
VS
173232011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
173242011-07-07 Michael Gorven <michael@gorven.za.net>
173252011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17326
17327 LUKS and GELI support.
17328
17329 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17330 grub-core/disk/luks.c, grub-core/disk/geli.c,
17331 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17332 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17333 grub-core/lib/arg.c.
17334 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17335 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17336 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17337 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17338 (grub-bin2h): Add libgcry.a.
17339 (grub-mkimage): Likewise.
17340 (grub-mkrelpath): Likewise.
17341 (grub-script-check): Likewise.
17342 (grub-editenv): Likewise.
17343 (grub-mkpasswd-pbkdf2): Likewise.
17344 (grub-pe2elf): Likewise.
17345 (grub-fstest): Likewise.
17346 (grub-mkfont): Likewise.
17347 (grub-mkdevicemap): Likewise.
17348 (grub-probe): Likewise.
17349 (grub-ofpath): Likewise.
17350 (grub-mklayout): Likewise.
17351 (example_unit_test): Likewise.
17352 (grub-menulst2cfg): Likewise.
17353 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17354 * grub-core/Makefile.core.def (cryptodisk): New module.
17355 (luks): Likewise.
17356 (geli): Likewise.
17357 * grub-core/disk/AFSplitter.c: New file.
17358 * grub-core/disk/cryptodisk.c: Likewise.
17359 * grub-core/disk/geli.c: Likewise.
17360 * grub-core/disk/luks.c: Likewise.
17361 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17362 grub_util_is_lvm.
17363 (grub_util_get_dm_abstraction): New function.
17364 (grub_util_follow_gpart_up): Likewise.
17365 (grub_util_get_geom_abstraction): Likewise.
17366 (grub_util_get_dev_abstraction): Use new functions.
17367 (grub_util_pull_device): Pull GELI and LUKS.
17368 (grub_util_get_grub_dev): Handle LUKS and GELI.
17369 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17370 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17371 (follow_geom_up): Removed.
17372 (grub_util_fd_seek): New function.
17373 (open_device): Use grub_util_fd_seek.
17374 (nread): Rename to ..
17375 (grub_util_fd_read): ... this. All users updated.
17376 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17377 (grub_crypto_cbc_decrypt): Likewise.
17378 (grub_crypto_hmac_write): Likewise.
17379 (grub_crypto_hmac_buffer): Likewise.
17380 (grub_password_get): Extend to util.
17381 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17382 New member modname.
17383 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17384 * include/grub/cryptodisk.h: New file.
17385 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17386 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17387 LUKS and GELI.
17388 (grub_util_follow_gpart_up): New proto.
17389 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17390 (grub_util_fd_read): Likewise.
17391 (grub_cryptodisk_cheat_mount): Likewise.
17392 (grub_util_cryptodisk_print_uuid): Likewise.
17393 (grub_util_get_fd_sectors): Likewise.
17394 * util/grub-fstest.c (mount_crypt): New var.
17395 (fstest): Mount crypto if requested.
17396 (options): New option -C.
17397 (argp_parser): Parse -C.
17398 (main): Init and fini gcry.
17399 * util/grub-install.in: Support cryptodisk install.
17400 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17401 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17402 cryptodisk.
17403 (prepare_grub_to_access_device): Likewise.
17404 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17405 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17406 (probe_cryptodisk_uuid): New function.
17407 (probe_abstraction): Likewise.
17408 (probe): Use new functions.
17409 * util/import_gcry.py: Create Makefile.utilgcry.def.
17410 Add modname member.
17411
9bfdcbbc
VS
174122011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 Lazy device scanning.
17415
17416 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17417 (grub-setup): Remove util/raid.c.
17418 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17419 * grub-core/disk/lvm.c (scan_depth): New variable.
17420 (grub_lvm_iterate): Rescan if necessary.
17421 (find_lv): New function based on grub_lvm_open.
17422 (grub_lvm_open): Use find_lv. Rescan on error.
17423 (is_node_readable): New function.
17424 (is_lv_readable): Likewise.
17425 (grub_lvm_scan_device): Skip already found disks.
17426 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17427 Stop if searched device is found and readable.
17428 * grub-core/disk/raid.c (inscnt): New variable.
17429 (scan_depth): Likewise.
17430 (scan_devices): New function based on grub_raid_register. Abort if
17431 looked for device is found.
17432 (grub_raid_iterate): Rescan if needed.
17433 (find_array): NEw function based on -grub_raid_open.
17434 (grub_raid_open): Use find_array and rescan.
17435 (insert_array): Set became_readable_at.
17436 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17437 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17438 New function.
17439 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17440 (grub_util_pull_device): New function.
17441 (grub_util_get_grub_dev): Call grub_util_pull_device.
17442 * util/raid.c: Moved to ..
17443 * grub-core/kern/emu/raid.c: ... here.
17444 (grub_util_raid_getmembers): New parameter "bootable".
17445 All users updated. Support 1.x.
17446 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17447 All users updated.
17448 * include/grub/disk.h (grub_disk_pull_t): New enum.
17449 (grub_disk_dev): Change iterate prototype.
17450 All users updated.
17451 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17452 New proto.
17453 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17454 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17455 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17456 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17457 All users updated.
17458 * include/grub/util/raid.h: Removed.
17459
1c358e59
VS
174602011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 * po/POTFILES.in: Regenerate.
17463
abee94ed
VS
174642011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 Unify sparc init with other ieee1275.
17467
17468 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17469 instead of kern/sparc64/ieee1275/init.c.
17470 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17471 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17472 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17473 grub/machine/kernel.h.
17474 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17475 (grub_claim_heap) [__sparc__]: Use sparc version.
17476 (grub_machine_init): Moved args parsing to
17477 (grub_parse_cmdline): ...this.
17478 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17479 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17480 New definition.
17481 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17482
17483 Move BOOTP to separate file.
17484
17485 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17486 * grub-core/net/net.c: Move all BOOTP functions to
17487 * grub-core/net/bootp.c: ... here.
17488
17489 Use frame interface on PXE.
17490
17491 * grub-core/Makefile.core.def (pxecmd): Removed.
17492 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17493 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17494 * grub-core/i386/pc/pxe.c: Moved from here ...
17495 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17496 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17497 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17498
17499 EFI network support.
17500
17501 * grub-core/Makefile.core.def (efinet): New module.
17502 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17503 here...
17504 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17505 All users updated.
17506 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17507 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17508 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17509 * grub-core/net/drivers/efi/efinet.c: New file.
17510 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17511 (grub_efi_net_config): New extern var.
17512
17513 Various cleanups and bugfixes.
17514
17515 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17516 error.
17517 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17518 disk declared as partition.
17519 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17520 leak on failure.
17521 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17522 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17523 (grub_debug_zalloc): Likewise.
17524 (grub_debug_realloc): Likewise.
17525 (grub_debug_memalign): Likewise.
17526 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17527 Check that target is IPv4.
17528 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17529 local-mac-address as fallback.
17530 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17531 memory leak.
17532 * grub-core/net/ip.c (ipchksum): Rename to ...
17533 (grub_net_ip_chksum): ... this. All users updated.
17534 (grub_net_recv_ip_packets): Special handling for DHCP.
17535 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17536
17537 Unify prefix handling
17538
17539 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17540 (grub_machine_get_bootlocation): ... this.
17541 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17542 (grub_machine_get_bootlocation): ... this.
17543 (grub_prefix): New variable.
17544 (prefix): Removed.
17545 (root_dev): New variable.
17546 (dir): Likewise.
17547 (main): Use new variables.
17548 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17549 Revamped into ...
17550 (grub_machine_get_bootlocation): ... this.
17551 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17552 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17553 (grub_machine_get_bootlocation): ... this.
17554 (grub_machine_set_prefix): Removed.
17555 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17556 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17557 Revamped into ...
17558 (grub_machine_get_bootlocation): ... this.
17559 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17560 (grub_set_prefix_and_root): ... this. All users updated.
17561 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17562 Revamped into ...
17563 (grub_machine_get_bootlocation): ... this.
17564 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17565 (grub_machine_get_bootlocation): New proto.
17566 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17567
17568 Less intrusive and more reliable seek on network implementation.
17569
17570 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17571 (grub_file_seek): Don't call grub_file_net_seek.
17572 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17573 (grub_net_fs_read_real): .. this.
17574 (grub_net_seek_real): Use net->offset.
17575 (grub_net_fs_read): Seek if necessary.
17576
17577 Unify IEEE1275 netwotk config with the other platforms.
17578
17579 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17580 New variable.
17581 (grub_machine_get_bootlocation): Support network.
17582 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17583 Support type and device parsing.
17584 (grub_ieee1275_get_device_type): New function.
17585 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17586 into ...
17587 (grub_ieee1275_net_config_real): ... this.
17588 (grub_ofnet_probecards): Removed.
17589 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17590 * include/grub/ieee1275/ofnet.h: Removed.
17591 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17592 extern var.
17593 (grub_ieee1275_get_device_type): New function.
17594
17595 Unify network device closing across platforms and make more robust.
17596
17597 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17598 grub_grubnet_fini.
17599 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17600 already.
17601 * grub-core/net/net.c (grub_net_network_level_interface_register):
17602 Update num_ifaces.
17603 (grub_net_card_unregister): Close all interfaces.
17604 (receive_packets): Don't poll if no iterfaces are registered.
17605 Open if necessary.
17606 (grub_net_fini_hw): New function.
17607 (grub_net_restore_hw): Likewise.
17608 (fini_hnd): New variable.
17609 (GRUB_MOD_INIT): Register preboot hook.
17610 (GRUB_MOD_FINI): Run and unregister preboot hook.
17611
17612 Poll network cards when idle.
17613
17614 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17615 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17616 * grub-core/net/net.c (receive_packets): Save last poll time.
17617 (grub_net_poll_cards_idle_real): New function.
17618 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17619 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17620 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17621
17622 Rename ofnet interfaces.
17623
17624 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17625 (grub_ofnet_findcards): Use ofnet_%s names.
17626
17627 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17628
17629 Cleanup socket opening.
17630
17631 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17632 (grub_net_fs_close): Likewise.
17633 (grub_net_fs_read_real): Use eof member.
17634 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17635 (+grub_net_udp_close): New inline function.
17636
17637 * include/grub/net/tftp.h: Moved to the top of ...
17638 * grub-core/net/tftp.c: ... here.
17639 * include/grub/net/ip.h: Moved mostly to the top of ...
17640 * grub-core/net/ip.c: ... here.
17641 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17642 * grub-core/net/ethernet.c: ... here.
17643
17644 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17645
17646 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17647 FS name.
17648
17649 * include/grub/net/ip.h (ipv4_ini): Removed.
17650 (ipv4_fini): Likewise.
17651
17652 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17653 (grub_net_send_ip_packets): Likewise.
17654
cf1337aa
VS
176552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17658 grub_read_cmos prototype.
17659
93c06ff9
VS
176602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 VGA text support in qemu-mips
17663
17664 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17665 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17666 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17667 text.
17668 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17669 * grub-core/kern/vga_init.c: ... this.
17670 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17671 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17672 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17673 Adjust.
17674 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17675 GRUB_MACHINE_PCI_IO_BASE.
17676
748ccabe
VS
176772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 MIPS qemu flash support.
17680
17681 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17682 magic.
17683 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17684 (grub_machine_init): Probe memory if its size isn't known.
17685 * util/grub-mkimage.c (image_targets): Add flash targets.
17686 (generate_image): Handle flash targets.
17687
d7345994
VS
176882011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 MIPS qemu at_keyboard support.
17691
17692 * gentpl.py (videoinkernel): Add qemu-mips.
17693 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17694 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17695 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17696 modules.
17697 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17698 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17699 * grub-core/term/serial.c (grub_serial_register)
17700 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17701
a07a81b3
VS
177022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17703
17704 CMOS support on sparc.
17705
17706 * gentpl.py (cmos): Add powerpc and sparc.
17707 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17708 powerpc and sparc.
17709 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17710 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17711 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17712 grub_set_datetime_cmos.
17713 * grub-core/lib/ieee1275/cmos.c: New file.
17714 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17715 (find_rtc): Set no_ieee1275_rtc on error.
17716 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17717 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17718 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17719 fail. Move value to argument. All users updated
17720 (grub_cmos_write): Likewise.
17721 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17722 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17723 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17724 grub_get_datetime_cmos and grub_set_datetime_cmos.
17725
77546584
GS
177262011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17727
17728 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17729 sourcing grub-mkconfig_lib.
17730 * util/update-grub_lib.in: Likewise.
17731 * util/grub.d/00_header.in: Likewise.
17732 * util/grub.d/10_hurd.in: Likewise.
17733 * util/grub.d/10_kfreebsd.in: Likewise.
17734 * util/grub.d/10_linux.in: Likewise.
17735 * util/grub.d/10_netbsd.in: Likewise.
17736 * util/grub.d/10_windows.in: Likewise.
17737 * util/grub.d/20_linux_xen.in: Likewise.
17738 * util/grub.d/30_os-prober.in: Likewise.
17739
54894791
CW
177402011-06-28 Colin Watson <cjwatson@ubuntu.com>
17741
17742 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17743 default_bg_color rather than black.
17744 (grub_gfxterm_fullscreen): Likewise.
17745 (grub_gfxterm_background_color_cmd): Save new background color in
17746 default_bg_color.
17747
8d5d8444
VS
177482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17749
17750 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17751
5afeb5bd
VS
177522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17755 mismerge.
17756
ba7df45e
VS
177572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 Chainloading on coreboot support.
17760
17761 * grub-core/Makefile.core.def (chain): Add coreboot.
17762 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17763
d0b526b2
VS
177642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17767 if it happens.
17768
5ff1d945
VS
177692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 Implement time command.
17772
17773 * grub-core/Makefile.core.def (time): New module.
17774 * grub-core/commands/time.c: New file.
17775 * grub-core/script/parser.y: Remove "time" keyword.
17776 * grub-core/script/yylex.l: Likewise.
17777
5ebaad7e
VS
177782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17781
bdea3798
VS
177822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17785 when handling leftovers.
17786
b28c5655
VS
177872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17790 so that help2man doesn't fail.
17791
b6f945dc
VS
177922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17795 type in pointers on sparc64.
17796 (get_card_packet): Likewise.
17797
f9b75e8a
CW
177982011-06-27 Colin Watson <cjwatson@ubuntu.com>
17799
17800 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17801 with `*'.
17802 (grub_cmd_videoinfo): Fetch current video mode.
17803
1e3d9b86
VS
178042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17807 because of underlying system restrictions.
17808
efff4b1c
VS
178092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17812 necessary.
17813
9fc9ce37
VS
178142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 Coreboot video support.
17817
17818 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17819 (vbe): Likewise.
17820 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17821 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17822 here ...
17823 * grub-core/kern/i386/int.S: ... here.
17824 * grub-core/video/i386/pc/vbe.c: Updated includes.
17825 * grub-core/video/i386/pc/vga.c: Likewise.
17826 * include/grub/i386/coreboot/memory.h
17827 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17828 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17829 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17830 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17831 Disable interrupts.
17832 * include/grub/i386/pc/vga.h: Removed. All users updated.
17833
41bec7fe
VS
178342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17837 definitions for dprintf.
17838 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17839
ca80309d
VS
178402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17843 prototype.
17844 (get_card_packet): Likewise.
17845
9e322ce8
YB
178462011-06-26 Yves Blusseau <blusseau@zetam.org>
17847
17848 Display the path of the file when file is not found
17849
17850 * grub-core/fs/fat.c: Display the filename when file is not found.
17851 * grub-core/fs/fshelp.c: Likewise.
17852 * grub-core/fs/hfs.c: Likewise.
17853 * grub-core/fs/jfs.c: Likewise.
17854 * grub-core/fs/minix.c: Likewise.
17855 * grub-core/fs/ufs.c: Likewise.
17856 * grub-core/fs/btrfs.c: Likewise.
17857 * grub-core/commands/i386/pc/play.c: Likewise.
17858
cbf597af
SJ
178592011-06-26 Szymon Janc <szymon@janc.net.pl>
17860
17861 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17862 pointer checks before calling grub_free().
17863 * grub-core/commands/wildcard.c (match_devices): Likewise.
17864 * grub-core/commands/wildcard.c (match_files): Likewise.
17865 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17866 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17867 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17868 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17869 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17870 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17871 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17872 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17873 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17874
6295b32f
P
178752011-06-25 Patrick <p55@mailinator.com>
17876
17877 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17878
77c0840b
VS
178792011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17880
17881 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17882 (grub_pxe_send): Likewise.
17883 (GRUB_MOD_INIT): Fix types.
17884
40ea05de
SJ
178852011-06-24 Szymon Janc <szymon@janc.net.pl>
17886
17887 * grub-core/io/xzio.c: Fix code style issues
17888
90162423
MRA
178892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
178902011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17891
17892 Network infrastructure.
17893 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17894
17895 * include/grub/net/arp.h: New file.
90162423
MRA
17896 * include/grub/net/device.h: Likewise.
17897 * include/grub/net/ethernet.h: Likewise.
17898 * include/grub/net/ip.h: Likewise.
17899 * include/grub/net/netbuff.h: Likewise.
17900 * include/grub/net/tftp.h: Likewise.
17901 * include/grub/net/udp.h: Likewise.
17902 * include/grub/ieee1275/ofnet.h: Likewise.
17903 * include/grub/emu/export.h: Likewise.
17904 * include/grub/net.h: Likewise.
17905 * grub-core/net/arp.c: Likewise.
17906 * grub-core/net/ethernet.c: Likewise.
17907 * grub-core/net/ip.c: Likewise.
17908 * grub-core/net/udp.c: Likewise.
17909 * grub-core/net/tftp.c: Likewise.
17910 * grub-core/net/netbuff.c: Likewise.
17911 * grub-core/net/net.c: Likewise.
17912 * grub-core/net/drivers/emu/emunet.c: Likewise.
17913 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17914 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17915 export.h.
17916 * grub-core/Makefile.core.def (net): New module.
17917 (tftp): Likewise.
17918 (ofnet): Likewise.
17919 (emunet): Likewise.
17920 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17921 network protocols.
17922 * grub-core/kern/device.c (grub_net_open) : New variable.
17923 (grub_device_open): Handle network device.
17924 (grub_device_close): Likewise.
17925 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17926 (grub_grubnet_fini): Likewise.
17927 (grub_file_seek): Seek in network device.
17928 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17929 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17930 network root.
17931 (grub_machine_fini): Call grub_grubnet_fini.
17932 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17933 network.
17934 (grub_ieee1275_get_aliasdevname): New function.
17935 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17936 Add unofficial Solaris network info.
17937 (grub_multiboot_make_mbi): Likewise.
17938 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17939 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17940 * include/grub/device.h (grub_fs): Removed.
17941 * include/grub/err.h (grub_err_t): Add network-related values.
17942 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17943 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17944 (grub_ieee1275_get_aliasdevname): New proto.
17945 * include/grub/net.h: Rewritten.
423a1849 17946
031f22a0
VS
179472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17950 names.
17951
4388ca72
VS
179522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17955 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17956 it truncates the output.
17957 Reported by: Ximin Luo.
17958
98e2f506
VS
179592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17962
2a5e94d8
VS
179632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17966 partmap before abstraction.
17967
535c1910
AK
179682011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17969
17970 * util/grub-mkconfig_lib.in: Add missing quotes.
17971
bc09e1a2
VS
179722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17975 old method if mountinfo would return /dev/root and /dev/root doesn't
17976 exist.
17977
290766fb
VS
179782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 ZFS zlib support
17981
17982 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17983 (decomp_table): Add zlib entries.
17984 (zio_read): USe 8 bits for compression function rather than 3.
17985 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17986
179872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * grub-core/disk/ahci.c: Add missing license statements.
17990 * grub-core/fs/romfs.c: Likewise.
17991 * grub-core/lib/ia64/setjmp.S: Likewise.
17992 * grub-core/loader/i386/pc/freedos.c: Likewise.
17993 * grub-core/loader/ia64/efi/linux.c: Likewise.
17994 * grub-core/video/colors.c: Likewise.
17995 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17996
5ab3f48a
VS
179972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 AHCI support.
18000
18001 * grub-core/Makefile.core.def (ata_pthru): Removed.
18002 (ahci): New module.
18003 (pata): Likewise.
18004 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18005 on unload.
18006 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18007 readwrite.
18008 (grub_hdparm_do_check_powermode_cmd): Likewise.
18009 (grub_hdparm_do_smart_cmd): Likewise.
18010 (grub_hdparm_set_val_cmd): Likewise.
18011 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18012 * grub-core/disk/ahci.c: New file.
18013 * grub-core/disk/ata.c: Factor out the low-level part into ...
18014 * grub-core/disk/pata.c: ... here.
18015 * grub-core/disk/ata_pthru.c: Contents moved to ...
18016 * grub-core/disk/pata.c: ... here.
18017 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18018 (grub_scsi_iterate): Use grub_scsi_names.
18019 (grub_scsi_open): Likewise.
18020 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18021 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18022 (grub_ata_regs_t): New struct.
18023 (grub_disk_ata_pass_through_parms): Likewise.
18024 (grub_ata_device): Renamed to ...
18025 (grub_ata): ... this.
18026 (grub_ata_dev): New struct.
18027 Removed all low-level inline functions.
18028 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18029 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18030 iterate hooks and open. All users updated.
18031 * util/grub-install.in: Handle AHCI disk module.
18032
c31dc5f5
SJ
180332011-06-23 Szymon Janc <szymon@janc.net.pl>
18034
18035 Add support for DRI and RSTn markers in JPEG files.
18036
18037 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18038 (JPEG_MARKER_RST0): Likewise.
18039 (JPEG_MARKER_RST1): Likewise.
18040 (JPEG_MARKER_RST2): Likewise.
18041 (JPEG_MARKER_RST3): Likewise.
18042 (JPEG_MARKER_RST4): Likewise.
18043 (JPEG_MARKER_RST5): Likewise.
18044 (JPEG_MARKER_RST6): Likewise.
18045 (JPEG_MARKER_RST7): Likewise.
18046 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18047 (grub_jpeg_decode_dri): New function.
18048 (grub_jpeg_decode_sos): Move image data related part into
18049 grub_jpeg_decode_data function.
18050 (grub_jpeg_decode_data): New function.
18051 (grub_jpeg_reset): New function.
18052 (grub_jpeg_decode_jpeg): Handle new markers.
18053
fe12fd5b
VS
180542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * util/ieee1275/ofpath.c (check_sas): Close fd.
18057 (main): Free of_path.
18058 Reported by: David Volgyes <dvolgyes>.
18059
03147f46
VS
180602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18063 Reported by: David Volgyes <dvolgyes>.
18064
cad3237f
VS
180652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18068 file after stat.
18069 Reported by: David Volgyes <dvolgyes>.
18070
13548d26
VS
180712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18074
18075 Reported by: David Volgyes <dvolgyes>.
18076
e061a1b5
VS
180772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18080 Prevent memory leak.
18081
1abe47dc
VS
180822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18085 (main): Close file.
e061a1b5 18086 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18087
fbc62666
VS
180882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18091 to continue if allocation is failed.
18092
18093 Reported by: David Volgyes <dvolgyes>.
18094
e98c83e9
DV
180952011-06-23 David Volgyes <dvolgyes>
18096
18097 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18098 dereference.
18099
a199a8cd
VS
181002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 Fix spurious warning.
18103
18104 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18105 (acorn_partition_map_find): Use .bin member.
18106
e2d1dba0
VS
181072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18110 /dev/root as a valid device.
18111
8a5d6919
JM
181122011-06-23 Jim Meyering <meyering@redhat.com>
18113
e2d1dba0
VS
18114 Avoid NULL deref in grub_device_open.
18115
8a5d6919
JM
18116 * grub-core/kern/device.c (grub_device_open): Don't dereference
18117 a NULL pointer upon failed grub_env_get.
18118
f7db6f4a
VS
181192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 Support non-512B sectors and agglomerate reads.
18122
18123 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18124 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18125 (disk_io_guid): Removed.
18126 (make_devices): Locate solely by BlockIO.
18127 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18128 (grub_efidisk_read): Use read_blocks.
18129 (grub_efidisk_write): Use write_blocks.
18130 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18131 log_sector_size.
18132 (get_safe_sectors): Handle non-512B sectors.
18133 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18134 sectors.
18135 (grub_biosdisk_write): Handle non-512B sectors.
18136 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18137 (grub_scsi_read): Remove special non-512B block handling (now handled
18138 one level up).
18139 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18140 and do sanity checks.
18141 (grub_disk_adjust_range): Handle non-512B sectors.
18142 (transform_sector): New function.
18143 (grub_disk_read_small): Likewise.
18144 (grub_disk_read): Rewritten.
18145 (grub_disk_write): Handle non-512B sectors.
18146 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18147 log_sector_size.
18148 (open_device): Use log_sector_size.
18149 (grub_util_biosdisk_read): Likewise.
18150 (grub_util_biosdisk_write): Likewise.
18151 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18152 non-512B sectors.
18153 (pc_partition_map_embed): Likewise.
18154 * include/grub/disk.h (grub_disk): New field log_sector_size.
18155 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18156 (GRUB_DISK_CACHE_BITS): Increased to 6.
18157 * util/grub-fstest.c (fstest): New command testload.
18158 (argp_parser): Likewise.
18159
881ac815
RM
181602011-06-16 Robert Millan <rmh@gnu.org>
18161
18162 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18163 `ata' driver on kernel of FreeBSD 9.
18164
18165 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18166 (get_ataraid_disk_name): New functions.
18167 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18168 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18169 get_ataraid_disk_name() and get_ada_disk_name().
18170
1e9aef7d
CW
181712011-06-13 Colin Watson <cjwatson@ubuntu.com>
18172
18173 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18174 input format.
18175
351c7c8a
CW
181762011-05-29 Colin Watson <cjwatson@ubuntu.com>
18177
18178 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18179 `ftp.gnu.org' for `alpha.gnu.org'.
18180
6b4e6430
CW
181812011-05-27 Colin Watson <cjwatson@ubuntu.com>
18182
18183 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18184 partitions under /dev/disk/by-id/.
18185
c64db050
CW
181862011-05-27 Colin Watson <cjwatson@ubuntu.com>
18187
18188 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18189 after ten consecutive open failures. Scanning all the way up to
18190 10000 is excessive and can cause serious performance problems in
18191 some configurations.
18192 Fixes Ubuntu bug #787461.
18193
245f4aba
VS
181942011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18197 opening new one.
18198
f767c929
VS
181992011-05-21 Colin Watson <cjwatson@ubuntu.com>
182002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 Don't stat devices unless we have to.
18203
18204 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18205 dir == /dev/mapper.
18206 (grub_guess_root_device): Use already known os_dev if possible.
18207 * grub-core/kern/emu/hostdisk.c
18208 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18209 if device is known to be a dm one.
18210
f35fa3a6
CW
182112011-05-20 Colin Watson <cjwatson@ubuntu.com>
18212
18213 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18214 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18215 Reported by: Pawel Tecza.
18216
9a79fcf2
VS
182172011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18220 (lsefisystab): Likewise.
18221 (lssal): Likewise.
18222 (lsefimmap): Likewise.
18223 (hdparm): Enable on qemu-mips.
18224 (setjmp): Add ia64 nodist.
18225 (serial): Simplify tags.
18226
63e3eea9
CW
182272011-05-18 Colin Watson <cjwatson@ubuntu.com>
18228
18229 * Makefile.util.def (grub-ofpathname): Install manual page.
18230
09728256
CW
182312011-05-18 Colin Watson <cjwatson@ubuntu.com>
18232
18233 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18234
8b63a142
CW
182352011-05-18 Colin Watson <cjwatson@ubuntu.com>
18236
18237 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18238
e775d8ed
VS
182392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18242 into dprintf.
18243
bf947d36
VS
182442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Use full 64-bit division.
18247
18248 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18249 (grub_divmod64): ... this.
18250 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18251 version.
18252
b84f26c5
CW
182532011-05-18 Colin Watson <cjwatson@ubuntu.com>
18254
18255 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18256 `source'.
18257
5626056f
CW
182582011-05-18 Colin Watson <cjwatson@ubuntu.com>
18259
18260 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18261 to avoid accidents when debugging with 'sh -x'.
18262 * grub-core/gensyminfo.sh.in: Likewise.
18263 * tests/example_scripted_test.in: Likewise.
18264 * tests/grub_cmd_regexp.in: Likewise.
18265 * tests/grub_script_blanklines.in: Likewise.
18266 * tests/grub_script_dollar.in: Likewise.
18267 * tests/grub_script_expansion.in: Likewise.
18268 * tests/grub_script_final_semicolon.in: Likewise.
18269 * tests/partmap_test.in: Likewise.
18270 * tests/util/grub-shell-tester.in: Likewise.
18271 * tests/util/grub-shell.in: Likewise.
18272
e2965f4a
CW
182732011-05-18 Colin Watson <cjwatson@ubuntu.com>
18274
18275 Move gfxmenu color handling to video, so that gfxterm can use it
18276 too.
18277
18278 * grub-core/gfxmenu/named_colors.c: Move to ...
18279 * grub-core/video/colors.c: ... here. Rename
18280 grub_gui_get_named_color to grub_video_get_named_color.
18281 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18282 * grub-core/video/colors.c (my_isxdigit): ... here.
18283 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18284 Move to ...
18285 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18286 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18287 to ...
18288 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18289
18290 * include/grub/gui.h (grub_gui_color_t): Move to ...
18291 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18292 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18293 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18294 * include/grub/gui.h (grub_gui_map_color): Move to ...
18295 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18296 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18297 to ...
18298 * include/grub/video.h (grub_video_get_named_color): ... here.
18299 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18300 * include/grub/video.h (grub_video_parse_color): ... here.
18301
18302 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18303 video/colors.c.
18304 (gfxmenu): Remove gfxmenu/named_colors.c.
18305 (video) [videomodules]: Add video/colors.c.
18306
18307 Add a background_color command.
18308
18309 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18310 function.
18311 (GRUB_MOD_INIT): Register background_color command.
18312 (GRUB_MOD_FINI): Unregister background_color command.
18313 (redraw_screen_rect): Allow blend/replace of text layer to be
18314 controlled independently from whether there is a background bitmap.
18315 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18316 changing bitmap.
18317
1e4b4390
VS
183182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18319
26618ff0
VS
18320 Patch BPB in ntldr and chainloader --bpb.
18321
1e4b4390
VS
18322 * grub-core/fs/fat.c: Include grub/fat.h.
18323 (grub_fat_bpb): Moved to ...
18324 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18325 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18326 grub/ntfs.h.
18327 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18328 Moved from here...
18329 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18330 here.
18331 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18332 New function.
18333 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18334 (GRUB_MOD_INIT): Show --bpb.
18335 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18336 * grub-core/normal/main.c (features): New variable.
18337 (GRUB_MOD_INIT): Set feature_* variables.
18338 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18339 proto.
18340 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18341
cf02731e
VS
183422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18345 for cleanness.
18346
e3a1073f
VS
183472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 FreeDOS direct loading support.
18350
18351 * docs/grub.texi (Supported OS): Add FreeDOS.
18352 * grub-core/Makefile.core.def (freedos): New module.
18353 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18354 variable.
18355 (grub_relocator16_boot): Handle %ebx.
18356 * grub-core/lib/i386/relocator16.S: Likewise.
18357 * grub-core/loader/i386/pc/freedos.c: New file.
18358
05caa461
VS
183592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 Long Linux command line support.
18362
18363 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18364 (maximal_cmdline_size): New variable.
18365 (allocate_pages): Use maximal_cmdline_size.
18366 (grub_cmd_linux): Set and use maximal_cmdline_size.
18367 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18368 (allocate_pages): Use maximal_cmdline_size.
18369 (grub_cmd_linux): Set and use maximal_cmdline_size.
18370 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18371 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18372 and cmdline_size.
18373
a2491e23
VS
183742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
183752011-05-18 Colin Watson <cjwatson@ubuntu.com>
18376
18377 Improve devmapper support
18378
18379 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18380 (grub_util_is_lvm): New function.
18381 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18382 than lvm if not dmraid.
18383 Handle mapped md nodes.
18384 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18385 (grub_util_device_is_mapped): ... this. Make always available. All users
18386 updated.
18387 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18388 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18389 dmraid nodes.
18390 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18391
6ad6223e
VS
183922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18395
18396 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18397 * grub-core/modinfo.sh.in: New file.
18398 * grub-core/Makefile.core.def (modinfo.sh): New script.
18399 * util/grub-mknetdir.in: Use modinfo.sh.
18400 * util/grub-mkrescue.in: Likewise.
18401
543a8f6e
VS
184022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18405 Fix potential usage of Elf32 instead of Elf64 when compiling on
18406 32-bit architecture. Add endianness macros while on it.
18407
4959e111
VS
184082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Use mipsel- rather than mips- in directories involving mipsel ports to
18411 allow both endiannesses coexist.
18412
18413 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18414 mips. All conditions adjusted.
18415 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18416 variable.
18417 * util/grub-install.in: Adjust conditions to take renaming into account.
18418 * util/grub-mkimage.c (image_targets): Likewise. New target
18419 mips-qemu_mips-elf for bigendian mips.
18420
35341bbc
VS
184212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18422
18423 Avoid unnecessary copying on MIPS.
18424
18425 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18426 early if src == dest.
18427 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18428 compression is none.
18429
b772baed
VS
184302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 Reduce memory footprint on SGI by putting modules before the kernel
18433 as opposed to after.
18434
18435 * grub-core/Makefile.core.def (kernel): Increase linking address.
18436 (none_decompress): Likewise.
18437 (xz_decompress): Likewise.
18438 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18439 address.
18440 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18441 layout change.
18442 (grub_arch_modules_addr): New function.
18443 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18444 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18445 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18446 here.
18447 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18448 (grub_total_modules_size): ... this. Make global.
18449 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18450 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18451 New definition.
18452 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18453 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18454 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18455 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18456 * util/grub-mkimage.c (image_target_desc): New flag
18457 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18458 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18459 (generate_image): Handle images with modules before kernel.
18460
566a1917
VS
184612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 Prevent potential loss of memory map by overwrite on qemu-mips.
18464
18465 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18466 Save ram size in $s4.
18467 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18468 All users changed to grub_arch_memsize.
18469 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18470 Loongson.
18471 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18472 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18473 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18474 external variable.
18475
5d420cd9
CW
184762011-05-17 Colin Watson <cjwatson@ubuntu.com>
18477
18478 * .bzrignore: Remove grub-dumpbios.
18479
d064b830
CW
184802011-05-17 Colin Watson <cjwatson@ubuntu.com>
18481
18482 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18483 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18484 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18485 existing options which append).
18486 * docs/grub.texi (Simple configuration): Document new options.
18487 Reported by: Ian Jackson. Fixes Debian bug #617538.
18488
3ca2b466
CW
184892011-05-17 Colin Watson <cjwatson@ubuntu.com>
18490
18491 * util/grub-fstest.c (cmd_cat): New function.
18492 (fstest): Handle CMD_CAT.
18493 (options): Add cat.
18494 (argp_parser): Handle cat.
18495
24c9143a
CW
184962011-05-17 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * Makefile.util.def (grub-bin2h): Don't install.
18499 * docs/man/grub-bin2h.h2m: Remove.
18500
90f7ac19
VS
185012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18504 place.
18505
8d4a5178
VS
185062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 Reenable qemu-mips port.
18509
18510 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18511 Fix small arc bug while on it.
18512 * gentpl.py: Handle qemu_mips.
18513 * grub-core/Makefile.am: Likewise.
18514 * grub-core/Makefile.core.def: Likewise.
18515 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18516 inappropriate includes.
18517 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18518 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18519 * grub-core/kern/main.c (grub_modules_get_end)
18520 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18521 * grub-core/kern/mips/qemu-mips: Moved to ..
18522 * grub-core/kern/mips/qemu_mips: ... this.
18523 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18524 (grub_machine_init): Call terminfo_init and serial_init.
18525 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18526 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18527 New variable.
18528 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18529 parameter passing.
18530 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18531 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18532 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18533 * include/grub/mips/qemu_mips/cmos.h: New file.
18534 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18535 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18536 Removed.
18537 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18538 Use correct mips-style address.
18539 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18540 (GRUB_TICKS_PER_SECOND): Removed.
18541 (grub_get_rtc): Likewise.
18542 (grub_cpu_idle): Likewise.
18543 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18544 New definition.
18545 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18546 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18547 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18548 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18549 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18550 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18551 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18552 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18553
400b9371
VS
185542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18555
18556 SGI ARCS port.
18557
18558 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18559 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18560 platforms.
18561 * configure.ac: New target mips-arc.
18562 * gentpl.py: Likewise.
18563 * grub-core/Makefile.am: Likewise.
18564 * grub-core/Makefile.core.def: Likewise.
18565 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18566 (none_decompress): Likewise.
18567 (lsdev): New module.
18568 (datetime): Use lib/arc/datetime.c on ARC.
18569 (part_dvh): New module.
18570 * grub-core/commands/arc/lsdev.c: New file.
18571 * grub-core/disk/arc/arcdisk.c: Likewise.
18572 * grub-core/kern/mips/arc/init.c: Likewise.
18573 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18574 aligned addresses.
18575 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18576 support.
18577 (grub_arch_dl_relocate_symbols): Likewise.
18578 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18579 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18580 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18581 platforms.
18582 * grub-core/lib/arc/datetime.c: New file.
18583 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18584 pci.h on non-loongson.
18585 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18586 (grub_linux_boot): Set unused registers to 0.
18587 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18588 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18589 * grub-core/mmap/mips/uppermem.c: ...here.
18590 * grub-core/partmap/dvh.c: New file.
18591 * grub-core/term/arc/console.c: Likewise.
18592 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18593 (grub_terminfo_set_current): Add terminal "arc".
18594 (grub_terminfo_readkey): Support ARC sequences.
18595 * include/grub/arc/arc.h: New file.
18596 * include/grub/arc/console.h: Likewise.
18597 * include/grub/disk.h (grub_disk_dev_id): Add
18598 GRUB_DISK_DEVICE_ARCDISK_ID.
18599 * include/grub/mips/arc/kernel.h: New file.
18600 * include/grub/mips/arc/memory.h: Likewise.
18601 * include/grub/mips/arc/time.h: Likewise.
18602 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18603 * include/grub/mips/kernel.h (grub_halt): ... here.
18604 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18605 here...
18606 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18607 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18608 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18609 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18610 proto.
18611 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18612 from here ...
18613 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18614 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18615 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18616 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18617 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18618 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18619 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18620 (grub_phys_addr_t): Moved from here ...
18621 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18622 (grub_vtop): Moved from here ...
18623 * include/grub/mips/memory.h (grub_vtop): ... here.
18624 (grub_map_memory): Moved from here ...
18625 * include/grub/mips/memory.h (grub_map_memory): ... here.
18626 (grub_unmap_memory): Moved from here ...
18627 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18628 (grub_machine_mmap_iterate): Moved from here ...
18629 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18630 (grub_mmap_get_lower): Moved from here ...
18631 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18632 (grub_mmap_get_upper): Moved from here ...
18633 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18634 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18635 here ...
18636 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18637 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18638 here ...
18639 * include/grub/mips/time.h (grub_get_rtc): ... here.
18640 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18641 here ...
18642 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18643 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18644 here ...
18645 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18646 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18647 definition.
18648 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18649 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18650 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18651 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18652 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18653 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18654 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18655 (GRUB_MACHINE_LINK_ADDR): Likewise.
18656 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18657 to 6.
18658 * util/grub-install.in: Run dvhtool on ARC.
18659 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18660 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18661
c8ecc840
VS
186622011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18665 blocks.
18666
153a4b55
VS
186672011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18670 after enabling port.
18671
ff44d107
VS
186722011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 Skip incorrect USB devices.
18675
18676 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18677 configcnt == 0.
18678 * include/grub/usb.h (grub_usb_err_t): New enum value
18679 GRUB_USB_ERR_BADDEVICE.
18680
638dbe4f
VS
186812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 Fuloong video init support.
18684
18685 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18686 well.
18687 (grub_vga_read_arx): New function.
18688 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18689 definition.
18690 (framebuffer): New members io, mmioptr and mmiobase.
18691 (read_sis_cmd): New function.
18692 (write_sis_cmd): Likewise.
18693 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18694 rather than 640x400.
18695 * grub-core/video/sis315_init.c: New file.
18696
c3fc520c
VS
186972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18700 non-loongson.
18701 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18702 to grub_dl_register_symbol.
18703
67b1e5c9
VS
187042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 Fix compilation errors.
18707
18708 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18709 potentially unused.
18710 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18711 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18712 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18713 to loongson machines.
18714
b756f75f
VS
187152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18716
18717 Several FS mtime support.
18718
18719 * grub-core/fs/affs.c (grub_affs_time): New struct.
18720 (grub_affs_file): New field mtime.
18721 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18722 type. Removed 'size'. New field 'di'. All users updated.
18723 (grub_affs_mount): Simplify checsum checking.
18724 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18725 (grub_affs_dir): Handle mtime.
18726 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18727 (grub_cpio_dir): Likewise.
18728 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18729 (grub_hfs_filerec): New field mtime.
18730 (grub_hfs_dir): Handle mtime.
18731 (grub_hfs_mtime): New function.
18732 (grub_hfs_fs): Register grub_hfs_mtime.
18733 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18734 (grub_iso9660_dir): New field mtime.
18735 (grub_fshelp_node): New field dirent.
18736 (iso9660_to_unixtime): New function.
18737 (iso9660_to_unixtime2): Likewise.
18738 (grub_iso9660_read_symlink): Use node->dirent.
18739 (grub_iso9660_iterate_dir): Likewise.
18740 (grub_iso9660_dir): Set mtime.
18741 (grub_iso9660_mtime): New function.
18742 (grub_iso9660_fs): Register grub_iso9660_mtime.
18743 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18744 (grub_jfs_inode): New fields atime, ctime and mtime.
18745 (grub_jfs_dir): Set mtime.
18746 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18747 * grub-core/fs/ntfs.c (list_file): Set mtime.
18748 (grub_ntfs_dir): Likewise.
18749 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18750 (grub_reiserfs_iterate_dir): Set mtime.
18751 (grub_reiserfs_dir): Likewise.
18752 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18753 (grub_fshelp_node): Likewise.
18754 (grub_sfs_iterate_dir): Set mtime.
18755 (grub_sfs_dir): Likewise.
18756 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18757 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18758 (grub_xfs_inode): New fields atime, mtime, ctime.
18759 (grub_xfs_dir): Set mtime.
18760 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18761 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18762 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18763
18764 Support UDF symlinks.
18765
18766 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18767 (grub_ufs_read_symlink): New function. All users updated.
18768
18769 Check amiga partmap checksum.
18770
18771 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18772 (grub_amiga_partition): Likewise.
18773 (amiga_partition_map_checksum): New function.
18774 (amiga_partition_map_iterate): Check checksum.
18775
5470225d
VS
187762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 ROMFS support.
18779
18780 * Makefile.util.def (libgrubmods.a): Add romfs.
18781 * grub-core/Makefile.core.def (romfs): New module.
18782 * grub-core/fs/romfs.c: New file.
18783
d4680a35
VS
187842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 Squashfs v4 support.
18787
18788 * Makefile.util.def (libgrubmods.a): Add squash4.
18789 * grub-core/Makefile.core.def (squash4): New module.
18790 * grub-core/fs/squash4.c: New file.
18791 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18792 disk_input_start, disk_input.
18793 (get_byte): Handle disk_input.
18794 (grub_zlib_disk_read): New function.
18795 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18796
bcb18e74
FZ
187972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
187982011-05-15 Feiran Zheng <famcool@gmail.com>
18799
18800 * Makefile.util.def (libgrubmods.a): Add minix3.
18801 * grub-core/Makefile.core.def (minix3): New module.
18802 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18803 (GRUB_MINIX_BSIZE): Removed.
18804 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18805 (grub_minix_ino_t): New type.
18806 (grub_minix_le_to_cpu_ino): New macro.
18807 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18808 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18809 (grub_minix_data): New field block_size.
18810 (grub_minix_read_file): Handle 64-bit correctly.
18811 * grub-core/fs/minix3.c: New file.
18812
32297d5f
TG
188132011-05-15 Tristan Gingold <gingold@free.fr>
188142011-05-15 Robert Millan <rmh.grub@aybabtu.com>
188152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 IA64 support.
18818
18819 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18820 * configure.ac: Add ia64-efi target.
18821 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18822 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18823 * gentpl.py: Add ia64_efi platform.
18824 Rename x86_efi to efi and Add ia64-efi. All users updated.
18825 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18826 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18827 Remove kern/generic/rtc_get_time_ms.c on EFI.
18828 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18829 kern/ia64/dl_helper.c on ia64-efi.
18830 Add kern/emu/cache.c on emu.
18831 (linux): Use on loader/ia64/efi/linux.c on ia64.
18832 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18833 whether symbol is a function.
18834 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18835 (grub_symbol): New field 'isfunc'.
18836 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18837 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18838 (grub_dl_load_segments): Place all sections into the same region.
18839 [__ia64__]: Create trampolines and got.
18840 [GRUB_MACHINE_EMU]: Call mprotect.
18841 (grub_dl_resolve_symbols): Resolve symbol type as well.
18842 [__ia64__]: Create function descriptors.
18843 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18844 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18845 (grub_get_rtc): New function.
18846 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18847 * grub-core/kern/emu/cache.S: Renamed to ...
18848 * grub-core/kern/emu/cache_s.S: ... this.
18849 [__ia64__]: Add a nop.
18850 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18851 [__ia64__]: New function.
18852 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18853 * grub-core/kern/ia64/dl.c: New file.
18854 * grub-core/kern/ia64/dl_helper.c: Likewise.
18855 * grub-core/kern/ia64/efi/init.c: New file.
18856 * grub-core/kern/ia64/efi/startup.S: Likewise.
18857 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18858 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18859 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18860 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18861 * grub-core/loader/ia64/efi/linux.c: New file.
18862 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18863 (GRUB_MOD_DEP): Likewise.
18864 (grub_dl) [__ia64__]: New fields got and tramp.
18865 (grub_dl): New field 'base'.
18866 (grub_dl_register_symbol): New argument isfunc. All users updated.
18867 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18868 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18869 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18870 (grub_ia64_dl_get_tramp_got_size): New proto.
18871 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18872 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18873 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18874 * include/grub/efi/api.h: Skip call wrappers on ia64.
18875 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18876 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18877 * include/grub/elf.h (ELF_ST_INFO): New definition.
18878 * include/grub/ia64/efi/kernel.h: New file.
18879 * include/grub/ia64/efi/memory.h: Likewise.
18880 * include/grub/ia64/efi/time.h: Likewise.
18881 * include/grub/ia64/kernel.h: Likewise.
18882 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18883 * include/grub/ia64/time.h: New file.
18884 * include/grub/ia64/types.h: Likewise.
18885 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18886 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18887 New protos.
18888 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18889 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18890 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18891 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18892 All users updated.
18893 (EFI64_HEADER_SIZE): New definition. All users updated.
18894 (image_targets): Add ia64-efi.
18895 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18896 jumpers_addr. All users updated.
18897 Create function descriptors.
18898 (count_funcs): New function.
18899 (unaligned_uint32): New struct.
18900 (MASK20): New definition.
18901 (MASK19): Likewise.
18902 (MASKF21): Likewise.
18903 (add_value_to_slot_20b): New function.
18904 (add_value_to_slot_21_real): Likewise.
18905 (add_value_to_slot_21): Likewise.
18906 (ia64_kernel_trampoline): New struct.
18907 (nopm): New variable.
18908 (jump): Likewise.
18909 (make_trampoline): New function.
18910 (relocate_addresses): Handle ia64.
18911 (make_reloc_section): Likewise.
18912 (load_image): Likewise.
18913
983b414d
VS
189142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18917 warning. Move variables before code while on it.
18918
5d063cdc
VS
189192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 Fuloong support.
18922
18923 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18924 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18925 * grub-core/boot/mips/loongson/fuloong.S: New file.
18926 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18927 Explicitly init CS5536.
18928 [FULOONG]: Don't use serial until CS5536 is available.
18929 Set GPIO based on dumps.
18930 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18931 [FULOONG]: Handle GPIO and memory controller differences.
18932 Parse machine type in $a2.
18933 * grub-core/boot/mips/startup_raw.S: Determine and save the
18934 architecture.
18935 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18936 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18937 init on architecture type.
18938 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18939 SIS315E. Don't init at_keyboard on fuloong.
18940 (grub_halt): Support Fuloong.
18941 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18942 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18943 (loongson_machtypes): New array.
18944 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18945 type.
18946 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18947 config. All users updated. Handle CS5536 serial.
18948 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18949 default port on machine type. Register serial as inactive.
18950 * grub-core/video/sis315pro.c: New file.
18951 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18952 definition.
18953 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18954 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18955 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18956 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18957 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18958 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18959 to ...
18960 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18961 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18962 definition.
18963 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18964 (grub_arch_machine): New extern var.
18965 * include/grub/mips/loongson/serial.h
18966 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18967 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18968 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18969 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18970 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18971 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18972 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18973 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18974 * include/grub/term.h (grub_term_register_input_inactive): New inline
18975 function.
18976 (grub_term_register_output_inactive): Likewise.
18977 * include/grub/video.h (grub_video_driver_id): New value
18978 GRUB_VIDEO_DRIVER_SIS315PRO.
18979 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18980 New field "names". All users updated.
18981 New field value IMAGE_FULOONG_FLASH.
18982 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18983
6ada82d1
JU
189842011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18985
18986 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18987 and add some clarification.
18988
90c571a4
VS
189892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18992 platforms if kernel is compressed.
18993
de04eecf
VS
189942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18997 unused modules since currently referrence counter isn't reliable and
18998 there isn't much memory to recover there anyway.
18999
57688121
VS
190002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19003 rather than resetting it to allow modules to reference themselves
19004 in init.
19005
3d2c7e35
VS
190062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19009 counter on dependencies since grub_dl_unref already handles this.
19010
b25db218
VS
190112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19014 on error if not already done.
19015
25a45338
VS
190162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 Fix few potential memory misusage.
19019
19020 * grub-core/font/font.c (load_font_index): Don't free char_index to
19021 avoid double free.
b25db218
VS
19022 (grub_font_load): Zero-fill font at alloc for safety.
19023 Close file on error.
19024 (free_font): Free bmp_idx.
25a45338 19025
0cac83df
VS
190262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 * docs/grub.texi (Installation): Fix several outdated claims.
19029
2217a143
VS
190302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 Handle module_license on windows.
19033
19034 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19035 sections shifted.
19036 (insert_string): Make argument const char * instead of char *.
19037 (write_section_data): Handle long section names.
19038 Handle module_license.
19039
d4de6b01
VS
190402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19043 handle class-free menuentries.
19044 (grub_normal_add_menu_entry): Add a check to be sure.
19045
4c2a3b43
VS
190462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19049 PgUp and PgDown.
19050
85c6210f
VS
190512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 * configure.ac: Bump version to 1.99.
19054
36084912
VS
190552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 Give ATA device a bit more time on first try in order to allow disks
19058 to spin up.
19059
19060 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19061 if dev->present is 1. Reset dev->present on failure.
19062 (grub_ata_device_initialize): Set dev->present to 1.
19063 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19064 (grub_ata_device): New member 'present'.
19065
bda0e219
VS
190662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * util/grub-mkimage.c (generate_image): Update hash.
19069
19e1c41b
VS
190702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 Flush caches on DMA memory.
19073
19074 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19075 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19076 (grub_dma_free): Likewise.
19077 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19078
91bbcc0c
VS
190792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19082 to avoid asm treating ld and sd as macros.
19083
60ddfad3
VS
190842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19087 decompressor.
19088
a298aa04
VS
190892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19092 grub_decompress_core since later would fail if grub_decompress_core
19093 is too far.
19094
9b44feca
VS
190952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19098 R_MIPS_JALR since it's used by newer compiler.
19099
56dbe7b4
VS
191002011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19103
52856af2
VS
191042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19107 file_path to 0 for surety.
19108 (grub_chainloader_boot): Set exit_data to NULL.
19109 Unset the loader once done.
19110 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19111
9c9bfc6d
VS
191122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19115 unknown key into a dprintf.
19116
dd94a3df
VS
191172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19120 on first non-existant partition.
19121
fa68d99c
VS
191222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19125 openning fails.
19126 Reported by: Mark Korenberg.
19127
157effb7
VS
191282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19131 overflow.
19132
ea75312f
VS
191332011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19136 before closing to ensure that it will be readable by grub-setup.
19137
072b5d31
VS
191382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19141 (devpath_1): Use MAKE_PIWG_PATH.
19142 (devpath_2): Likewise.
19143 (devpath_3): Likewise.
19144 (devpath_4): Likewise.
19145 (devpath_5): Likewise.
19146 (devpath_6): Likewise.
19147
19148 The appleldr.mod was checked that to be binary identical to previous
19149 version.
19150
7fae0051
Z
191512011-05-05 Zach <mikezackles>
19152
19153 Support 2010 Macbooks.
19154
19155 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19156 (devs): Add devpath_6.
19157
7c515bee
VS
191582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19161 /dev/random. /dev/urandom is good enough for our purposes (salting).
19162
ed660bd8
VS
191632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19166
ee5614b7
VS
191672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19170 hexadecimal.
19171
664889a6
VS
191722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19175 and not 0 on failure.
19176
bd405bbc
CW
191772011-05-03 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19180 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19181 disk; otherwise grub_fs_probe will not fall back to the next
19182 filesystem.
19183 (grub_pxefs_open): Likewise, for consistency.
19184 Reported and tested by: Ezekiel Grave.
19185
4ebff753
CW
191862011-05-03 Colin Watson <cjwatson@ubuntu.com>
19187
19188 * tests/partmap_test.in: Don't hardcode path to parted.
19189 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19190
8f942553
CW
191912011-05-01 Colin Watson <cjwatson@ubuntu.com>
19192
19193 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19194 of `ls' to find out which devices are available.
19195
3c62402d
VS
191962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19199 than source address for efi mmap buffer.
19200
723f63f2
VS
192012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19204 wrong action on non-detecting the magic.
19205
68797f92
VS
192062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19209 already supplied by another part of the module (fixes compilation on
19210 FreeBSD).
19211
6be8715d
VS
192122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19215 match the one used by mdadm.
19216
e91dba5b
CW
192172011-04-21 Colin Watson <cjwatson@ubuntu.com>
19218
19219 * po/README: Add instructions for creating po/LINGUAS.
19220
c85140b3
CW
192212011-04-21 Colin Watson <cjwatson@ubuntu.com>
19222
19223 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19224 #551428.
19225
19226 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19227 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19228 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19229 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19230 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19231 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19232 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19233 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19234 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19235 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19236 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19237 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19238 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19239 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19240 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19241 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19242 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19243 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19244 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19245 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19246 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19247 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19248
92051871
CW
192492011-04-21 Colin Watson <cjwatson@ubuntu.com>
19250
19251 * grub-core/kern/emu/getroot.c
19252 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19253 test that was incorrectly reintroduced in r3214.
19254 Reported by: Ian Dall. Fixes Savannah bug #33133.
19255
b13f79a4
CW
192562011-04-21 Colin Watson <cjwatson@ubuntu.com>
19257
19258 Fix stack pointer handling in 16-bit relocator.
19259
19260 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19261 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19262 Fixes Ubuntu bug #683904.
19263
9b710a88
VS
192642011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 * configure.ac: Bump version to 1.99~rc2.
19267
d97e7b59
VS
192682011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19271 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19272 * grub-core/lib/x86_64/setjmp.S: Likewise.
19273 * grub-core/lib/mips/setjmp.S: Likewise.
19274 * grub-core/lib/powerpc/setjmp.S: Likewise.
19275 * grub-core/lib/sparc64/setjmp.S: Likewise.
19276
0624551c
VS
192772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19280 * grub-core/lib/efi/datetime.c: Likewise.
19281
e8f28d4c
VS
192822011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19285 New function.
19286 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19287 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19288 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19289
bba79a15
VS
192902011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19293 bitmap.
19294 (grub_gfxterm_term_init): Likewise.
19295
abc474ef
VS
192962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 Take into account the decorations the computing menu entry width.
19299
19300 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19301 (grub_gfxmenu_create_box): Register get_border_width.
19302 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19303 if available.
19304 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19305 get_border_width.
19306
e74b3947
EP
193072011-04-18 Endres Puschner <code@e7p.de>
19308
19309 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19310 Don't skip first class.
19311
34faa595
VS
193122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19315 chunks.
19316 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19317
93a777e3
VS
193182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 Complete 64-bit division support.
19321
19322 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19323 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19324 * include/grub/misc.h (grub_divmod64): Rename to ...
19325 (grub_divmod64_full): ... this.
19326 (grub_divmod64): New inline function.
19327
a5102d94
VS
193282011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19331
f3fb7b36
VS
193322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19335 performing the necessary test.
19336
9ac718b0
VS
193372011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19340 (kfreebsd.elf): Likewise.
19341 (pc-chainloader.elf): Likewise.
19342 (ntldr.elf): Likewise.
19343
50d2cc5a
VS
193442011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 Identify RAID by its UUID rather than (guessed) name.
19347
19348 * grub-core/disk/raid.c (ascii2hex): New function.
19349 (grub_raid_open): Accept mduuid/%s specification.
19350 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19351 (get_mdadm_uuid): ... this.
19352 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19353
e03f7bea
VS
193542011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19357 to negative size.
19358
e74c3112
CW
193592011-04-13 Colin Watson <cjwatson@ubuntu.com>
19360
19361 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19362 btrfs subvolume.
19363 * util/grub.d/20_linux_xen.in: Likewise.
19364
78fa584f
CW
193652011-04-13 Colin Watson <cjwatson@ubuntu.com>
19366
19367 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19368 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19369
19370 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19371 Build a list of relevant visible mounts using the mnt_id and
19372 parent_mnt_id fields, and then scan that list at the end.
19373
9d5f8162
CW
193742011-04-12 Colin Watson <cjwatson@ubuntu.com>
19375
19376 * docs/grub.texi (normal): New section.
19377 (normal_exit): New section.
19378 (Embedded configuration): Add reference to normal.
19379 (GRUB only offers a rescue shell): Likewise.
19380 * docs/grub-dev.texi (Error Handling): Fix typo.
19381
09a9d66f
CW
193822011-04-12 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * NEWS: Drop obsolete entry about probe-only btrfs support.
19385
0c676933
CW
193862011-04-12 Colin Watson <cjwatson@ubuntu.com>
19387
19388 * util/import_gcry.py: Fix typo.
19389
ec9f5e0d
VS
193902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19391
19392 * NEWS: Add btrfs support.
19393
fe6b2cba
VS
193942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
193952011-04-11 Colin Watson <cjwatson@ubuntu.com>
19396
19397 BtrFS support. Written by me (Vladimir) with important bugfixes and
19398 even more important testing by Colin.
19399
19400 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19401 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19402 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19403 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19404 mem_input_off and mem_input. All users updated to accept in-RAM input.
19405 (gzio_seek): New function.
19406 (test_zlib_header): Likewise.
19407 (grub_gzio_read): Likewise.
19408 (grub_zlib_decompress): Likewise.
19409 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19410 Accept partial and non-virtual mounts.
19411 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19412 avoid receiving /dev/dm-X as device.
19413 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19414 Handle bind and partial mounts.
19415 * grub-core/lib/crc.c: New file.
19416 * include/grub/deflate.h: Likewise.
19417 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19418 proto.
19419 * include/grub/lib/crc.h: New file.
19420
e745cf0c
VS
194212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Implement automatic module license checking according to new GNU
19424 guidelines.
19425
19426 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19427 (grub_dl_load_core): Use grub_dl_check_license.
19428 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19429 (GRUB_MOD_LICENSE): Likewise.
19430 (GRUB_MOD_DUAL_LICENSE): Likewise.
19431 All modules updated.
19432
2a9bc016
CW
194332011-04-11 Colin Watson <cjwatson@ubuntu.com>
19434
19435 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19436 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19437 loaders.
19438 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19439
8a3bc88e
VS
194402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19443
af869a4a
VS
194442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19447 failed.
19448
9ee8d94f
VS
194492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19452 parenthesis in the middle of the filename.
19453
b01abe3e
VS
194542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19457 rather than trying to put initrd way too high.
19458 Reported by: Ryan Lortie <desrt@desrt.ca>
19459
335bda1e
VS
194602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19463 improperly removed string.
19464
5ca1a64d
VS
194652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19468 is_disk.
19469 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19470 (open_device) Likewise.
19471 (grub_util_biosdisk_close): Likewise.
d8ce9995 19472 Reported by: Mark Korenberg.
5ca1a64d 19473
cbac5b1e
AK
194742011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19475
19476 * util/grub-mkconfig_lib.in: Add missing quotes.
19477
088cdb65
CW
194782011-04-10 Colin Watson <cjwatson@ubuntu.com>
19479
19480 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19481 is NULL.
19482
8b8a81fa
VS
194832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 Dynamically count the number of lines for the lower banner.
19486
19487 * grub-core/normal/menu_entry.c (per_term_screen): New member
19488 num_entries.
19489 (print_down): Use num_entries.
19490 (update_screen): Likewise.
19491 (grub_menu_entry_run): Set num_entries.
19492 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19493 num_entries.
19494 (grub_print_message_indented): Move real part to ...
19495 (grub_print_message_indented_real): ... here. Additional argument
19496 dry_run.
19497 (draw_border): Additional argument num_entries.
19498 (print_message): Additional argument dry_run.
19499 (print_entries): Receive menu viewer data.
19500 (grub_menu_init_page): New argment num_entries.
19501 (menu_text_set_chosen_entry): Use num_entries.
19502 (grub_menu_try_text): Likewise.
19503 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19504 All users updated.
19505 (grub_ucs4_count_lines): New function.
19506 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19507 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19508 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19509 (grub_term_border_height): Likewise.
19510 (grub_term_num_entries): Likewise.
19511
277f955b
VS
195122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19515 Remove now unused string.
19516
536ce85a
CW
195172011-04-09 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19520 build system.
19521 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19522
19523 (Comment): Fix typo.
19524 (Getting started): General copy-editing.
19525 (Typical Development Experience): Likewise.
19526 (Error Handling): Likewise.
19527 (Video API): Likewise.
19528
2cf09e32
CW
195292011-04-09 Colin Watson <cjwatson@ubuntu.com>
19530
19531 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19532 throughout.
19533
1ec652f4
VS
195342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19537 directory.
19538
2c583728
CW
195392011-04-08 Colin Watson <cjwatson@ubuntu.com>
19540
19541 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19542 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19543 "development".
19544
d7a565e9
VS
195452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19546
19547 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19548 grub_strcpy since the lines aren't necessarily 0-terminated.
19549
7c2e4909
VS
195502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19553 root on legacy.
19554
34c09785
VS
195552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19558 (GRUB_MOD_INIT): DEVICE isn't optional.
19559
6a6f8058
VS
195602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19563 word on new line if it's too long anyway. Fixes a hang.
19564
2e335e90
VS
195652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19566
19567 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19568 const.
19569 * util/grub-setup.c (main): Reuse md device name if available.
19570 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19571 not GRUB name as argument.
19572 Based on patch by: Florian Wagner <fwagner>.
19573
10a7a867
VS
195742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19575
19576 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19577 Place mbi on low memory for better compatibility.
19578
7a3d6cd9
VS
195792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19582
18dd6b47
VS
195832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
195842011-04-08 Colin Watson <cjwatson@ubuntu.com>
19585
19586 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19587 * conf/Makefile.common: Likewise.
18dd6b47 19588
3c0e3f14
VS
195892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19590
f7148863
VS
19591 * grub-core/normal/menu.c: Add missing include.
19592
195932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19596
6d1fa41f
MZ
195972011-04-08 Martin Zuther <mzuther@mzuther.de>
19598
19599 * util/grub-mkconfig.in: Ignore emacsen backup.
19600
478182a8
VS
196012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19604 on open.
19605 (grub_util_biosdisk_close): Likewise.
19606
72a89a54
VS
196072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19610 const attribute and use grub_isdigit.
19611
b5ebecfa
A
196122011-04-06 Andrey <dev_null@ukr.net>
19613
19614 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19615 gcc warning.
19616
7755f66e
VS
196172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19620 useful grub_dprintf's.
19621
461121ff
VS
196222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19625
2a961775
VS
196262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19629
adf594cc
VS
196302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 Output errors if theme loading failed.
19633
19634 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19635 grub_gfxterm_fullscreen on error paths to ...
19636 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19637 theme loading error.
19638
665900a3
VS
196392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19640
19641 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19642 space for older compilers.
19643 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19644
a562b479
VS
196452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19648 and report them as not RAID members since they are useless for GRUB.
19649 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19650
850e9373
VS
196512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 Increase LVM implementation robustness in order not to crash on
19654 configurations like pvmove. Previously code assumed that in some places
19655 only lvs or only pvs are used whereas it seems that they are used
19656 interchangeably.
19657
19658 * grub-core/disk/lvm.c (read_node): New function.
19659 (read_lv): Use read_node.
19660 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19661 Match volumes only at the end when all lvs are found. Take both
19662 pvs (first) and lvs (second) into account.
19663 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19664 mirror_* into node_*. All users updated.
19665 (grub_lvm_stripe): Merge this ...
19666 (grub_lvm_mirror): ... and this ...
19667 (grub_lvm_node): ... into this. All users updated.
19668
6f332153
VS
196692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19672 of function to allow further scanning for LVMs.
19673
829ea451
VS
196742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19677 on failed seek as it breaks open fd reusage.
19678
09ceb9a5
VS
196792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19680
19681 * util/grub-install.in: Add a recommendation to use --recheck before
19682 reporting bugs.
19683
67e11623
VS
196842011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19687 are obtained.
19688
caee5efd
VS
196892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 GRUB developper manual based on existing Internals section and
19692 contributions by the various authors with active copyright assignment.
19693
19694 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19695 * docs/font_char_metrics.png: New file.
19696 * docs/font_char_metrics.txt: Likewise.
19697 * docs/grub-dev.texi: Likewise.
19698 * docs/grub.texi (Internals): Move from here ...
19699 * docs/grub-dev.texi: ... here.
19700
2cccc747
CW
197012011-04-01 Colin Watson <cjwatson@ubuntu.com>
19702
19703 Store the loopback device as data on loopback grub_disk structures,
19704 rather than the file it points to. This fixes use of freed memory
19705 if an existing loopback device is replaced.
19706
19707 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19708 disk->data, not dev->file.
19709 (grub_loopback_read): Adjust file assignment to match.
19710 Fixes Ubuntu bug #742967.
19711
186ae367
CW
197122011-04-01 Colin Watson <cjwatson@ubuntu.com>
19713
19714 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19715 when replacing an existing device.
19716
cfed2ad0
VS
197172011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19720 memory corruptions.
19721
19722 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19723 unsigned.
19724 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19725 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19726 (grub_jfs_read_inode): Likewise.
19727 (grub_jfs_opendir): Likewise. Remove now useless casts.
19728 (grub_jfs_getent): Likewise.
19729 Make ino a grub_uint32_t rather than int.
19730 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19731 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19732 division and module with bit operations.
19733 (grub_jfs_find_file): Make ino a grub_uint32_t.
19734 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19735
05d2ed32
CW
197362011-04-01 Colin Watson <cjwatson@ubuntu.com>
19737
19738 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19739 warning. (This was in fact always initialised before use, but GCC
19740 wasn't smart enough to prove that.)
19741 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19742
91dc6073
VS
197432011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19746 stack alignment.
19747 (efi_wrap_1): Likewise.
19748 (efi_wrap_2): Likewise.
19749 (efi_wrap_3): Likewise.
19750 (efi_wrap_4): Likewise.
19751 (efi_wrap_5): Likewise.
19752 (efi_wrap_6): Likewise.
19753 (efi_wrap_10): Likewise.
19754 Based on information by: Red Hat/Peter Jones.
19755
a8afc1d1
CW
197562011-03-31 Colin Watson <cjwatson@ubuntu.com>
19757
19758 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19759 set-but-not-used variable.
19760
a826cc7d
CW
197612011-03-31 Colin Watson <cjwatson@ubuntu.com>
19762
19763 * docs/grub.texi (Simple configuration): Be more explicit about
19764 GRUB_DEFAULT, and add an example.
19765 Reported by: Leslie Rhorer.
19766
875b67ba
CW
197672011-03-30 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19770 shell".
19771
fd7cd914
AS
197722011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19773
19774 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19775 * util/grub.d/20_linux_xen.in: Likewise.
19776
090b1b6a
VS
197772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * util/grub.d/10_linux.in: Try alternative config filenames where
19780 we parse config file.
19781 * util/grub.d/20_linux_xen.in: Likewise.
19782
baad885c
AS
197832011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19784
19785 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19786 * util/grub.d/20_linux_xen.in: Likewise.
19787
241e41f5
VS
197882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * grub-core/disk/raid.c (insert_array): Add few potentially
19791 useful grub_util_info.
19792 (grub_raid_register): Likewise.
19793
56445fb2
VS
197942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19797 Preserve partition number in mdadm code path.
19798
c871b1c6
VS
197992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19802 few potentially useful grub_util_info.
19803
5e631b4f
CW
198042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19807
2d5d0333
CW
198082011-03-30 Colin Watson <cjwatson@ubuntu.com>
19809
19810 * docs/grub.texi (default): Use @example rather than nested
19811 itemized lists to avoid breaking gendocs.
19812
3d7ed04e
CW
198132011-03-30 Colin Watson <cjwatson@ubuntu.com>
19814
19815 * docs/grub.texi (Future): Update.
19816
abf04200 198172011-03-30 Colin Watson <cjwatson@ubuntu.com>
19818
19819 * docs/grub.texi (Environment): New chapter.
19820 (Changes from GRUB Legacy): Link to "Environment block" section for
19821 details of limitations.
19822 (Simple configuration): Likewise. Link to documentation of gfxmode
19823 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19824 respectively.
19825 (Shell-like scripting): Note that normal variables are stored in the
19826 environment.
19827 (gettext): Link to documentation of lang and locale_dir.
19828 (list_env): New section.
19829 (load_env): New section.
19830 (save_env): New section.
19831
19832 (Reporting bugs): Fix typo.
19833
e1ad0edd
VS
198342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19837 the example.
19838
5d803174
VS
198392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * grub-core/term/at_keyboard.c (set_scancodes)
19842 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19843
2a2da1d0
CW
198442011-03-30 Colin Watson <cjwatson@ubuntu.com>
19845
19846 * docs/grub.texi (Menu-specific commands): Remove some semantics
19847 that were true in GRUB Legacy but not in GRUB 2.
19848 (submenu): New section.
19849 (false): New section.
19850 (read): New section.
19851 (true): New section.
19852
a7527639
CW
198532011-03-30 Colin Watson <cjwatson@ubuntu.com>
19854
19855 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19856
198572011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19858
19859 * docs/grub.texi (Simple configuration): Explain some of the
19860 current limitations of grub-mkconfig.
8a748df2 19861 Reported by: Leslie Rhorer.
e30af029 19862
fc858482
VS
198632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19864
19865 Old macs search for boot.efi rather than for bootia32.efi.
19866
19867 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19868 * util/grub-mkrescue.in: Likewise.
19869 Suggested by: Peter Jones.
19870
e1eb511d
VS
198712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19872
19873 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19874
70e75364
VS
198752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19878 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19879 (grub_lvm_mirror): New struct.
19880 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19881 (grub_lvm_iterate): Iterate only visible volumes.
19882 (grub_lvm_read): Factor out to ..
19883 (read_lv): ... this. Support mirrors.
19884 (grub_lvm_read): New wrapper function.
19885 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19886 stripped or mirrored.
19887
fc18f6a3
VS
198882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19891
5c650f4c
CW
198922011-03-29 Colin Watson <cjwatson@ubuntu.com>
19893
19894 * docs/grub.texi (loopback): New section.
19895
61d7156b
CW
198962011-03-29 Colin Watson <cjwatson@ubuntu.com>
19897
19898 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19899 removed -p option.
19900
994b8264
CW
199012011-03-29 Colin Watson <cjwatson@ubuntu.com>
19902
19903 * docs/grub.texi (BIOS installation): New section, partly based on
19904 previous text in other sections.
19905 (Installing GRUB using grub-install): Replace BIOS discussion with a
19906 cross-reference.
19907 (Images): Likewise.
19908
9e4d19e0
VS
199092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19912 [HAVE_DIOCGDINFO]: Add safety checks.
19913
a307c0b2
VS
199142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19915
19916 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19917 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19918
b4db4f39
CW
199192011-03-29 Colin Watson <cjwatson@ubuntu.com>
19920
19921 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19922 real_sb->size is zero (e.g. RAID-0), get the disk size from
19923 real_sb->data_size instead.
19924 Fixes Ubuntu bug #743136.
19925
35e5f84c
VS
199262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19929 printf clauses for printing size and start.
19930
d2e29d81
VS
199312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19934 Reported and tested by: Timothy Nikkel.
19935
ed5587af
VS
199362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19939 (dirty_region_add_real): ... this.
19940 (dirty_region_add): Don't discard margin refresh when performing
19941 scheduled repaint.
19942
a1dc717c
VS
199432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * grub-core/lib/relocator.c (allocate_regstart)
19946 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19947 terminals are capabple of malloc-free operation.
19948 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19949 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19950
9f3677d3
VS
199512011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19952
19953 * util/grub-setup.c: Copy the partition table zone if floppy support
19954 is disabled, even if no partition table is found.
19955
19956 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19957 during POST if an invalid partition table is contained in the PBR
19958 of the active partition when GRUB is installed to a partition.
19959
24148725
CW
199602011-03-28 Colin Watson <cjwatson@debian.org>
19961
19962 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19963 comment.
19964
f329eda7
CW
199652011-03-28 Colin Watson <cjwatson@debian.org>
19966
19967 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19968 to be specific about what kind of RAID device we're scanning for.
19969
c482ad98
SG
199702011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19971
19972 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19973 return freed string.
19974
5ee04984
VS
199752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19978
f4727da9
VS
199792011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 Use libgeom on FreeBSD to detect partitions.
19982
19983 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19984 (grub-mkrelpath): Likewise.
19985 (grub-script-check): Likewise.
19986 (grub-editenv): Likewise.
19987 (grub-mkpasswd-pbkdf2): Likewise.
19988 (grub-fstest): Likewise.
19989 (grub-mkfont): Likewise.
19990 (grub-mkdevicemap): Likewise.
19991 (grub-probe): Likewise.
19992 (grub-setup): Likewise.
19993 (grub-ofpathname): Likewise.
19994 (grub-mklayout): Likewise.
19995 (example_unit_test): Likewise.
19996 (grub-menulst2cfg): Likewise.
19997 * grub-core/Makefile.core.def (grub-emu): Likewise.
19998 (grub-emu-lite): Likewise.
19999 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20000 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20001 define HAVE_DIOCGDINFO.
20002 (follow_geom_up) [FreeBSD]: New function.
20003 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20004 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20005 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20006 unconditionally of HAVE_DIOCGDINFO.
20007
82fe6c75
VS
200082011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 Fix FreeBSD compilation problem.
20011
20012 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20013 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20014
4c6c9431
CW
200152011-03-24 Colin Watson <cjwatson@ubuntu.com>
20016
20017 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20018 Switch back to page zero before loading a kernel, since some kernel
20019 drivers expect that.
20020 Thanks to: Felix Kuehling.
20021
c7064d94
VS
200222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20025 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20026 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20027
3f71cded
VS
200282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20031 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20032
ef6de21a
VS
200332011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20036 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20037 malloc is disabled.
20038
8bc66a2c
VS
200392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20042 for modules headers when counting the needed allocation size.
20043
5657722c
VS
200442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20047 if no ASCII character is found to prevent crash.
20048
41a85f55
AK
200492011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20050
20051 * grub-core/video/bitmap.c (match_extension): Ignore case.
20052
59e1e5f1
VS
200532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20056
bd4d051a
VS
200572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * grub-core/script/parser.y: Declare "time" as valid argument.
20060
bae7fcc1
PJ
200612011-03-23 Peter Jones <pjones@redhat.com>
20062
20063 Fix incorrect assert failure reporting.
20064
20065 * grub-core/tests/example_functional_test.c (example_test): Add
20066 a failure comment.
20067 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20068 (failure_start): ...this. Check that malloc succeeded.
20069 Don't call xvasprintf. Return failure struct.
20070 (failure_append_vtext): New function.
20071 (failure_append_text): Likewise.
20072 (add_failure): Likewise.
20073 (grub_test_assert_helper): Likewise.
20074 * include/grub/test.h (grub_test_assert_helper): New declaration.
20075 (grub_test_assert): Macro rewritten.
20076
537dc9be
VS
200772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20080
fa3e01bf
VS
200812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20084
b1d28404
VS
200852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20088 into GRUB-style one.
20089
2e3e2e09
VS
200902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20091
20092 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20093 error and not grub_errno.
20094 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20095
ed57e557
VS
200962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20099 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20100
d1611f01
VS
201012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * grub-core/efiemu/i386/pc/cfgtables.c
20104 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20105 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20106 (grub_xnu_unlock): Likewise.
20107 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20108
7d4e39d6
VS
201092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20112 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20113 * grub-core/commands/hashsum.c (aliases): Likewise.
20114 * grub-core/commands/setpci.c (pci_registers): Likewise.
20115 * grub-core/disk/usbms.c (attach_hook): Likewise.
20116 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20117 (zio_checksum_table): Likewise.
20118 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20119 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20120 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20121 * grub-core/lib/relocator.c (leftovers): Likewise.
20122 (extra_blocks): Likewise.
20123 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20124 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20125 (modules_last): Likewise.
20126 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20127 (devices): Likewise.
20128 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20129 (modules_last): Likewise.
20130 * grub-core/normal/auth.c (users): Likewise.
20131 * grub-core/normal/context.c (initial_menu): Likewise.
20132 (current_menu): Likewise.
20133 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20134 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20135 (grub_serial_terminfo_input_template): Likewise.
20136 (grub_serial_terminfo_output_template): Likewise.
20137 (grub_serial_terminfo_input): Likewise.
20138 (grub_serial_terminfo_output): Likewise.
20139 (registered): Likewise.
20140 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20141
40fc4659
VS
201422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20145 grub_video_mode_type_t.
20146 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20147 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20148 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20149
2da48d28
VS
201502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * util/grub-install.in: Correct the x86-64 name as x86_64.
20153
9b43bf39
CW
201542011-03-11 Colin Watson <cjwatson@ubuntu.com>
20155
20156 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20157 initial chunk read from the kernel always includes GRUB's multiboot
20158 header, which is now outside the first sector.
20159
be1a7ce0
CW
201602011-03-09 Colin Watson <cjwatson@ubuntu.com>
20161
20162 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20163 cached mmap_size, so that this works correctly when called multiple
20164 times.
20165 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20166
83a3c48d
CW
201672011-03-09 Colin Watson <cjwatson@ubuntu.com>
20168
20169 * docs/grub.texi (Simple configuration): Tidy up formatting.
20170
57d75699
SJ
201712011-03-07 Szymon Janc <szymon@janc.net.pl>
20172
20173 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20174 Set-but-not-used variable removed.
20175
028501a0
VS
201762011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 Workaround yet another IEEE1275 bug.
20179
20180 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20181 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20182 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20183 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20184 is set.
20185 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20186 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20187
d998657d
VS
201882011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20189
20190 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20191 error.
20192
fee7cdd4
CW
201932011-02-11 Colin Watson <cjwatson@ubuntu.com>
20194
20195 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20196 empty, since in that case we can only generate either nothing or a
20197 syntactically invalid configuration file.
20198 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20199
97286eb5
CW
202002011-02-09 Colin Watson <cjwatson@ubuntu.com>
20201
20202 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20203 (Making a GRUB bootable CD-ROM): Likewise.
20204 (Invoking grub-mkrescue): New section.
20205 Reported by: Yann Dirson. Fixes Debian bug #612585.
20206
22b28eb3
CW
202072011-02-09 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * util/grub-install.in: Remove unnecessary brackets from tr
20210 arguments.
20211 * util/grub.d/10_hurd.in: Likewise.
20212 * util/grub.d/10_kfreebsd.in: Likewise.
20213 * util/grub.d/10_linux.in: Likewise.
20214 * util/grub.d/20_linux_xen.in: Likewise.
20215 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20216
7e735e43
CW
202172011-02-08 Colin Watson <cjwatson@ubuntu.com>
20218
20219 * include/grub/file.h (not_easly_seekable): Rename to ...
20220 (not_easily_seekable): ... this. Update all users.
20221
800f1881
CW
202222011-01-28 Colin Watson <cjwatson@ubuntu.com>
20223
20224 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20225 grub-mkrescue.
20226
3281d3d6
VS
202272011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * util/grub-mkimage.c (generate_image): Refuse to create the images
20230 bigger than the actual flash (512K) in Loongson machines. 512K is also
20231 the biggest chip supported by them.
20232
3533413c
VS
202332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20236
73ae4f4f
VS
202372011-01-22 Anthony DeRobertis <anthony@derobert.net>
20238
20239 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20240 super_offset field.
20241
37f4f608
VS
202422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * util/grub-install.in: Ignore install device on platforms
20245 where it doesn't make sense. Always use UUIDs except on pc, efi and
20246 sparc64.
20247 Reported by: Daniel Kahn Gillmor.
20248
03a4ccb5
VS
202492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20252
ffc8f4d8
VS
202532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20256 (iterate_real): Don't rely on partition being non-NULL.
20257
80f23be7
VS
202582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20261 supported platforms. Put a compile time assert for this rather than
20262 generate a warning with 32-bit shift.
20263
5d4f4dd5
VS
202642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20267 logical expression more readable.
20268
e489601a
VS
202692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20272 even if some elements have a name.
20273 Reported by: Alexander GQ Gerasiov.
20274
96e0a6ea
CW
202752011-01-22 Colin Watson <cjwatson@ubuntu.com>
20276
20277 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20278 path unreadable if `grub-probe -t abstraction' fails, for example if
20279 memberlist fails on an LVM volume group.
20280 Reported by: Darius Jahandarie.
20281
81431e2b
CW
202822011-01-22 Colin Watson <cjwatson@ubuntu.com>
20283
20284 * docs/grub.texi (Simple configuration): Document
20285 GRUB_PRELOAD_MODULES.
20286
5e79d66a
CW
202872011-01-17 Colin Watson <cjwatson@ubuntu.com>
20288
20289 * .bzrignore: Remove nonexistent grub-pbkdf2.
20290
646ada34
VS
202912011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * configure.ac: Bump version to 1.99~rc1.
20294
04360337
VS
202952011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20298 for safety.
20299
46c9db88
VS
203002011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20303 module.
20304
203052011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20306
20307 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20308
4fbf1852
VS
203092011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20310
20311 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20312 diskdevid.
20313
f1632d4d
VS
203142011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Fix compilation on cygwin.
20317
20318 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20319 -R .drectve on cygwin.
20320 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20321 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20322 (COND_CYGWIN): New condition.
20323 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20324 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20325 not @TARGET_OBJ2ELF@.
20326 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20327 type to determine whether aux is to be used.
20328
0b5e127b
VS
203292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20332 realpath'ed device string.
20333 Handle floppy (somewhat).
20334 Issue error in unknown case rather than garbage.
20335 Reported by: Axel Beckert.
20336
173b71e9
VS
203372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20338
20339 * util/grub.d/00_header.in (load_video): Handle the case when no video
20340 drivers available.
20341 Thanks to: Axel Beckert.
20342
f8f479db
VS
203432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20346 variable. Fixes problem on big endian platforms.
20347
8fc0a245
VS
203482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20351 It doesn't work well there.
20352
b8494fbe
VS
203532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20356 warning.
20357 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20358 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20359 counter.
20360
b44a558c
VS
203612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 Use alias->path rather than buggy "canon".
20364
20365 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20366 (ofdisk_hash_add): New argument curcan. All users updated.
20367
51fa856c
CW
203682011-01-11 Colin Watson <cjwatson@ubuntu.com>
20369
20370 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20371
9da068a5
VS
203722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20375 loadmask before doing any calculations. Use correct type for offset.
20376 (grub_linux_load64): Likewise.
20377
86205c94
CW
203782011-01-11 Colin Watson <cjwatson@ubuntu.com>
20379
20380 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20381 with NULL.
20382 (console_grub_equivalences_unshift): Likewise.
20383 Reported by: Daniel Dehennin.
20384
4531a206
VS
203852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20388 (set_env_limn_ro): Likewise.
20389 (GRUB_MOD_INIT): Likewise.
20390 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20391 ARRAY_SIZE while on it.
20392 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20393 * grub-core/normal/context.c (grub_env_export): Move from here ...
20394 * grub-core/kern/env.c (grub_env_export): ... here.
20395 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20396 prefix.
20397 * grub-core/kern/main.c (grub_main): Export root and prefix.
20398 * include/grub/env.h (grub_env_export): Export.
20399 Reported by: Seth Goldberg.
20400
45146057
VS
204012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20404 Take into account space used by ELF sections and multiboot palette.
20405 Reported by: Grégoire Sutre.
20406
f093110b
VS
204072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * BUGS: New file.
20410
3395fe52
VS
204112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 Pass more appropriate video id to Linux.
20414
20415 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20416 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20417 fill have_vga.
20418 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20419 shift params->lfb_size.
20420 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20421
c2fa6cbb
VS
204222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20425
b3ff6ff0
VS
204262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20429 separator and pass bootpath/devid even if only one of them is available.
20430 Reported by: Seth Goldberg.
20431
ae67942e
VS
204322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20435 implementations bug on them.
20436
20437 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20438 memory.
20439 (filter_memory_map): Likewise.
20440
d570097a
VS
204412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20444 Reported by: nebuchadnezzar.
20445
a508e776
VS
204462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20449 Reported by: nebuchadnezzar.
20450
dcb883b1
VS
204512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 Submenu default support.
20454
20455 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20456 auto_boot. All users updated.
20457 Declared static.
20458 Handle chosen and default with submenus.
20459 (grub_menu_execute_with_fallback): Declared static.
20460 Don't notify failure if autobooted. Upper level does it.
20461 (menuentry_eq): New function.
20462 (get_entry_number): Use menuentry_eq.
20463 (show_menu): New parameter "autobooted". All users updated.
20464 (grub_show_menu): Likewise.
20465 * include/grub/normal.h (grub_show_menu): Likewise.
20466 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20467 (grub_menu_execute_with_fallback): Likewise.
20468
6fef99b4
VS
204692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * util/grub-mklayout.c (usage): Update help text.
20472
47a77af5
VS
204732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20476
ce6bb3ee
VS
204772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20478
20479 * util/grub-menulst2cfg.c (main): Trim the line.
20480
db87be2a
VS
204812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20482
20483 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20484 (grub_machine_init): Don't check amount of low memory as reportedly
20485 INT 12h can be broken and if low memory is too low we wouldn't have
20486 gotten into grub_machine_init anyway.
20487
c49849cc
VS
204882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20491 (grub_machine_mmap_iterate): Take low memory into account
20492
b1969b30
VS
204932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20496 badfs.
20497 Reported by: TiCPU.
20498
cf0eaf13
VS
204992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20502 members errors.
20503
1f060f39
GS
205042011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20505
20506 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20507 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20508
a21e5672
GS
205092011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20510
20511 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20512 openbsd and netbsd types being in part_bsd module.
20513
c88172fa
VS
205142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20517 (_FILE_OFFSET_BITS): Likewise.
20518 Reported by: Seth Goldberg.
20519
53798c4b
GS
205202011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20521
20522 * configure.ac: Check for libdevmapper header.
20523
e7121b69
VS
205242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20527 avoid aliasing.
20528 (fzap_lookup): Likewise.
20529 (dnode_get): Likewise.
20530 (make_mdn): Likewise.
20531 (zfs_mount): Likewise.
20532 (fzap_iterate): Use temporary pointer to avoid aliasing.
20533 (grub_zfs_read): Likewise.
20534 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20535 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20536 pointers to avoid aliasing.
20537 (grub_cmd_xnu_kernel64): Likewise.
20538 (grub_xnu_load_driver): Likewise.
20539
fc836af9
VS
205402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20543 aliasing warning.
20544 (grub_cmd_terminal_output): Likewise.
20545 Reported and tested by: Grégoire Sutre.
20546
f9f37648
VS
205472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20550 warning.
20551 Reported and tested by: Grégoire Sutre.
20552
ec1dfd63
VS
205532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 * configure.ac: Do CPU substitution even if it's specified explicitly.
20556 Reported and tested by: Alain Greppin.
20557
9462775a
VS
205582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20561 Reported and tested by: Alain Greppin.
20562
0fd48e35
VS
205632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 Satisfy some bison versions need for inttypes.h.
20566
20567 * grub-core/lib/posix_wrap/inttypes.h: New file.
20568 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20569 (int16_t): Likewise.
20570 (int32_t): Likewise.
20571 (int64_t): Likewise.
20572 Reported and tested by: Alain Greppin.
20573
43f1bc83
VS
205742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20577 Silence spurious warning.
20578 Reported and tested by: Alain Greppin.
20579
64d1f041
SJ
205802011-01-07 Szymon Janc <szymon@janc.net.pl>
20581
20582 * docs/grub.texi (Support automatic decompression): Update with xz
20583 decompression support.
20584
25953e10
SJ
205852011-01-07 Szymon Janc <szymon@janc.net.pl>
20586
20587 Improve loaders' kernel command line handling.
20588
20589 * grub-core/lib/cmdline.c: New file.
20590 * include/grub/lib/cmdline.h: Likewise.
20591 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20592 grub_create_loader_cmdline to create kernel command line.
20593 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20594 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20595 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20596 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20597 (linux): Add lib/cmdline.c on common.
20598
e72d259f
VS
205992011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20602 inopos might be unaligned.
20603
c0cf26da
VS
206042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20607 endian transformations.
20608 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20609 Based on report by: Doug Nazar.
20610
0ca09e6c
DN
206112011-01-07 Doug Nazar <nazard.michi@gmail.com>
20612
20613 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20614 array->members[i].start_sector.
20615 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20616
014b6806
VS
206172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20620 Reported and tested by: Grégoire Sutre.
20621
415502c2
CW
206222011-01-06 Colin Watson <cjwatson@ubuntu.com>
20623
20624 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20625 avoid causing test failures by clearing the screen.
20626
71b6a2b7
CW
206272011-01-06 Colin Watson <cjwatson@ubuntu.com>
20628
20629 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20630 Fix prefix check to handle the case where dir ends with a slash
20631 (most significantly, "/" itself).
20632 Reported by: Michael Vogt.
20633
b3f8d28a
VS
206342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 Run terminfo_cls on initing terminfo output to clear the screen and
20637 move the cursor to (0,0).
20638
20639 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20640 Call grub_terminfo_output_init.
20641 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20642 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20643 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20644
4c3e4f37
VS
206452011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20648 only when needed.
20649
488f71f1
VS
206502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20653 CTRL.
20654
18a38098
VS
206552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 The E820 type 5 is BADRAM, not EXEC_CODE.
20658
20659 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20660 (GRUB_E820_BADRAM): New define.
20661 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20662 into reserved. Propagate BADRAM.
20663 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20664 (GRUB_E820_BADRAM): New define.
20665
9eae2084
VS
206662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20669 Ignore the memory post-4G.
20670 (grub_relocator_firmware_alloc_region): Additional debug statement.
20671
ebc71d28
VS
206722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20675 names.
20676 Reported by: David Pravec.
20677
446fa400
VS
206782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20681 BIOSes.
20682
a0159f37
VS
206832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20686 Prevent overflow.
20687 (grub_reed_solomon_recover): Likewise.
20688
e5146ca1
VS
206892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20692
206932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20694
20695 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20696 variable.
20697
5b1bdf12
CW
206982011-01-04 Colin Watson <cjwatson@ubuntu.com>
20699
20700 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20701 descriptions of extract_legacy_entries_source and
20702 extract_legacy_entries_configfile.
20703 Reported by: Seung Soo, Ha.
20704
99d925aa
CW
207052011-01-03 Colin Watson <cjwatson@ubuntu.com>
20706
20707 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20708 on devices that do not implement function 0.
20709
4af0504b
DV
207102011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20711
20712 * grub-core/fs/hfsplus.c: Make parent unsigned.
20713 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20714 overflows.
20715 (grub_hfsplus_cmp_extkey): Likewise
20716
469ee10a
VS
207172011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * util/grub-install.in: Correctly use bootloader_id and not
20720 GRUB_DISTRIBUTOR on efibootmgr line.
20721
323a8e9c
VS
207222011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20725
1b394975
IC
207262010-12-31 Ian Campbell <ijc@hellion.org.uk>
20727
20728 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20729 Xen and reorder menu item wording to make it clearer that this entry
20730 will launch Xen. Print separate messages when loading Xen and
20731 Linux.
20732
275bff5f
VS
207332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20736 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20737 loop in case of incorrect amiga partmap.
20738
307806cb
VS
207392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20742 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20743 Reported by:EHeM.
20744
b12b923e
VS
207452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20748 spurious warning.
20749 Reported by: crocket
20750
14b48a19
VS
207512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20754 Preload EFIemu.
20755 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20756
693db2df
VS
207572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20760 is loaded
20761 (grub_cmd_xnu_kextdir): Likewise.
20762 (grub_cmd_xnu_splash): Likewise.
20763
c7638645
VS
207642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 Avoid using Reed-Solomon with 0 redundancy.
20767
20768 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20769 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20770 or 0 redundancy.
20771 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20772 (grub_reed_solomon_recover): Likewise.
20773
25dd4780
VS
207742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20775
20776 Don't use disk subsystem in freebsd_boot.
20777
20778 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20779 (freebsd_biosdev): Likewise.
20780 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20781 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20782
0b2db943
VS
207832010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 Handling of files of unknown size is currently limited. They can't be
20786 used e.g. for initrd or modules. Moreover gzip handling of not
20787 easily seekable files is buggy. Disable unknown file size for now. May
20788 be inefficient but works.
20789
20790 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20791 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20792
5c408d0f
MP
207932010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20794
20795 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20796 floppy probe.
20797
190a011a
JD
207982010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20799
20800 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20801
022d01b8
SL
208022010-12-25 Shea Levy <shlevy>
20803
20804 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20805
c4855fdc
VS
208062010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20809 Windows Server 2008.
20810 Reported by: Devin Giddings.
20811
0354b867
VS
208122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20815 writing an error message because of async power management.
20816 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20817 (grub_reboot): Likewise.
20818
ab66c69f
JU
208192010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20820
20821 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20822 keep unit tests from failing when they shouldn't.
20823
1426ef35
CW
208242010-12-21 Colin Watson <cjwatson@ubuntu.com>
20825
20826 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20827 previous patch increased the size of the RS code by 20 bytes (at
20828 least with gcc-4.4), so increase this by 20 bytes to match.
20829 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20830
20641b6b
CW
208312010-12-21 Colin Watson <cjwatson@ubuntu.com>
20832
20833 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20834 scratch area. Make sure to initialise chosen in standalone mode as
20835 well as non-standalone.
20836 Reported by: Robert Hooker and Andy Whitcroft.
20837 Tested by: Andy Whitcroft.
20838
d060ad60
CW
208392010-12-21 Colin Watson <cjwatson@ubuntu.com>
20840
20841 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20842 constructing a new unescaped string and passing it to grub_xputs in
20843 one go, rather than passing characters to grub_printf one at a time.
20844
b889cfad
CW
208452010-12-21 Colin Watson <cjwatson@ubuntu.com>
20846
20847 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20848 initialising utf16.
20849
4e01b6c8
CW
208502010-12-21 Colin Watson <cjwatson@ubuntu.com>
20851
20852 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20853 comment. Add an extra layer of quotation, requiring the output of
20854 this function to be used in a printf format string.
20855 (gettext_printf): New function.
20856 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20857 Extract translatable strings from here-documents and use a temporary
20858 variable instead, so that xgettext can find them.
20859 * util/grub.d/10_kfreebsd.in: Likewise.
20860 * util/grub.d/10_linux.in: Likewise.
20861 * util/grub.d/20_linux_xen.in: Likewise.
20862
20863 * po/grub.d.sed: New file.
20864 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20865 arguments. Set c-format flags on all strings extracted from
20866 util/grub.d/ (xgettext refuses to include these itself for strings
20867 it extracted from a shell file, but these really are c-format).
20868
5318fe98
VS
208692010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20870
20871 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20872 Avoid next pointing to nowhere.
20873
6c85b743
VS
208742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20875
20876 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20877 rather than assuming than rootblock is exactly in the middle.
20878 (grub_affs_label): Likewise.
20879
a2a08a35
VS
208802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20883 reserved_first_sector to 0.
20884 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20885 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20886 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20887
7059d1ec
VS
208882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20889
20890 Fix handling of UTF-16 UDF labels.
20891
20892 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20893 (read_string): .. here.
20894 (grub_udf_label): Use read_string.
20895
30aff4cb
BC
208962010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20897
20898 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20899 editor under argument scope.
20900 Reported by: Jordan Uggla
20901
5cf86f4b
VS
209022010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20903
20904 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20905
32570200
CW
209062010-12-18 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20909 line, and other keys scroll an entire page (previous handling was
20910 for \r and \n to scroll a page and other keys to scroll two lines).
20911
e1dffcf2
VS
209122010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20915 Set ptrdest to correct get_physical_target_address rather than
20916 incorrect get_virtual_current_address.
20917
b04298cf 209182010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20919
20920 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20921 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20922
5367ecd3
CW
209232010-12-10 Colin Watson <cjwatson@ubuntu.com>
20924
20925 * .bzrignore: Ignore grub-core/rs_decoder.S.
20926
1fb430f8
CW
209272010-12-10 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20930 .mo/.mo.gz opening sequence to ...
20931 (grub_mofile_open_lang): ... here.
20932 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20933 * util/grub.d/00_header.in (grub_lang): Include country part of
20934 locale.
20935 Reported by: Mario Limonciello.
20936
a94a6671
RM
209372010-12-09 Robert Millan <rmh@gnu.org>
20938
20939 * NEWS: Document addition of ZFS support.
20940
24b7938b
CW
209412010-12-04 Colin Watson <cjwatson@ubuntu.com>
20942
20943 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20944 rather than `/ 2', as the latter requires -Wa,--divide which would
20945 require bumping our minimum binutils version.
20946
bddc3ef6
BC
209472010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20948
20949 * util/grub-script-check.c (main): Print script line number on
20950 error.
20951
bf78d5b2
RM
209522010-12-01 Robert Millan <rmh@gnu.org>
20953
20954 * grub-core/fs/zfs/zfs.c: New file.
20955 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20956 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20957 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20958 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20959
20960 * include/grub/zfs/dmu.h: Likewise.
20961 * include/grub/zfs/dmu_objset.h: Likewise.
20962 * include/grub/zfs/dnode.h: Likewise.
20963 * include/grub/zfs/dsl_dataset.h: Likewise.
20964 * include/grub/zfs/dsl_dir.h: Likewise.
20965 * include/grub/zfs/sa_impl.h: Likewise.
20966 * include/grub/zfs/spa.h: Likewise.
20967 * include/grub/zfs/uberblock_impl.h: Likewise.
20968 * include/grub/zfs/vdev_impl.h: Likewise.
20969 * include/grub/zfs/zap_impl.h: Likewise.
20970 * include/grub/zfs/zap_leaf.h: Likewise.
20971 * include/grub/zfs/zfs.h: Likewise.
20972 * include/grub/zfs/zfs_acl.h: Likewise.
20973 * include/grub/zfs/zfs_znode.h: Likewise.
20974 * include/grub/zfs/zil.h: Likewise.
20975 * include/grub/zfs/zio.h: Likewise.
20976 * include/grub/zfs/zio_checksum.h: Likewise.
20977
20978 * Makefile.util.def: Build ZFS into libgrubmods.
20979 * grub-core/Makefile.core.def: Build zfs.mod.
20980
3f0f3831
SJ
209812010-11-30 Szymon Janc <szymon@janc.net.pl>
20982
20983 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20984 variable.
20985 * grub-core/commands/wildcard.c (match_files): Likewise.
20986
3a4253b2
RM
209872010-11-30 Robert Millan <rmh@gnu.org>
20988
20989 * grub-core/loader/i386/bsd.c
20990 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20991 whether kernel is loaded using grub_loader_is_loaded(), rather
20992 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20993 certain error conditions.
20994
8c317b27
RM
209952010-11-30 Robert Millan <rmh@gnu.org>
20996
c5c9cd3e
RM
20997 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20998 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20999
49d3ab46
VS
210002010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 Avoid using tricks for initialising endian variables.
21003
21004 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21005 Make const.
21006 (GRUB_MOD_INIT): Don't byte-swap.
21007 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21008 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21009 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21010 (grub_swap_bytes32_compile_time): Likewise.
21011 (grub_cpu_to_le32_compile_time): Likewise.
21012 (grub_cpu_to_le16_compile_time): Likewise.
21013
f420a804
VS
210142010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * util/grub-setup.c (setup): Stop recommending --force. People who
21017 understand the dangers of blocklists are able to find this option
21018 anyway and the ones who don't shouldn't use it anyway.
21019
4e7db17b
RM
210202010-11-26 Robert Millan <rmh@gnu.org>
21021
21022 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21023 Update all users.
21024
9be57a0d
CW
210252010-11-26 Colin Watson <cjwatson@ubuntu.com>
21026
21027 Fix LVM-on-RAID probing.
21028
21029 * util/grub-probe.c (probe): Remember which disk was detected as
21030 RAID (perhaps an LVM physical volume). Use that disk's raidname
21031 rather than that of the top-level disk.
21032
2c7859b3 210332010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21034
d7647bb6
BC
21035 Fix cmdline argument quotes for setparams command of menuentry
21036 definitions.
7e623b0d
BC
21037
21038 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21039 quotes for arguments.
f866fe80 21040 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21041 grub_strchrsub function instead.
f866fe80 21042
7955bea0 21043 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21044
74f72a64
CW
210452010-11-24 Colin Watson <cjwatson@ubuntu.com>
21046
21047 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21048 effort by skipping "." and ".." entries up-front.
21049 Suggested by: Michael Lazarev.
21050
5a407278
CW
210512010-11-24 Colin Watson <cjwatson@ubuntu.com>
21052
21053 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21054 ldflags to ldadd, to fix link line ordering.
21055 (none_decompress): Likewise.
21056
3030d8ec
CW
210572010-11-24 Colin Watson <cjwatson@ubuntu.com>
21058
21059 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21060 platforms.
21061 (grub-emu-lite): Remove kern/emu/cache.S.
21062
b7fbac12
CW
210632010-11-23 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * util/deviceiter.c (compare_devices): If the by-id link for a
21066 device couldn't be resolved, fall back to sorting by the by-id link
21067 rather than segfaulting.
21068 Reported and tested by: Daniel Mierswa.
21069
5225f328
CW
210702010-11-23 Colin Watson <cjwatson@ubuntu.com>
21071
21072 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21073 ldflags, to fix link line ordering.
21074
038b3ce8
CW
210752010-11-23 Colin Watson <cjwatson@ubuntu.com>
21076
21077 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21078 linkers are picky about this.
21079
bf16e98e
CW
210802010-11-23 Colin Watson <cjwatson@ubuntu.com>
21081
21082 * grub-core/Makefile.am (command.lst): Adjust sed expression
21083 ordering so that extended and priority commands aren't treated as
21084 ordinary commands.
21085
7242bab6
CW
210862010-11-23 Colin Watson <cjwatson@ubuntu.com>
21087
21088 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21089 Remove byte-swapping function calls, which are not valid in
21090 structure initialisers.
21091 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21092 non-const.
21093 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21094 grub_gpt_partition_type_bios_boot.
21095
14e8b279
CW
210962010-11-22 Colin Watson <cjwatson@ubuntu.com>
21097
21098 Fix test program build on GNU/kFreeBSD.
21099
21100 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21101 $(LIBNVPAIR)' library dependencies.
21102
e6f63338 211032010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21104
21105 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21106
cf8ffc38
CW
211072010-11-22 Colin Watson <cjwatson@ubuntu.com>
21108
21109 * util/grub-install.in: Remove excessive quoting that broke
21110 installations to RAID devices.
21111
7f8b0fd7
VS
211122010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21113
21114 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21115 bootloader version instead of 0.
21116
dfd240b1
VS
211172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21120 warning.
21121
7b61e609
VS
211222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21125 retrieve the metadat sector if size isn't known.
21126 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21127
9dfe92d0
RM
211282010-11-18 Robert Millan <rmh@gnu.org>
21129
21130 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21131 with grub_memcmp().
21132
41cc919e
VS
211332010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21136 arrow.
21137 Reported by: Jordan Uggla.
21138
1afcc914
VS
211392010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 Make better UTF compliant.
21142
21143 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21144 sequences as incorrect.
21145 (grub_is_valid_utf8): Likewise.
21146 (grub_utf8_to_ucs4): Likewise.
21147 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21148 (grub_ucs4_to_utf8_alloc): Likewise.
21149 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21150
f1808884
VS
211512010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 Make legacy_source behave like source.
21154
21155 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21156 grub_show_menu.
21157 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21158
24ec575b
CW
211592010-11-16 Colin Watson <cjwatson@debian.org>
21160
21161 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21162 (-Wunused implies -Wunused-parameter, but not vice versa).
21163
72b7c7aa
CW
211642010-11-16 Colin Watson <cjwatson@ubuntu.com>
21165
21166 * configure.ac: Make error messages less confusing by testing for
21167 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21168 accepted, but produces a diagnostic if something else is wrong).
21169
e98937aa
VS
211702010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21173 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21174 (now unused).
21175 (grub_keyboard_controller_init)
21176 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21177 read the initial state since controller isn't inited yet.
21178
f6bbabc3
VS
211792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21182 allocate_regbeg may need to create new chunk header.
21183
22e7dbb2
VS
211842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21185
21186 Fix quoting in legacy parser.
21187
21188 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21189 single quotes.
21190 (grub_legacy_parse): Likewise.
21191 Reported by: Jordan Uggla.
21192 Tested by: Jordan Uggla.
21193
03f80960
VS
211942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21195
21196 Don't add -lgcc on i386 and x86_64.
21197
21198 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21199 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21200 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21201
779dc15b
VS
212022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * configure.ac: Add -Wno-trampolines when supported.
21205
d20a3b37
MV
212062010-11-14 Modestas Vainius <modax@debian.org>
21207
21208 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21209 fakeraid.
21210
e5360933
GC
212112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21212
21213 Add generic logical block size support for UDF.
21214
21215 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21216 (GRUB_UDF_BLKSZ): Removed.
21217 (struct grub_udf_data): New field "lbshift" to hold the logical block
21218 size of the file system in log2 format. All users updated.
21219 (sblocklist): Change type to unsigned.
21220 (grub_udf_mount): Change type of "sblklist" to unsigned.
21221 Move AVDP search before VRS recognition, because the latter requires
21222 knowledge of the logical block size, which is detected during the
21223 former.
21224 Detect and validate logical block size during AVDP search, adding
21225 support for block sizes 512, 1024 and 4096.
21226 Make VRS recognition independent of block size.
21227
cb0229c5
GC
212282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21229
21230 Properly handle deleted files on UDF.
21231
21232 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21233 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21234 set.
21235
406858a8
GC
212362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21237
21238 Support reading files larger than 2 GiB.
21239
21240 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21241 "offset" to grub_off_t.
21242 (grub_udf_read_file): Likewise for parameter "pos".
21243
130da6a7
VS
212442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21247 unavailable.
21248 (Simple configuration): Refer to Changes from GRUB Legacy about
21249 save_env availability.
21250
65e93f6b
VS
212512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * util/grub-install.in: Ignore empty partition table detection
21254 instead of trying to include part_ module.
21255
1fd08bf1
VS
212562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21259 LVM on RAID support.
21260
de1a024f
VS
212612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 Properly define WORDS_BIGENDIAN in wrapped environments.
21264
21265 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21266 definition.
21267 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21268
21269 Reported by: Manoel Rebelo Abranches.
21270 Tested by: Manoel Rebelo Abranches.
21271
bc5dd0b9
VS
212722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * util/grub-mkconfig.in: Fix quoting.
21275
58c184be
VS
212762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21277
21278 Support big ext2 files.
21279
21280 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21281 (grub_ext2_read_block): Support triple indirect blocks.
21282 (grub_ext2_read_file): Use 64-bit types and read size_high.
21283 (grub_ext2_open): Read size_high.
21284 Reported by: Ximin Luo.
21285 Tested by: Manoel Rebelo Abranches.
21286
5f0c02b3
VS
212872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21288
21289 * util/grub-install.in: Handle filenames containing spaces.
21290 Reported by: Jordan Uggla.
21291 Tested by: Jordan Uggla.
21292
4417aae6
VS
212932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * util/grub-mkconfig.in (grub_script_check): New variable.
21296 Use grub_script_check instead of grub-script-check.
21297 Reported by: Barry Jackson.
21298
7625a68e
VS
212992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * docs/grub.texi (menu): Correct the order.
21302 Reported by: D. Hugh Redelmeier.
21303
10001ac5
VS
213042010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21305
21306 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21307 jump.
21308
9c4cf53b
MRA
213092010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21310
10001ac5
VS
21311 * include/grub/elfload.h (grub_elf32_size): New parameter.
21312 All users updated.
9c4cf53b
MRA
21313 Return maximum segments alignment.
21314 (grub_elf64_size): Likewise.
21315 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21316 Return maximum segments alignment.
21317 (grub_elf64_size): Likewise.
21318 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21319 (grub_linux_claimmap_iterate): New function. Uses the
21320 "available" property in the "memory" node for memory allocation
21321 for kernel in the PowerPC loader.
9c4cf53b
MRA
21322 (grub_linux_load32): Correctly find linux entry point offset.
21323 (grub_linux_load64): Likewise.
21324
d2bf06bf
RM
213252010-11-07 Robert Millan <rmh@gnu.org>
21326
21327 On mips-yeeloong, build with -march=loongson2f when this flag is
21328 available (GCC >= 4.4).
21329 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21330 `-march=mips3'.
21331 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21332 or otherwise add -march=mips3.
21333
898c99a2
BC
213342010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21335
87220a68
BC
21336 Suppress shell expansion on echo '*' and echo "*" like cases.
21337 Reported by: Jordan Uggla.
898c99a2
BC
21338
21339 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21340 string arguments before shell expansion.
21341 * tests/grub_cmd_echo.in: New testcases.
21342
4f9b406a
RM
213432010-11-07 Robert Millan <rmh@gnu.org>
21344
21345 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21346 transition.
21347
80c6d25e
VS
213482010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 * grub-core/kern/emu/hostdisk.c
21351 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21352
4a1a0153
VS
213532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21356 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21357 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21358
34706ddc
VS
213592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21362
6972dea9
VS
213632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * util/grub-install.in: Replace useless recomendation to pass
21366 --modules with a recomendation to report a bug.
21367
9c693bd6
VS
213682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21369
21370 Properly register serial terminfo.
21371 Reported by: Jordan Uggla
21372
21373 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21374 const.
21375 (grub_serial_terminfo_output_template): Likewise.
21376 (grub_cmd_serial): Register "serial" with terminfo.
21377 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21378 grub_serial_terminfo_output.
21379
6c9e4c0c
RM
213802010-11-05 Robert Millan <rmh@gnu.org>
21381
21382 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21383 needed).
21384
b9b3839f
RM
213852010-11-05 Robert Millan <rmh@gnu.org>
21386
21387 On Yeeloong, pass machine type information to Linux.
21388
21389 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21390 (LOONGSON_MACHTYPE): New macro, set to
21391 "machtype=lemote-yeeloong-2f-8.9inches".
21392 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21393 additional argument to Linux.
21394
1a3aaff4
RM
213952010-11-04 Robert Millan <rmh@gnu.org>
21396
21397 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21398 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21399 (its SATA disks are detected as slaveless IDE master drives on
21400 kFreeBSD).
21401 Reported by Carsten Aulbert.
21402
a75f4f62
CW
214032010-11-02 Colin Watson <cjwatson@ubuntu.com>
21404
21405 * util/bin2h.c (main): Fix spelling error in generated output.
21406
33b4b0c6
GS
214072010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21408
21409 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21410
2b36fbf4
VS
214112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21414 vga= option is supplied.
21415
74aaf558
VS
214162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21419 * util/grub.d/10_kfreebsd.in: Likewise.
21420 * util/grub.d/10_linux.in: Likewise.
21421 * util/grub.d/20_linux_xen.in: Likewise.
21422
6428dec3
VS
214232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21426 argument as an argument to no-argument option.
21427
f8729d98
VS
214282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * util/grub.d/10_linux.in: Add missing load_video with explicit
21431 GRUB_GFXPAYLOAD_LINUX.
21432
89d68fa6
VS
214332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21434
21435 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21436
3a1197cd
VS
214372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21440 elements with invlid index.
21441 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21442 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21443 members.
21444 * include/grub/raid.h (grub_raid_member): New struct.
21445 (grub_raid_array): Transform devices and start_sector into usage of
21446 grub_raid_member. All users updated
21447 (allocated_devs): New member.
21448
71574288
VS
214492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21452 is modified
21453
8d40ec65
BC
214542010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21455
21456 NetBSD build fix for getline function conflict from gnulib.
21457
21458 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21459 components that depend on gnulib headers.
21460 (libgrubmods.a): Renamed from earlier libgrub.a.
21461 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21462
95b9257e
VS
214632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21466 install rather than creating a broken install.
21467
26c53dc6
VS
214682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 * util/grub-setup.c (argp): Remove misleading example of installing to
21471 a partition.
21472
4171b3c5
VS
214732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 * util/grub-setup.c (setup): Clarify the error message.
21476
18568d18
VS
214772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21480
4f6a2e21
VS
214812010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * grub-core/kern/emu/misc.c
21484 (grub_make_system_path_relative_to_its_root)
21485 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21486
214872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21488
21489 * grub-core/kern/emu/misc.c
21490 (grub_make_system_path_relative_to_its_root): Revert r2882.
21491
e138c458
VS
214922010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21495 useless field head. All users updated.
21496 (free_subchunk): Correct handling of IN_REGION subchunk.
21497
0cbcdf0e
CW
214982010-10-22 Colin Watson <cjwatson@ubuntu.com>
21499
21500 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21501 (Supported kernels): Likewise.
21502
b65ea155
GS
215032010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21504
21505 Make mktemp invocations portable.
21506
21507 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21508 exit if mktemp fails.
21509 * tests/grub_script_blockarg.in: Likewise.
21510 * tests/partmap_test.in: Likewise.
21511 * tests/util/grub-shell-tester.in: Likewise.
21512 * tests/util/grub-shell.in: Likewise.
21513 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21514 * Makefile.am: Likewise, and chain shell commands with `&&'
21515 instead of ';'.
21516 * util/grub-mkrescue.in: Use the same explicit template as above, and
21517 exit if mktemp fails.
21518
05f43cdd
BC
215192010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21520
21521 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21522 Linux kernel, reported by Dennis Schridde.
21523
800e6a9b
SJ
215242010-10-17 Szymon Janc <szymon@janc.net.pl>
21525
21526 * grub-core/normal/auth.c (grub_auth_check_authentication):
21527 Set-but-not-used variable removed.
21528
d82df574
VS
215292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21532 32-bit linux protocol.
21533
7bced458
VS
215342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21535
21536 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21537 cursor shape for sanity.
21538
5b027690
VS
215392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * docs/grub.texi (Installation): Document buggy BIOS install.
21542
ba5f65cf
VS
215432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * docs/grub.texi (Installation): Indent.
21546
fdf2ec9c
VS
215472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 * util/grub-setup.c (setup): New parameter allow_floppy.
21550 (arguments): New member allow_floppy.
21551 (argp_parser): Handle --allow-floppy.
21552 (main): Pass allow_floppy.
21553 * util/grub-install.in: New option --allow-floppy passed though to
21554 grub-setup.
21555
861dfd4c
VS
215562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * util/grub-install.in: Handle partitionless disks.
21559
f77a8c24
VS
215602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 * util/grub-setup.c (setup): Don't clean blocklists before readability
21563 verfification.
21564
27d9ee32
VS
215652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * docs/grub.texi (Installation): Document embedding zone. Remove
21568 obsolete grub-install example.
21569
6bdda8f8
SJ
215702010-10-16 Szymon Janc <szymon@janc.net.pl>
21571
21572 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21573 Set-but-not-used variable ifdef'ed.
21574 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21575 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21576 variable removed.
21577 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21578 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21579 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21580 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21581 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21582 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21583 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21584 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21585 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21586 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21587 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21588 Likewise.
21589
e19b016b
VS
215902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21593 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21594 enum value.
21595
6c8d3002
VS
215962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21599 synonym to _S5_. Needed for some DSDTs.
21600
c32b51c9
VS
216012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Userspace ACPI parser debugging.
21604
21605 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21606 headers and add relevant defines. Don't include standard headers.
21607 (main) [GRUB_DSDT_TEST]: New function.
21608 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21609 Don't declare functions.
21610
fbfbeb39
VS
216112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 Remove dead grub_efi_mm_fini.
21614
21615 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21616 (ALLOCATED_PAGES_SIZE): Likewise.
21617 (MAX_ALLOCATED_PAGES): Likewise.
21618 (allocated_pages): Likewise.
21619 (grub_efi_allocate_pages): Don't record allocated pages.
21620 (grub_efi_free_pages): Likewise.
21621 (grub_efi_mm_init): Likewise.
21622 (grub_efi_mm_fini): Removed.
21623
65f7ed7c
VS
216242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21627 (grub_efi_mm_init): Take into account the memory map size increase.
21628
24977b44
VS
216292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21632 (serial_hw_put): Wait based on real time rather than port reads. Don't
21633 roken ports.
21634 * include/grub/serial.h (grub_serial_port): New field broken.
21635
1eb01cd2
RM
216362010-10-16 Robert Millan <rmh@gnu.org>
21637
21638 * grub-core/kern/emu/misc.c
21639 (grub_make_system_path_relative_to_its_root): Fix premature return
21640 when processing non-root ZFS filesystems.
5f8b440b 21641 Reported by Sergio Talens-Oliag.
1eb01cd2 21642
2d5fed60
RM
216432010-10-15 Robert Millan <rmh@gnu.org>
21644
21645 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21646 guarantee compressed ones are processed first.
21647
d0f4c1ea
VS
216482010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21651 grub_efiemu_autocore.
21652
d87c681f
VS
216532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21656 rather than 0x1b.
21657 (grub_console_getkey): Use correct jae opcode rather than ja.
21658
219b3564
RM
216592010-10-12 Robert Millan <rmh@gnu.org>
21660
21661 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21662 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21663 variable. All references updated.
21664
21665 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21666
20c6bb7e
VS
216672010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 Correctly distinguish mdraid flavours.
21670
21671 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21672 (insert_array): New argument raid.
21673 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21674 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21675 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21676
74baff84
VS
216772010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21680 handling of special keys.
21681
3ef068df 216822010-10-02 Aleš Nesrsta <starous@volny.cz>
21683
c7980ad9
VS
21684 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21685 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21686
a9455194 216872010-10-02 Aleš Nesrsta <starous@volny.cz>
21688
c7980ad9
VS
21689 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21690 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21691 users updated.
a9455194 21692 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21693 Use right endpoint when querying descriptor.
a9455194 21694
441cfe65
VS
216952010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 Clear out 0x80 color bit on EFI.
21698 Tested by: decoder
21699 Reported by: decoder and meta tech.
21700
21701 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21702 (grub_console_setcolorstate): Clear out 0x80 bit.
21703 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21704 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21705 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21706
bf26bcc4
VS
217072010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21708
21709 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21710 Set to "auto".
21711
6e3c515d
VS
217122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21715 mo_file after freeing.
21716
e6d983ba
VS
217172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21720
74ccb5b5
VS
217212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21722
21723 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21724 flags.
21725
17821956
VS
217262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21729 usage.
21730
ee74fa48
VS
217312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21734
21735 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21736 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21737 and terminfo.h when needed.
21738 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21739 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21740 (terminfo): Enable only on terminfokernel.
21741 (extcmd): Likewise.
21742 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21743 * include/grub/lib/arg.h: Likewise.
21744 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21745 incorrect usage of ->.
21746
aa438e68
VS
217472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21750 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21751
57994012
VS
217522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 Fix coreboot compilation.
21755
21756 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21757 Take VBE info into account even if only text is supported.
21758 (fill_vbe_info): Take into account the case when only VGA text
21759 is supported.
21760 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21761 on coreboot, multiboot and qemu.
21762
2a406611
VS
217632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21764
21765 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21766 debug messages.
21767 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21768
d33613fc
VS
217692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21772 parameters.
21773
44a1b432
VS
217742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21777 if they were BSD-style.
21778
edde54e6
VS
217792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21780
21781 * grub-core/boot/i386/pc/lnxboot.S: Replace
21782 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21783 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21784
b65830fa
VS
217852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21786
21787 Write embedding zone using Reed-Solomon.
21788
21789 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21790 * grub-core/Makefile.am (rs_decoder.S): New target.
21791 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21792 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21793 (multiboot): Move to RS part.
21794 (post_reed_solomon): New label.
21795 (grub_boot_drive): Move to non-RS part since it's modified in memory
21796 on boot.
21797 Include rs_decoder.S.
21798 * grub-core/lib/reed_solomon.c: New file.
21799 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21800 New definition.
21801 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21802 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21803 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21804 * include/grub/partition.h (grub_partition_map): Change prototype of
21805 embed to allow returning additional sectors.
21806 * include/grub/reed_solomon.h: New file.
21807 * util/grub-setup.c (setup): Handle Reed-Solomon.
21808
0b4b227f
CW
218092010-09-28 Colin Watson <cjwatson@ubuntu.com>
21810
21811 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21812 i386 and x86-64 definedness tests.
21813
f772623b
YB
218142010-09-27 Yves Blusseau <blusseau@zetam.org>
21815
21816 Fix generation of kernel_syms.lst
21817
21818 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21819 ASM_PREFIX
21820
8e57a6ca
RM
218212010-09-26 Robert Millan <rmh@gnu.org>
21822
21823 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21824
21825 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21826 the pool is an array of devices, iterate through it and return the
21827 first device that passes a stat() test (instead of blindly returning
21828 the first one).
21829
f9130836
RM
218302010-09-26 Robert Millan <rmh@gnu.org>
21831
21832 Build fixes for GNU/kFreeBSD.
21833
21834 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21835 to programs that require ZFS conversion.
21836 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21837 kernels that don't have FLOPPY_MAJOR.
21838
96510faf
BC
218392010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21840
21841 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21842
449333eb
BC
218432010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21844
21845 Fix grub-emu build.
21846
21847 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21848 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21849 mdraid09 and mdraid1x.
21850
e1fd1939
CW
218512010-09-24 Colin Watson <cjwatson@ubuntu.com>
21852
21853 Re-enable grub-extras.
21854
21855 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21856 avoid confusing Automake. Run autogen only twice, once for the top
21857 level and once for grub-core. Add Makefile.util.def and
21858 Makefile.core.def from extra modules to the appropriate autogen
21859 invocations. If Makefile.common exists in an extra module, include
21860 it in both Makefile.util.am and grub-core/Makefile.core.am;
21861 similarly, include any Makefile.util.common file in Makefile.util.am
21862 and any Makefile.core.common file in grub-core/Makefile.core.am.
21863 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21864 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21865 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21866 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21867
21868 * gentpl.py (gvar_add): Turn GVARS into a set.
21869 (global_variable_initializers): Sort global variables on output.
21870 (vars_init): New function.
21871 (first_time): Likewise.
21872 (library): Ensure that non-global variable initialisations are
21873 emitted before the first time we emit code for a library block.
21874 Append to variables rather than setting them. Only emit
21875 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21876 each conditional path.
21877 (program): installdir() emits an Autogen macro, so must be passed to
21878 var_add rather than gvar_add.
21879 (data): Likewise.
21880 (script): Likewise.
21881 (rules): New function, centralising handling for different target
21882 types. Set up Guile association lists for first_time and vars_init,
21883 and send most output to a diversion so that variable initialisations
21884 can be emitted first.
21885 (module_rules): Use new rules function.
21886 (kernel_rules): Likewise.
21887 (image_rules): Likewise.
21888 (library_rules): Likewise.
21889 (program_rules): Likewise.
21890 (script_rules): Likewise.
21891 (data_rules): Likewise.
21892
21893 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21894
21895 * .bzrignore: Add contrib and grub-core/contrib. Remove
21896 grub-core/Makefile.gcry.am.
21897
1d12cf29
YB
218982010-09-24 Yves Blusseau <blusseau@zetam.org>
21899
21900 * grub-core/lib/LzFind.c: Add missing include.
21901 * grub-core/lib/LzmaEnc.c: Likewise.
21902 * grub-core/script/lexer.c: Likewise.
21903 * grub-core/script/yylex.l: Likewise.
21904 * util/grub-macho2img.c: Likewise.
21905 * util/grub-menulst2cfg.c: Likewise.
21906 * util/grub-mklayout.c: Likewise.
21907 * util/grub-mkpasswd-pbkdf2.c
21908 * util/grub-mkrelpath.c: Likewise.
21909 * util/resolve.c: Likewise.
21910
dd363028
BC
219112010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21912
21913 * Makefile.util.def (example_unit_test): Add
21914 grub-core/gnulib/libgnu.a.
21915
f5a109e2
GS
219162010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21917
21918 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21919
6d0fa83c
VS
219202010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21921
21922 Support xz compression on yeeloong.
21923
21924 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21925 * configure.ac: Check for LZMA.
21926 * grub-core/Makefile.core.def (xz_decompress): New target.
21927 (none_decompress): Likewise.
21928 * grub-core/boot/decompressor/minilib.c: New file.
21929 * grub-core/boot/decompressor/none.c: Likewise.
21930 * grub-core/boot/decompressor/xz.c: Likewise.
21931 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21932 * grub-core/kern/mips/cache_flush.S: Likewise.
21933 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21934 * grub-core/kern/mips/startup.S: Move first stage to ...
21935 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21936 nomacro.
21937 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21938 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21939 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21940 Allocate statically.
21941 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21942 Allocate statically or use scratch. Don't check CRC32.
21943 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21944 Allocate statically. Don't check CRC32.
21945 * include/grub/decompressor.h: New file.
21946 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21947 Removed.
21948 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21949 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21950 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21951 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21952 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21953 * util/grub-mkimage.c (grub_compression_t): New type.
21954 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21955 (image_target_desc): New field default_compression.
21956 (image_targets): Adjust yeeloong targets.
21957 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21958 (compress_kernel): New parameter comp.
21959 (generate_image): Likewise. Handle new compression case.
21960 (options): New option --compression
21961 (help): Likewise.
21962 (main): Handle new option.
21963
1b655af6
GS
219642010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21965
21966 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21967
8f03f0b5
CW
219682010-09-22 Colin Watson <cjwatson@ubuntu.com>
21969
21970 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21971 typo in __i386__ conditional.
21972
7835dfd3
VS
219732010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21974
21975 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21976 include.
21977
e255597e
VS
219782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21979
6d0fa83c 21980 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21981
21982 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21983 new tags as supported.
21984 (acpiv2_size): New function.
21985 (grub_multiboot_get_mbi_size): Take new tags into account.
21986 (grub_multiboot_make_mbi): Add new tags.
21987 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21988
6cc14051 219892010-09-21 Aleš Nesrsta <starous@volny.cz>
21990
21991 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21992 Added missing configuration of USB device.
21993
df7769d8
CW
219942010-09-21 Colin Watson <cjwatson@ubuntu.com>
21995
21996 * grub-core/normal/menu_entry.c (run): Make sure we always return
21997 a value.
21998
b031012d
CW
219992010-09-21 Colin Watson <cjwatson@ubuntu.com>
22000
22001 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22002 NumberOfPages is UINT64 according to the UEFI specification, not
22003 UINTN. Fix printf format.
22004
174de8f3
CW
220052010-09-21 Colin Watson <cjwatson@ubuntu.com>
22006
22007 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22008 `err' to grub_usb_err_t.
22009 Reported and tested by: KESHAV P.R.
22010
d7dbe923
CW
220112010-09-21 Colin Watson <cjwatson@ubuntu.com>
22012
22013 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22014 tpart non-const, so that we can assign to it. (Since this is a
22015 typedef, the constness refers to the pointer rather than what it
22016 points to.)
22017
8d5e2af3
CW
220182010-09-21 Colin Watson <cjwatson@ubuntu.com>
22019
22020 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22021 $(top_srcdir)/grub-core/gnulib as well as
22022 $(top_builddir)/grub-core/gnulib.
22023 Reported by: KESHAV P.R.
22024
5c527783
CW
220252010-09-21 Colin Watson <cjwatson@ubuntu.com>
22026
22027 * util/grub-install.in: Fix the bootloader ID option to be
22028 consistently --bootloader-id, not --bootloader_id.
22029 Reported by: KESHAV P.R.
22030
d309a16e
CW
220312010-09-21 Colin Watson <cjwatson@ubuntu.com>
22032
22033 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22034 check hash checksum." consistently translatable.
22035
b830cd16
YB
220362010-09-21 Yves Blusseau <blusseau@zetam.org>
22037
22038 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22039 $(top_builddir).
22040
c4fe27a8
CW
220412010-09-21 Colin Watson <cjwatson@ubuntu.com>
22042
22043 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22044 (GRUB_MOD_INIT): Register sha1sum command.
22045 (GRUB_MOD_FINI): Unregister sha1sum command.
22046
a4c1d277
YB
220472010-09-21 Yves Blusseau <blusseau@zetam.org>
22048
22049 Keep boot and grub directory names in sync with utils scripts
22050
22051 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22052 * config.h.in: Add previous macros.
22053 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22054 * util/grub-install.in: Use $bootdir and $grubdir variables.
22055
4eff79d2
CW
220562010-09-21 Colin Watson <cjwatson@ubuntu.com>
22057
22058 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22059 convert partition names to disk names if the new `convert' parameter
22060 is set.
22061 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22062 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22063 disk in its own right. This can happen with Xen disk images.
22064
934d7e44
YB
220652010-09-21 Yves Blusseau <blusseau@zetam.org>
22066
22067 * util/grub-editenv.c: Update strings to avoid warnings when generating
22068 grub.pot file.
22069 * util/grub-setup.c: Likewise.
934d7e44 22070
df3367cc
VS
220712010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22072
22073 * configure.ac: Change version to 1.99~beta0.
22074
77a94e98
VS
220752010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22078 Add BADRAM.
22079 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22080 Likewise.
22081 * include/multiboot.h: Resynced with specification.
22082 * include/multiboot2.h: Likewise.
22083
269004c1
CW
220842010-09-21 Colin Watson <cjwatson@ubuntu.com>
22085
22086 Fix po directory handling.
22087
22088 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22089 * grub-core/gnulib/Makefile.am: Import gettext module.
22090 * m4/gnulib-cache.m4: Likewise.
22091 * m4/gnulib-comp.m4: Likewise.
22092 * m4/gettext.m4: New file, from gnulib.
22093 * m4/glibc2.m4: Likewise.
22094 * m4/iconv.m4: Likewise.
22095 * m4/intdiv0.m4: Likewise.
22096 * m4/intl.m4: Likewise.
22097 * m4/intldir.m4: Likewise.
22098 * m4/intlmacosx.m4: Likewise.
22099 * m4/intmax.m4: Likewise.
22100 * m4/inttypes-pri.m4: Likewise.
22101 * m4/lcmessage.m4: Likewise.
22102 * m4/lib-ld.m4: Likewise.
22103 * m4/lib-link.m4: Likewise.
22104 * m4/lib-prefix.m4: Likewise.
22105 * m4/lock.m4: Likewise.
22106 * m4/nls.m4: Likewise.
22107 * m4/po.m4: Likewise.
22108 * m4/printf-posix.m4: Likewise.
22109 * m4/progtest.m4: Likewise.
22110 * m4/threadlib.m4: Likewise.
22111 * m4/uintmax_t.m4: Likewise.
22112 * m4/visibility.m4: Likewise.
22113 * po/Makefile.am: Remove.
22114 * po/Makefile.in.in: New file, from gettext.
22115 ($(DOMAIN).pot-update): Support POTFILES-shell.
22116 * po/Makevars: New file.
22117 * po/POTFILES-shell: Rename to ...
22118 * po/POTFILES-shell.in: ... this. Update.
22119 * po/POTFILES: Rename to ...
22120 * po/POTFILES.in: ... this. Update.
22121 * po/Rules-quot: New file, from gettext.
22122 * po/boldquot.sed: Likewise.
22123 * po/en@boldquot.header: Likewise.
22124 * po/en@quot.header: Likewise.
22125 * po/insert-header.sin: Likewise.
22126 * po/quot.sed: Likewise.
22127 * po/remove-potcdate.sin: Likewise.
22128
3e0fa5d0
VS
221292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22132
ade9bd66
VS
221332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * util/grub.d/20_linux_xen.in: Use submenus.
22136
fc55cc4c
VS
221372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 Support submenus.
22140
22141 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22142 parameter submenu. All users updated.
22143 * grub-core/normal/main.c (free_menu): Rename to ...
22144 (grub_normal_free_menu): ... this. Made global.
22145 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22146 if requested.
22147 * grub-core/normal/menu_entry.c (screen): New field submenu.
22148 (make_screen): Set submenu.
22149 (run): Open new context if requested.
22150 * include/grub/menu.h (grub_menu_entry): New field submenu.
22151 * include/grub/normal.h (grub_normal_free_menu): New proto.
22152
600cedf7
VS
221532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22154
22155 Menu entries extractor.
22156
22157 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22158 variants.
22159 (GRUB_MOD_INIT): Register new variants.
22160 (GRUB_MOD_FINI): Unregister new variants.
22161 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22162 into grub_cmd_legacy_source.
22163 (grub_cmd_legacy_source): Implement extractor variants.
22164 (GRUB_MOD_INIT): Register new variants.
22165 (GRUB_MOD_FINI): Unregister new variants.
22166 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22167 as an extractor.
22168 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22169 search as an extractor.
22170 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22171 test as an extractor.
22172 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22173 as an extractor.
22174 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22175 (grub_env_new_context): New function.
22176 (grub_env_context_open): Likewise.
22177 (grub_env_extractor_open): Likewise.
22178 (grub_env_extractor_close): Likewise.
22179 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22180 grub_extractor_level.
22181 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22182 * include/grub/env.h (grub_env_extractor_open): New proto.
22183 (grub_env_extractor_close): Likewise.
22184 * include/grub/normal.h (grub_extractor_level): New external variable.
22185
7bda3a87
VS
221862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 Make cutmem accept a region specification.
22189 Suggested by: Samuel Thibault
22190
22191 * grub-core/mmap/mmap.c (parsemem): New function.
22192 (grub_cmd_cutmem): Handle new arguments.
22193
2ea57f88
VS
221942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 New command cutmem.
22197
22198 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22199 (GRUB_MOD_INIT): Register new command.
22200 (GRUB_MOD_FINI): Unregister new command.
22201
74342e31
VS
222022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 Support some annoying BSD and Minix subpartitions.
22205
22206 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22207 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22208 Properly handle concatenation.
22209 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22210 * grub-core/normal/completion.c (iterate_partition): Likewise.
22211 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22212 contain partition. All users updated.
22213 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22214 struct.
22215 (grub_openbsdlabel_partition_map): Likewise.
22216 (bsdlabel_partition_map_iterate): Rename to ..
22217 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22218 (bsdlabel_partition_map_iterate): New function.
22219 (netopenbsdlabel_partition_map_iterate): Likewise.
22220 (netbsdlabel_partition_map_iterate): Likewise.
22221 (openbsdlabel_partition_map_iterate): Likewise.
22222 (GRUB_MOD_INIT): Register new partmaps.
22223 (GRUB_MOD_FINI): Unregister new partmaps.
22224 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22225 (grub_partition_msdos_iterate): ... this. All users updated.
22226 Don't support embedding other than in a minix partition.
22227 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22228 proto.
22229 * include/grub/partition.h (grub_partition): New field msdostype.
22230 * util/grub-install.in: Handle openbsd and netbsd types being in
22231 part_bsd module.
22232
1e8d555b
VS
222332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22236
22237 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22238 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22239 (mdraid09): ... this.
22240 (mdraid1x): New module.
22241 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22242 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22243
899d8af4
VS
222442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22247 vsprintf.
22248
40901acd
CW
222492010-09-20 Colin Watson <cjwatson@ubuntu.com>
22250
22251 * grub-core/commands/efi/lsefimmap.c: Correct header.
22252 * NEWS: Update.
22253
dfe3b247
CW
222542010-09-20 Colin Watson <cjwatson@ubuntu.com>
22255
22256 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22257 as printf format strings; the translations might contain '%' which
22258 could cause a crash.
22259 (main): Likewise.
22260 * util/grub-fstest.c (argp_parser): Likewise.
22261 * util/grub-setup.c (argp_parser): Likewise.
22262 (main): Likewise.
22263
3286a4b4
VS
222642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22265
22266 Use argp in grub-fstest.
22267
22268 * util/grub-fstest.c: Don't include getopt.h.
22269 Include argp.h.
22270 (root): New variable.
22271 (args_count): Likewise.
22272 (nparm): Likewise.
22273 (num_disks): Likewise.
22274 (images): Likewise.
22275 (cmd): Likewise.
22276 (debug_str): Likewise.
22277 (args): Likewise.
22278 (options): Transformed to argp.
22279 (usage): Removed.
22280 (main): Split argument parsing into ...
22281 (argp_parser): ... this. Changed to argp format.
22282 (argp): New variable.
22283 (main): Use argp_parse.
22284
3dccbe4b
TG
222852010-09-20 Tristan Gingold <gingold@free.fr>
222862010-09-20 Robert Millan <rmh.grub@aybabtu.com>
222872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 * grub-core/commands/efi/lsefimmap.c: New file.
22290 * grub-core/Makefile.core.def (lsefimmap): New module.
22291 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22292
38c259a7
VS
222932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 Pause the execution (10s max) if any errors are displayed so the user
22296 has a chance to see them.
22297
22298 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22299 (grub_print_error): Increment grub_err_printed_errors.
22300 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22301 execution if any errors were displayed.
22302 (show_menu): Remove old code for pause.
22303 * grub-core/normal/menu_entry.c (run): Likewise.
22304 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22305 users updated.
22306 (grub_normal_get_char_counter): Likewise.
22307 * include/grub/err.h (grub_err_printed_errors): New external variable.
22308 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22309
f218b09c
VS
223102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Support multiboot VBE info.
22313
22314 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22315 Take VBE info into account.
22316 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22317 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22318 Call fill_vbe_info when appropriate.
22319 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22320 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22321 as supported.
22322 (grub_multiboot_get_mbi_size): Take new tags into account.
22323 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22324 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22325 Call fill_vbe_tag when appropriate.
22326 (grub_multiboot_make_mbi): Properly align tags.
22327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22328 function.
22329 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22330 proto.
22331 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22332
a9cc5438
VS
223332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 Suport manual terminal geometry specification.
22336
22337 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22338 Save state in grub_ofconsole_terminfo_output.
22339 (grub_ofconsole_term): Use grub_terminfo_getwh.
22340 (grub_ofconsole_getwh): Removed.
22341 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22342 (grub_serial_term): Use grub_terminfo_getwh.
22343 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22344 (options): New struct.
22345 (OPTION_*): New enum.
22346 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22347 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22348 width and height.
22349 (grub_terminfo_getwh): New proto.
22350 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22351
1a8fed20
VS
223522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 Handle legacy "terminal" command.
22355
22356 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22357 and FLAG_TERMINAL.
22358 (legacy_commands): Add terminal and title.
22359 (grub_legacy_parse): Handle terminal. Simplify title handling.
22360
41e9c57d
VS
223612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22364 parameters overflow.
22365
61c874c5
CW
223662010-09-20 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22369 widthspec.h.
22370
22371 * docs/grub.texi (Shell-like scripting): Document `!'.
22372 (Network): Simplify using new i386-pc-pxe format. Mention
22373 grub-mknetdir.
22374
22375 * NEWS: Update.
22376
943682b4
CW
223772010-09-20 Colin Watson <cjwatson@ubuntu.com>
22378
22379 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22380 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22381 when needed.
22382
6d3d698d
CW
223832010-09-20 Colin Watson <cjwatson@ubuntu.com>
22384
22385 * grub-core/commands/efi/lsefisystab.c: Correct header.
22386 * grub-core/commands/efi/lssal.c: Likewise.
22387 * grub-core/commands/testload.c: Likewise.
22388
c982589f
CW
223892010-09-20 Colin Watson <cjwatson@ubuntu.com>
22390
22391 * util/grub-mkrescue.in: Add explicit root argument to --set to
22392 prevent the UUID being interpreted as an argument to --set (matches
22393 previous change to prepare_grub_to_access_device).
22394
a63c31b6
CW
223952010-09-20 Colin Watson <cjwatson@ubuntu.com>
22396
22397 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22398 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22399 the verbosity of later #ifs.
22400 (find_partition_start): Define this function on FreeBSD too.
22401 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22402 function.
22403 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22404 on FreeBSD.
22405
6439b8ee
YB
224062010-09-20 Yves Blusseau <blusseau@zetam.org>
22407
22408 * util/grub-editenv.c: Use argp instead of getopt.
22409
c5930ec8
YB
224102010-09-20 Yves Blusseau <blusseau@zetam.org>
22411
22412 * util/grub-setup.c: Use argp instead of getopt.
22413
15c69261
YB
224142010-09-20 Yves Blusseau <blusseau@zetam.org>
22415
22416 Use gnulib-tool to create gnulib source files.
22417
22418 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22419 grub-core/gnulib directories
22420 * .bzignore: Add **/.deps and autogenerated gnulib files
22421 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22422 of gnulib macros, add grub-core/gnulib/Makefile
22423 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22424 include m4 directory to aclocal.
22425 * Makefile.util.def: Remove direct compilation of gnulib source files
22426 and use the new grub-core/gnulib/libgnu.a.
22427 * build-aux/config.rpath: move config.rpath from top directory to
22428 build-aux
22429 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22430 in gnulib headers
22431 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22432 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22433 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22434 header.
22435 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22436 string.
22437
e511c9f5
YB
224382010-09-20 Yves Blusseau <blusseau@zetam.org>
22439
22440 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22441 grub-core/genmod.sh and grub-core/gensyminfo.sh
22442
c2dede05
BC
224432010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22444
22445 Add a test for echo command options.
22446
22447 * tests/grub_cmd_echo.in: New test.
22448 * Makefile.util.def: Rules for new test.
22449
c55f5018
SJ
224502010-09-20 Szymon Janc <szymon@janc.net.pl>
22451
22452 Remove crc.mod and move crc command to hashsum.mod.
22453 Remove lib/crc.c - users updated to use gcrypt implementation.
22454
22455 * grub-core/commands/crc.c: Removed.
22456 * grub-core/Makefile.core.def (crc): Module removed.
22457 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22458 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22459 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22460 * grub-core/lib/crc.c: Removed.
22461 * include/grub/lib/crc.h: Removed.
22462 * Makefile.util.def (crc): Remove lib/crc.c
22463 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22464 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22465 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22466 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22467 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22468 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22469
e0337366
VS
224702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22473
742f9232
VS
224742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 Split config.h for util and core.
22477
22478 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22479 (ADDR32): Likewise.
22480 (DATA32): Likewise.
22481 (BSS_START_SYMBOL): Likewise.
22482 (END_SYMBOL): Likewise.
22483 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22484 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22485 * config.h.in: New file.
22486 * configure.ac: Use config-util.h as config define file.
22487 Rename MACHINE into GRUB_MACHINE. All users updated.
22488 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22489 updated.
22490 (NESTED_FUNC_ATTR): Likewise.
22491 Substitue new variables.
22492 (COND_HAVE_ASM_USCORE): New conditional.
22493 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22494 (kernel_syms.lst): Use ASM_PREFIX.
22495 * grub-core/kern/emu/console.c: Include config-util.h.
22496 * grub-core/kern/emu/misc.c: Likewise.
22497 * grub-core/kern/emu/mm.c: Likewise.
22498 * include/grub/emu/misc.h: Likewise.
22499 * include/grub/libgcc.h: Likewise.
22500
39feb0e8
VS
225012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22504 constants usage.
22505 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22506 Fix GRUB_TERM_KEY_* constants usage.
22507 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22508
9af6dac3
VS
225092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22510
22511 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22512 print pointer.
22513 * grub-core/bus/usb/uhci.c: Remove empty define.
22514 (grub_uhci_check_transfer): Add missing cast.
22515 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22516 print pointer.
22517 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22518 PRIuGRUB_SIZE.
22519 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22520
d6d94820
VS
225212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22522
22523 * grub-core/Makefile.core.def (legacycfg): Add
22524 lib/i386/pc/vesa_modes_table.c on emu.
22525
3572f2b6
BC
225262010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22527
22528 Reduce number of temporary files generated by build system.
22529
22530 * grub-core/gencmdlist.sh: Removed.
22531 * grub-core/genfslist.sh: Removed.
22532 * grub-core/genhandlerlist.sh: Removed.
22533 * grub-core/genmodsrc.sh: Removed.
22534 * grub-core/genpartmaplist.sh: Removed.
22535 * grub-core/genparttoollist.sh: Removed.
22536 * grub-core/gentermiinallist.sh: Removed.
22537 * grub-core/genvideolist.sh: Removed.
22538
22539 * grub-core/genmod.sh.in: New file.
22540 * grub-core/gensyminfo.sh.in: New file.
22541
22542 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22543 * conf/Makefile.extra-dist: Update with new files.
22544 * gentpl.py: Remove rules related to unnecessary temporary files.
22545 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22546 and und-* files.
22547 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22548 genmod.sh scripts.
22549 * grub-core/bus/usb/uhci.c: Remove empty #define.
22550 * grub-core/genmoddep.awk: Updated with new syminfo format.
22551 * util/bash-completion.d/Makefile.am: Add config.log to
22552 CLEANFILES.
22553
c836b030
YB
225542010-09-19 Yves Blusseau <blusseau@zetam.org>
22555
22556 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22557
2f4e8053
BC
225582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22559
22560 * util/grub-mkconfig.in: Check the config script for syntax errors
22561 before saving.
22562
75831c34
CW
225632010-09-19 Colin Watson <cjwatson@ubuntu.com>
225642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22567 platforms.
22568 * util/grub-install.in: Add EFI and IEEE1275 support.
22569 * util/i386/efi/grub-install.in: Removed.
22570 * util/ieee1275/grub-install.in: Likewise.
22571
eaf41b25
VS
225722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22573
22574 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22575 (grub_cmd_cmosclean): Likewise.
22576 (GRUB_MOD_INIT): Register command cmosclean.
22577 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22578 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22579
1a9130dd
CPE
225802010-09-18 Carles Pina i Estany <carles@pina.cat>
225812010-09-18 Aleš Nesrsta <starous@volny.cz>
225822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 Add keyboard layouts support.
22585
22586 * Makefile.util.def (grub-mklayout): New file.
22587 (grub-kbdcomp): New script.
22588 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22589 Add keyboard_layouts.h.
22590 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22591 commands/boot.c on yeeloong.
22592 (keylayouts): New module.
22593 * grub-core/bus/usb/ohci.c
22594 * grub-core/bus/usb/uhci.c
22595 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22596 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22597 (attach_root_port): Likewise.
22598 (poll_nonroot_hub): Likewise.
22599 (grub_usb_poll_devices): Likewise.
22600 (detach_device): Close transfer.
22601 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22602 function.
22603 (grub_usb_bulk_setup_readwrite): Likewise.
22604 (grub_usb_bulk_finish_readwrite): Likewise.
22605 * grub-core/commands/keylayouts.c: New file.
22606 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22607 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22608 aliases.
22609 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22610 support scancode 2.
22611 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22612 * include/grub/keyboard_layouts.h: New file.
22613 * util/grub-mklayout.c: New file.
22614 * util/grub-kbdcomp.in: Likewise.
22615
a1d84a5e
VS
226162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 Unify memory types.
22619
22620 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22621 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22622 types.
22623 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22624 (grub_upper_mem): Likewise.
22625 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22626 * include/grub/memory.h (grub_memory_type_t): New enum.
22627 All users updated.
22628
9696382e
VS
226292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * grub-core/Makefile.core.def (lsapm): New module.
22632 * grub-core/commands/i386/pc/lsapm.c: New file.
22633 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22634 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22635 Likewise.
22636 * include/grub/i386/pc/apm.h: New file.
22637 * include/multiboot.h (multiboot_apm_info): New struct.
22638
226392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 GRUB-legacy configuration file support.
22642
22643 * Makefile.util.def (grub-menulst2cfg): New util.
22644 * docs/man/grub-menulst2cfg.h2m: New file.
22645 * grub-core/Makefile.core.def (legacycfg): New module.
22646 * grub-core/commands/legacycfg.c: New file.
22647 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22648 (grub_normal_add_menu_entry): ... this.
22649 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22650 (grub_normal_set_password): ...this.
22651 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22652 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22653 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22654 * grub-core/lib/legacy_parse.c: New file.
22655 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22656 * include/grub/i386/pc/vesa_modes_table.h: New file.
22657 * include/grub/legacy_parse.h: Likewise.
22658 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22659 * util/grub-menulst2cfg.c: New file.
22660
bf8d1338
CW
226612010-09-17 Colin Watson <cjwatson@ubuntu.com>
22662
22663 * grub-core/kern/emu/hostdisk.c
22664 (convert_system_partition_to_system_disk): Initialise node.
22665
9c0bad2e
CW
226662010-09-17 Colin Watson <cjwatson@ubuntu.com>
22667
22668 * grub-core/kern/emu/hostdisk.c
22669 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22670 leak.
22671 Reported and based on patch by: Modestas Vainius.
22672
a939d135
CW
226732010-09-17 Colin Watson <cjwatson@ubuntu.com>
22674
22675 Fix DM-RAID probing with recent versions of device-mapper udev
22676 rules.
22677
22678 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22679 canonicalise device paths under /dev/mapper/.
22680 (convert_system_partition_to_system_disk): Compare the
22681 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22682 path, since device nodes under /dev/mapper/ are often symlinks.
22683
0f7ee3c9
YB
226842010-09-17 Yves Blusseau <blusseau@zetam.org>
22685
22686 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22687
10854d0d
YB
226882010-09-16 Yves Blusseau <blusseau@zetam.org>
22689
22690 * configure.ac: Avoid some annoying error messages if freetype-config
22691 program is not found.
22692
108538d8
CW
226932010-09-16 Colin Watson <cjwatson@ubuntu.com>
22694
22695 Support RAID on virtio devices, and others.
22696
22697 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22698 Rename to ...
22699 [__MINGW32__] (grub_find_device): ... this.
22700 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22701 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22702 reasonable default if dir is NULL.
22703 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22704 ...
22705 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22706 (grub_guess_root_device): Update callers.
22707 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22708
22709 * util/raid.c (grub_util_getdiskname): Remove.
22710 (grub_util_raid_getmembers): Use grub_find_device rather than
22711 grub_util_getdiskname.
22712
e5bfc130
CW
227132010-09-16 Colin Watson <cjwatson@ubuntu.com>
22714
22715 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22716 needing to be compiled with serial support.
22717 (ls): Indicate that multiple files are accepted.
22718 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22719 indicate that multiple files are accepted.
22720
be458ae2
CW
227212010-09-16 Colin Watson <cjwatson@ubuntu.com>
22722
22723 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22724 libgrub_a_init.c, and util/bash-completion.d/grub.
22725
cb731b5e
VS
227262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22727
22728 * util/grub-setup.c (setup): Fix incorrect container semantics.
22729
35139e8a
VS
227302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22731
22732 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22733 misusage.
22734 Reported by: J. Nick Terry
22735
e50fca4a
VS
227362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 Move embedding routines to partmap sources files.
22739
22740 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22741 [GRUB_UTIL]: New variable.
22742 (gpt_partition_map_iterate): Set part.parent.
22743 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22744 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22745 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22746 New function.
22747 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22748 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22749 (grub_partition_map) [GRUB_UTIL]: New field embed.
22750 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22751 (setup): Use ->embed.
22752
f00478b7
VS
227532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22756 function.
22757 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22758 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22759
2b94e3ff
YB
227602010-09-15 Yves Blusseau <blusseau@zetam.org>
22761
22762 Add function to get completions from usage.
22763
22764 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22765 completions from usage. Use LC_ALL=C to get options properly.
22766
2e04a006
VS
227672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22768
22769 * grub-core/gnulib/basename-lgpl.c: Imported.
22770 * grub-core/gnulib/basename.c: Likewise.
22771 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22772 * grub-core/gnulib/dirname.c: Likewise.
22773 * grub-core/gnulib/dirname.h: Likewise.
22774 * grub-core/gnulib/stripslash.c: Likewise.
22775
5dcdf93a
VS
227762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22777
22778 * grub-core/gnulib/error.c: Resynced.
22779 * grub-core/gnulib/getopt.c: Likewise.
22780 * grub-core/gnulib/getopt_int.h: Likewise.
22781 * grub-core/gnulib/regex.h: Likewise.
22782 * grub-core/gnulib/regex_internal.c: Likewise.
22783 * grub-core/gnulib/regex_internal.h: Likewise.
22784
014f47b7
SJ
227852010-09-15 Szymon Janc <szymon@janc.net.pl>
22786
22787 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22788 CRC calculations and validity checks.
22789 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22790 calculations.
22791
dd521a4a
SJ
227922010-09-15 Szymon Janc <szymon@janc.net.pl>
22793
22794 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22795
79c4eeb9
VS
227962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22797
22798 Fix incorrect echo options handling.
22799 Reported by: Yves Blusseau.
22800
22801 * include/grub/command.h (grub_command_flags_t): New flags
22802 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22803 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22804 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22805
ed80f7d5
VS
228062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22807
22808 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22809 users updated.
22810 (GRUB_COMMAND_FLAG_MENU): Likewise.
22811 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22812 (GRUB_COMMAND_FLAG_TITLE): Removed.
22813 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22814 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22815 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22816 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22817 (grub_command_flags_t): New enum. All users updated.
22818
5fe7620a
SG
228192010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22820
22821 Fix solaris compilation.
22822
22823 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22824 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22825 (grub-emu-list): Likewise.
22826
545b752f
VS
228272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 Remove deprecated root command.
22830
22831 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22832 updated.
22833
6c1a338c
VS
228342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * util/i386/pc/grub-setup.c: Merge this ...
22837 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22838 * util/grub-setup.c: ... into this.
22839 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22840 New struct.
22841
228422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22843
22844 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22845 possible.
22846
d2ea4551
VS
228472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22850 allocate p.
22851
3c3b5040
VS
228522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22855 explicit root argument to set to prevent UUID to be interpreted as
22856 argument to set.
22857
b71c3fae
VS
228582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22861
275433e6
VS
228622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Don't export grub_gate_a20.
22865
22866 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22867 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22868 to ...
22869 (grub_gate_a20): ... this. All users updated.
22870 * include/grub/i386/pc/init.h: Removed. All users updated.
22871
a5dbb1f1
VS
228722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22873
22874 Create euro.pf2 which supports most European languages.
22875
22876 * Makefile.am (grubdata_DATA): Add euro.pf2.
22877 (euro.pf2): New target.
22878 (CLEANFILES): Add euro.pf2.
22879
62a747cb
VS
228802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22881
22882 * configure.ac: Disable emu-usb by default to prevent inadvertent
22883 device takeover.
22884
608e43b1
VS
228852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22886
22887 Disable usbserial on grub-emu since our libusb code isn't good enough
22888 yet.
22889
22890 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22891 (usbserial_pl2303): Likewise.
22892 (usbserial_ftdi): Likewise.
22893
94564f81
VS
228942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 * include/grub/disk.h (grub_disk): Remove has_partitions.
22897 All users updated.
22898 * disk/loopback.c (grub_loopback): Remove has_partitions.
22899 All users updated.
22900 (options): Remove partitions. All users updated.
22901 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22902 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22903 actual partition table is found.
22904
3352800b
VS
229052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22906
22907 Remove readability checks (too many false negatives).
22908
22909 * util/grub-install.in: Remove readability checks.
22910 * util/grub-mkconfig.in: Likewise.
22911 * util/grub.d/10_hurd.in: Likewise.
22912 * util/grub.d/10_kfreebsd.in: Likewise.
22913 * util/grub.d/10_linux.in: Likewise.
22914 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22915 way.
22916
2419f17a
VS
229172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 Enable acpi shutdown on all ACPI platforms.
22920
22921 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22922 on coreboo, multiboot and EFI.
22923 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22924 (grub_acpi_halt): Likewise.
22925 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22926 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22927 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22928 * grub-core/lib/i386/halt.c (grub_halt)
22929 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22930
0575c7c3
VS
229312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22934 context.
22935
54ac3cd1
VS
229362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22937
22938 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22939 * grub-core/video/efi_uga.c: Likewise.
22940
b2a30ac5
VS
229412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 Filter devaliases and never open same device twice.
22944
22945 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22946 (last_ihandle): Likewise.
22947 (ofdisk_hash_ent): New member shortest.
22948 (ofdisk_hash_add): Add canonical path too.
22949 (scan): New function.
22950 (grub_ofdisk_iterate): Iterate over hashed entries.
22951 (compute_dev_path): Don't add :0.
22952 (grub_ofdisk_open): Don't really open the disk.
22953 (grub_ofdisk_close): Avoid closing unrelated disk.
22954 (grub_ofdisk_read): Implement reopen logic.
22955 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22956 New function.
22957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22958 New proto.
22959
fb53b340
VS
229602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22961
22962 Fix sparc64.
22963
22964 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22965 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22966 right address. Add sparc64_ieee1275_ldflags.
22967 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22968 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22969 to grub_host_to_target_addr
22970 (load_image): Likewise.
22971
f452b040
VS
229722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22973
22974 * grub-core/normal/completion.c (complete_file): Handle device
22975 containing slash.
22976 Fix based on patch by Doug Nazar.
22977
9b5b2541
VS
229782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22979
22980 grub-mknetdir script.
22981
22982 * Makefile.util.def (grub-mknetdir): New module.
22983 * tests/util/grub-shell.in: Support boot=net
22984 * util/grub-mknetdir.in: New file.
22985
9d2be652
VS
229862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22987
22988 videoinfo on non-vbe.
22989
22990 * grub-core/Makefile.core.def (vbeinfo): Removed.
22991 (vbetest): Removed.
22992 (videoinfo): New module.
22993 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22994 * grub-core/commands/i386/pc/vbetest.c: Removed.
22995 * grub-core/commands/videoinfo.c: New file.
22996 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22997 specification.
22998 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22999 as vbetest.
23000 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23001 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23002 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23003 mode_number. New parameter mode. All users updated.
23004 (grub_video_gop_iterate): New function.
23005 (grub_video_efi_gop): New member iterate.
23006 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23007 (grub_vbe_set_video_mode): Remove setting useless fields.
23008 (vbe2videoinfo): New function.
23009 (grub_video_vbe_iterate): Likewise.
23010 (grub_video_vbe_setup): Use vbe2videoinfo.
23011 (grub_video_vbe_print_adapter_specific_info): New function.
23012 (grub_video_vbe_adapter): New fields iterate and
23013 print_adapter_specific_info.
23014 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23015 All users updated.
23016 (grub_video_mode_info): New field mode_number.
23017 (grub_video_adapter): New fields iterate and
23018 print_adapter_specific_info.
23019
179503f5
TG
230202010-09-13 Tristan Gingold <gingold@free.fr>
230212010-09-13 Robert Millan <rmh.grub@aybabtu.com>
230222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23023
23024 * grub-core/commands/efi/lsefisystab.c: New file.
23025 * grub-core/commands/efi/lssal.c: Likewise.
23026 * grub-core/Makefile.core.def (lsacpi): New module.
23027 (lsefisystab): Likewise.
23028 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23029 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23030 (grub_efi_sal_system_table): New struct.
23031 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23032 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23033 (grub_efi_sal_system_table_platform_features): Likewise.
23034 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23035 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23036 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23037 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23038
cf9827de
VS
230392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 Support explicit user claim that a device is BIOS-visible.
23042
23043 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23044 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23045 * grub-core/kern/emu/hostdisk.c
23046 (convert_system_partition_to_system_disk): Support mdX.
23047 (find_system_device): New parameter add. All users updated.
23048 (grub_util_biosdisk_is_present): New function.
23049 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23050 proto.
23051
53f0eb1f
VS
230522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 Search hints support.
23055
23056 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23057 All users updated.
23058
b23ffd70
YB
230592010-09-13 Yves Blusseau <blusseau@zetam.org>
23060
23061 Bash completion script for util commands
23062
23063 * Makefile.am: Add util/bash-completion.d directory
23064 * configure.ac: Likewise.
23065 * util/bash-completion.d/Makefile.am: New file.
23066 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23067
d547dc28
VS
230682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23071 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23072 Reported by: Yves Blusseau.
23073
2fc8ccb9
VS
230742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23077 partition size and offset.
23078
d8a84076
VS
230792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23082
84fb3b3d
VS
230832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23086
768ec2e2
VS
230872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23088
23089 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23090 (grub_xvasprintf): Likewise.
23091
4870900f
VS
230922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23093
23094 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23095
faca6bec
VS
230962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23099 args ending with NULL.
23100
231012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23102
23103 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23104 pointer.
23105
3c70f225
SJ
231062010-09-11 Szymon Janc <szymon@janc.net.pl>
23107
23108 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23109
4df7996d
VS
231102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 Shutdown using ACPI.
23113
23114 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23115 * grub-core/commands/acpihalt.c: New file.
23116 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23117 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23118 (grub_acpi_halt): New proto.
23119 (GRUB_ACPI_SLP_EN): New const.
23120 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23121 (GRUB_ACPI_OPCODE_*): New enum.
23122 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23123
126b4c32
TG
231242010-09-11 Tristan Gingold <gingold@free.fr>
231252010-09-11 Robert Millan <rmh.grub@aybabtu.com>
231262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23127
23128 * commands/lsacpi.c: New file.
23129 * grub-core/Makefile.core.def (lsacpi): New module.
23130 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23131 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23132 (grub_acpi_madt_entry_header): New struct.
23133 (grub_acpi_madt): Likewise.
23134 (grub_acpi_madt_entry_interrupt_override): Likewise.
23135 (grub_acpi_madt_entry_sapic): Likewise.
23136 (grub_acpi_madt_entry_lsapic): Likewise.
23137 (grub_acpi_madt_entry_platform_int_source): Likewise.
23138 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23139 (PRIuGRUB_UINT32_T): Likewise.
23140 (PRIxGRUB_UINT64_T): Likewise.
23141
1aa4fe88
VS
231422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 Implement loading palette on ieee1275_fb.
23145
23146 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23147 (have_setcolors): Likewise.
23148 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23149 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23150 (grub_video_ieee1275_set_palette): Implement.
23151
25761e13
VS
231522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
231532010-09-11 Colin Watson <cjwatson@ubuntu.com>
23154
23155 * util/grub-install.in (grub_partition): New variable.
23156 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23157 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23158 Fixes a bug reported by Yves Blusseau.
23159
050abaea
VS
231602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 Fix emu on mipsel.
23163
23164 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23165 =grub_cpu_flush_cache on all mips and not only yeeloong.
23166 * configure.ac (COND_mips): New conditional.
23167 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23168 platforms.
23169 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23170 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23171 [GRUB_LINKER_HAVE_INIT]: New function.
23172 (grub_emu_post_init): Likewise.
23173 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23174 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23175 * include/grub/cache.h (_mips): Include mips/cache.h.
23176 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23177 LVM and RAID prototypes.
23178 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23179 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23180 function.
23181
5ed7d816
CW
231822010-09-10 Colin Watson <cjwatson@ubuntu.com>
23183
23184 * util/grub-install.in: Don't try to verify core.img until after
23185 running grub-mkimage to create it.
23186
90367e04
RM
231872010-09-10 Robert Millan <rmh@gnu.org>
23188
23189 * util/grub.d/10_hurd.in: Add misc readability checks.
23190 * util/grub.d/10_kfreebsd.in: Likewise.
23191 * util/grub.d/10_linux.in: Likewise.
23192
c452fa66
CW
231932010-09-10 Colin Watson <cjwatson@ubuntu.com>
23194
23195 * util/grub-install.in: ${imgext} won't be defined here until the
23196 install branch is merged. For the meantime, only verify core.img on
23197 i386-pc and sparc64-ieee1275 platforms.
23198
c38fe9f4
RM
231992010-09-10 Robert Millan <rmh@gnu.org>
23200
23201 Solaris support in grub_find_zpool_from_dir(). Thanks
23202 Seth Goldberg for referring to getextmntent() facility.
23203
23204 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23205 `sys/mkdev.h'.
23206 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23207 `<sys/mnttab.h>'.
23208 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23209 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23210 method for finding zpool name.
23211
905f7773
CW
232122010-09-10 Colin Watson <cjwatson@ubuntu.com>
23213
23214 grub-fstest needs the host and hostfs modules while other utilities
23215 actively require those modules to be absent, so grub-fstest needs
23216 its own initialisation and finalisation code.
23217
23218 * Makefile.am (grub_fstest.pp): New target.
23219 (grub_fstest_init.lst): Likewise.
23220 (grub_fstest_init.c): Likewise.
23221 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23222
fb90b546
RM
232232010-09-10 Robert Millan <rmh@gnu.org>
23224
23225 * configure.ac: Check for `struct statfs.f_fstypename' and
23226 `struct statfs.f_mntfromname'.
23227
23228 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23229 kFreeBSD-specific code.
23230
66d4bea5
RM
232312010-09-10 Robert Millan <rmh@gnu.org>
23232
23233 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23234 on ZFS. Now non-main filesystems are supported as / too.
23235
b6a690ee
CW
232362010-09-09 Colin Watson <cjwatson@ubuntu.com>
23237
23238 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23239 and grub-core/disk/host.c to ...
23240 (grub-fstest): ... here. Having the host disk implementation
23241 present confuses grub-probe and other utility programs.
23242
23243 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23244 when writing to a file, not when writing to stdout.
23245
8901b00c 232462010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23247
23248 * tests/partmap_test.in: New test for partitions.
23249 * Makefile.util.def: Rules for new test.
23250
7bf45fdd
RM
232512010-09-09 Robert Millan <rmh@gnu.org>
23252
23253 * util/grub-probe.c (probe): Fix a pair of unhandled error
23254 conditions.
23255
4dfbc574
RM
232562010-09-09 Robert Millan <rmh@gnu.org>
23257
23258 Basic Btrfs support (detection and UUID).
23259
23260 * grub-core/fs/btrfs.c: New file.
23261 * Makefile.util.def (library): Register btrfs.c.
23262 * grub-core/Makefile.core.def: Likewise.
23263
6b8e78ae
RM
232642010-09-08 Robert Millan <rmh@gnu.org>
23265
23266 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23267 with (optional) parameters to specify device and relative path.
23268 * util/grub-install.in: Use is_path_readable_by_grub() to
23269 verify readability of a few critical files.
23270 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23271 verify readability of grub.cfg.new.
23272
27f21a8b
VS
232732010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 Split minix.mod into minix.mod and minix2.mod.
23276
23277 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23278 * grub-core/Makefile.core.def (minix2): New module.
23279 * grub-core/fs/minix.c: Use definitions instead of runtime version
23280 checking.
23281 * grub-core/fs/minix2.c: New file.
23282
c0e53ea5
YB
232832010-09-08 Yves Blusseau <blusseau@zetam.org>
23284
23285 Add new --boot-directory option to replace --root-directory
23286
23287 * util/grub-install.in: Add new --boot-directory option
23288 * util/grub-reboot.in: Likewise.
23289 * util/grub-set-default.in: Likewise.
23290
b9fe6ea2
YB
232912010-09-08 Yves Blusseau <blusseau@zetam.org>
23292
23293 * util/grub-mkconfig.in: Use new variable.
23294
d87aedff
YB
232952010-09-08 Yves Blusseau <blusseau@zetam.org>
23296
23297 * configure.ac: Define some useful variables.
23298
e55e8495
VS
232992010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23302 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23303 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23304 Use terminfo and don't use cursor-on/cursor-off unless it's known
23305 to work.
23306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23307 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23308
6fa6d675
CW
233092010-09-08 Colin Watson <cjwatson@ubuntu.com>
23310
23311 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23312 starts with "(,", fill the drive containing the loaded image in
23313 between those two characters, but expect that a full partition
23314 specification including partition map names will follow.
23315
92f2aef0
RM
233162010-09-08 Robert Millan <rmh@gnu.org>
23317
23318 * configure.ac: Remove `--enable-grub-fstest' option.
23319 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23320
23321 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23322 `grub-fstest' instead of `grub-probe' for readability verification.
23323 * util/grub-probe.c (probe): Remove readability verification kludge.
23324
99fd620d
RM
233252010-09-08 Robert Millan <rmh@gnu.org>
23326
23327 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23328 initializing `GRUB_FS'.
23329
058e30ac 233302010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23331
23332 Not command (!) support to GRUB script.
23333
23334 * tests/grub_script_not.in: New test.
23335 * Makefile.util.def: Rules for new test.
23336
23337 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23338 ! command as a special case.
23339 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23340
b61d05ed 233412010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23342
058e30ac 23343 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23344 grub_free.
b61d05ed 23345
4d69c786 233462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23347
23348 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23349
aa3119c4 233502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23351
23352 * docs/grub.texi (Shell-like scripting): Documentation for break,
23353 continue, shift and return commands.
23354
db0f7e3d
VS
233552010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23356
23357 Rename CD-ROM to cd on BIOS.
23358
23359 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23360 "cd".
23361 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23362
88b87c93
VS
233632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23366 * util/grub-probe.c (main): Likewise.
23367 * util/i386/pc/grub-setup.c (main): Likewise.
23368 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23369 Reported and debugged by: alexxy
23370
294f324d
VS
233712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23374 diagnostic info.
23375
d7ee3441
JS
233762010-09-05 Jo Shields <directhex@apebox.org>
23377
23378 * util/grub.d/30_os-prober.in: Add missing classes.
23379
d7e06c1f
VS
233802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 * docs/grub.texi (Theme file format): Document new position format.
23383
fc157e53
VS
233842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23387 a table. Use @code instead of @verbatim.
23388
506e9a1c
CB
233892010-09-05 Colin D Bennett <colin@gibibit.com>
23390
23391 Gfxmenu documentation.
23392
23393 * docs/grub.texi (Theme file format): New chapter.
23394
f0aff67c
SJ
233952010-09-05 Szymon Janc <szymon@janc.net.pl>
23396
23397 * grub-core/Makefile.core.def (xzio): New module.
23398 * grub-core/io/xzio.c: New file.
23399 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23400 * grub-core/lib/xzembed/xz_config.h: Likewise.
23401 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23402 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23403 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23404 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23405 * grub-core/lib/xzembed/xz_private.h: Likewise.
23406 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23407 * include/grub/file.h (grub_file_filter_id): New compression filter
23408 GRUB_FILE_FILTER_XZIO.
23409
82a85062
VS
234102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23411
23412 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23413 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23414 size.
23415
3579415d
VS
234162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23417
23418 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23419 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23420
5124ae6d
VS
234212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23422
23423 Uncompressed checksum support.
23424
23425 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23426 (check_list): New parameter uncompress.
23427 (grub_cmd_hashsum): Handle --uncompress.
23428
9aadb3d1
VS
234292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23430
23431 Reintroduce testload.
23432
23433 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23434 from here ...
23435 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23436 (GRUB_MOD_INIT): New function.
23437 (GRUB_MOD_FINI): Likewise.
23438 * grub-core/Makefile.core.def (testload): New module.
23439
a17792c3
SJ
234402010-09-05 Szymon Janc <szymon@janc.net.pl>
23441
23442 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23443 (uint8_t): New type.
23444 (uint16_t): Likewise.
23445 (uint32_t): Likewise.
23446 (uint64_t): Likewise.
23447
b81e40a3
SJ
234482010-09-05 Szymon Janc <szymon@janc.net.pl>
23449
23450 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23451
fc2ef117
VS
234522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23453
23454 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23455 Made static.
23456 (grub_gzfile_open): Removed. All users updated.
23457 (GRUB_MOD_INIT): New function.
23458 (GRUB_MOD_FINI): Likewise.
23459 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23460 (grub_file_filters_enabled): Likewise.
23461 (grub_file_open): Handle filters.
23462 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23463 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23464 * include/grub/file.h (grub_file_filter_id_t): New type.
23465 (grub_file_filter_t): Likewise.
23466 (grub_file_filters_all): New extern variable.
23467 (grub_file_filters_enabled): Likewise.
23468 (grub_file_filter_register): New inline function.
23469 (grub_file_filter_unregister): Likewise.
23470 (grub_file_filter_disable): Likewise.
23471 (grub_file_filter_disable_compression): Likewise.
23472 * include/grub/gzio.h: Removed.
23473
35ee15e0
BC
234742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23475
23476 Filename expansion support for wildcards in GRUB script.
23477
23478 * tests/grub_script_expansion.in: New test.
23479 * Makefile.util.def: Rule for new test.
23480
23481 * grub-core/commands/wildcard.c: New file, implements filename
23482 expansion support for GRUB script.
23483 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23484 * grub-core/script/argv.c: Cosmetic changes.
23485 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23486 Refactored to perform wildcard expansion on arguments.
23487 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23488 struct.
23489
23490 * tests/util/grub-shell.in: Fix quoting for read input.
23491
5f0c4aca
BC
234922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23493
23494 Support for updating environment variables with matched substrings
23495 of regexp.
23496
23497 * tests/grub_cmd_regexp.in: New test.
23498 * Makefile.util.def: Rule for new test.
23499
23500 * grub-core/commands/regexp.c: New option -s to update environment
23501 variables with regexp matches.
23502
3759a35f
SJ
235032010-09-04 Szymon Janc <szymon@janc.net.pl>
23504
23505 * include/grub/file.h (grub_file): New member not_easly_seekable.
23506 (grub_file_seekable): New inline function.
23507 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23508 easily seekable.
23509 (grub_gzio_open): Set not_easly_seekable.
23510 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23511 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23512
ed8c6dec
BC
235132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23514
23515 Support for options to appear multiple times on cmdline.
23516
23517 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23518 * grub-core/commands/extcmd.c: Support for repeatable option.
23519 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23520 repeatable option support.
23521
23522 Refactor menuentry into a regular command.
23523
23524 * grub-core/commands/menuentry.c: New file, menuentry command
23525 implementation.
23526 * grub-core/Makefile.core.def: Rule update for normal.mod.
23527 * grub-core/normal/main.c: Moved menuentry creation to
23528 grub-core/commands/menuentry.c.
23529 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23530 (grub_menu_execute_entry_real): Removed.
23531 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23532 function.
23533 (grub_script_execute_menuentry): Removed.
23534 * grub-core/script/parser.y (menuentry): Removed.
23535 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23536 * grub-core/script/yylex.l (menuentry): Removed.
23537 * include/grub/menu.h (grub_menu_init): New prototype.
23538 (grub_menu_fini): New prototype.
23539 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23540 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23541 (grub_script_execute_sourcecode): New prototype.
23542
dacd0cf0
BC
235432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23544
23545 "return" command for GRUB script functions.
23546
23547 * tests/grub_script_return.in: New test.
23548 * Makefile.util.def: Rules for new test.
23549
23550 * grub-core/script/execute.c (grub_script_return): New function.
23551 * grub-core/script/main.c: Register/unregister return commaond.
23552 * include/grub/script_sh.h (grub_script_return): New prototype.
23553
52e72f9d
BC
235542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23555
23556 "setparams" command to update positional parameters.
23557
23558 * tests/grub_script_setparams.in: New test.
23559 * Makefile.util.def: Rules for new test.
23560
23561 * grub-core/script/argv.c (grub_script_argv_make): New function.
23562 * grub-core/script/execute.c (replace_scope): New function.
23563 (grub_script_setparams): New function.
23564 * grub-core/script/lexer.c: Remove unused variables.
23565 * grub-core/script/main.c: Register/unregister setparams command.
23566 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23567 (grub_script_setparams): New prototype.
23568
25b60c91
BC
235692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23570
23571 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23572 grub_free order.
23573
37e7bf68
BC
235742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23575
23576 Support for passing block of commands as an argument to extcmds.
23577
23578 * Makefile.util.def: Rules for new test.
23579 * tests/grub_script_blockarg.in: New test.
23580 * grub-core/tests/test_blockarg.c: New file, block argument
23581 command used in the test.
23582
23583 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23584 (grub_register_extcmd_prio): New function prototype.
23585 (grub_extcmd_dispatcher): New function prototype.
23586 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23587 type.
23588 * include/grub/script_sh.h (struct grub_script): New members
23589 `children', `next_siblings' and `refcnt' for block arguments and
23590 reference counting.
23591 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23592 (grub_script_arg): New member `script' for block argument.
23593 (grub_script_argv): New member `script' for block argument.
23594 (grub_parser_param): New member `scripts' for block argument.
23595 (grub_script_mem_free): New extern function prototype.
23596 (grub_script_ref): New function prototype.
23597 (grub_script_unref): New function prototype.
23598
23599 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23600 extcmd form to support block arguments.
23601 * grub-core/script/argv.c: Block arguments support.
23602 * grub-core/script/execute.c: Likewise.
23603 * grub-core/script/lexer.c: Likewise.
23604 * grub-core/script/main.c: Likewise.
23605 * grub-core/script/script.c: Likewise.
23606 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23607 non-terminals.
23608
23609 * grub-core/commands/acpi.c: Update extcmd implementations with
23610 grub_extcmd_context_t.
23611 * grub-core/commands/cat.c: Likewise.
23612 * grub-core/commands/echo.c: Likewise.
23613 * grub-core/commands/extcmd.c: Likewise.
23614 * grub-core/commands/hashsum.c: Likewise.
23615 * grub-core/commands/hdparm.c: Likewise.
23616 * grub-core/commands/help.c: Likewise.
23617 * grub-core/commands/hexdump.c: Likewise.
23618 * grub-core/commands/i386/cpuid.c: Likewise.
23619 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23620 * grub-core/commands/i386/pc/halt.c: Likewise.
23621 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23622 * grub-core/commands/iorw.c: Likewise.
23623 * grub-core/commands/keystatus.c: Likewise.
23624 * grub-core/commands/loadenv.c: Likewise.
23625 * grub-core/commands/ls.c: Likewise.
23626 * grub-core/commands/lspci.c: Likewise.
23627 * grub-core/commands/memrw.c: Likewise.
23628 * grub-core/commands/probe.c: Likewise.
23629 * grub-core/commands/search_wrap.c: Likewise.
23630 * grub-core/commands/setpci.c: Likewise.
23631 * grub-core/commands/sleep.c: Likewise.
23632 * grub-core/disk/loopback.c: Likewise.
23633 * grub-core/hello/hello.c: Likewise.
23634 * grub-core/loader/i386/bsd.c: Likewise.
23635 * grub-core/loader/xnu.c: Likewise.
23636 * grub-core/term/gfxterm.c: Likewise.
23637 * grub-core/term/serial.c: Likewise.
23638 * grub-core/tests/lib/functional_test.c: Likewise.
23639
888d1500
BC
236402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23641
23642 Multi-line quoted strings support.
23643
23644 * grub-core/script/lexer.c (append_newline): Removed.
23645 (grub_script_lexer_yywrap): Refactored.
23646 (grub_script_lexer_init): Refactored.
23647 * grub-core/script/yylex.l (yywrap): New function.
23648 (grub_lexer_resplit): New function.
23649 (grub_lexer_unput): New function.
23650 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23651 and resplit.
23652 * tests/grub_script_echo1.in: Added few more testcases.
23653
dda060dd
VS
236542010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * grub-core/kern/misc.c: Don't add abort alias in utils.
23657 Reported by: echoline.
23658
6556eba9
BC
236592010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23660
23661 Add missing files into "make dist" tarball for other platforms.
23662
23663 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23664 * conf/Makefile.common (dist_noinst_DATA): New variable.
23665 * conf/Makefile.extra-dist: Added missing make dist files.
23666 * grub-core/Makefile.core.def: Likewise.
23667
c8e7bf5f
VS
236682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23669
23670 Compress grub_prefix.
23671
23672 * grub-core/boot/i386/pc/lnxboot.S: Use
23673 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23674 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23675 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23676 GRUB_MACHINE_PREFIX_END. All users updated.
23677 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23678 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23679 + 0x40.
23680 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23681 * util/grub-mkimage.c (image_target_desc): Change data_end to
23682 prefix_end. All users updated.
23683
a7c00cdb
VS
236842010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23687 value.
23688 (grub_openbsd_boot): Likewise.
23689 (grub_netbsd_boot): Likewise.
23690 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23691 (grub_xnu_boot): Likewise.
23692
9f915872
VS
236932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 * configure.ac: Clean LIBS variable after tests.
23696
efa1bee7
CW
236972010-09-02 Colin Watson <cjwatson@ubuntu.com>
23698
23699 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23700
61d720e5
VS
237012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23704 echo if libdevmapper will be used.
23705
ef8e0ec8
IT
237062010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23707
23708 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23709 constant for the same file.
23710
03e261d8
VS
237112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23714
c2a4eba6
CW
237152010-09-02 Colin Watson <cjwatson@ubuntu.com>
23716
23717 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23718 grub-core/*.pp.
23719
9056cbf3
CW
237202010-09-02 Colin Watson <cjwatson@ubuntu.com>
23721
23722 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23723 required by the boot protocol.
23724
23725 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23726 ebp and edi members.
23727 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23728 state.ebp and state.edi.
23729 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23730 %ebp and %edi according to grub_relocator32_ebp and
23731 grub_relocator32_edi respectively.
23732 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23733 and state.edi.
23734
529cc99a
VS
237352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23736
23737 Add i386-pc-pxe image target.
23738
23739 * util/grub-mkimage.c (image_target_desc): New enum value
23740 IMAGE_I386_PC_PXE.
23741 (image_targets): New target i386-pc-pxe.
23742 (generate_image): Handle i386-pc-pxe image.
23743
9a093920
VS
237442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 Fix grub_pxe_scan.
23747
23748 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23749 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23750 All users updated.
23751 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23752 (grub_pxe_pxenv): Correct type.
23753
f9cefc4e
CW
237542010-09-01 Colin Watson <cjwatson@ubuntu.com>
23755
23756 * NEWS: Document most of the important changes since 1.98.
23757
4066f57f
CW
237582010-09-01 Colin Watson <cjwatson@ubuntu.com>
23759
23760 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23761 generated manual page) a little.
23762
da2891f9
CW
237632010-09-01 Colin Watson <cjwatson@ubuntu.com>
23764
23765 * docs/grub.texi: Add myself as an author.
23766
ad717fae
VS
237672010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 * Makefile.util.def (libgrub.a): Add missing sunpc.
23770 Reported by: Seth Goldberg.
23771
eefe8abd
VS
237722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 Interrupt wrapping and code simplifications.
23775
9494ef9a
VS
23776 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23777 x86_noieee1275 which are functionaly equivalent in this case.
23778 (grub-install): Make source on each platform explicit. Enable on
23779 all noemu.
23780 * gentpl.py (x86_efi_pc): Removed group.
23781 (x86_noefi): Likewise.
23782 (i386_noefi): Likewise.
23783 (x86_noieee1275): Likewise.
23784 (i386_noieee1275): Likewise.
23785 (i386_noefi_noieee1275): Likewise.
23786 (i386_pc_qemu_coreboot): Likewise.
23787 (i386_coreboot_multiboot): Likewise.
23788 (i386_pc_coreboot_multiboot_qemu): Likewise.
23789 (x86_noefi_mips): Likewise.
23790 (noieee1275): Likewise.
23791 (ieee1275_mips): Likewise.
23792 (noemu_noieee1275): Likewise.
23793 (cmos): New group.
23794 (usb): Likewise.
23795 (videoinkernel): Likewise.
23796 (videomodules): Likewise.
eefe8abd 23797 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23798 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23799 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23800 include/grub/loader.h, include/grub/msdos_partition.h,
23801 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23802 include/grub/machine/console.h, include/grub/machine/vga.h,
23803 include/grub/machine/vbe.h, include/grub/machine/init.h,
23804 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23805 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23806 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23807 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23808 * grub-core/Makefile.core.def (kernel): Explicit the source for
23809 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23810 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23811 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23812 Use videoinkernel tag.
23813 (usb): Enable on all usb.
23814 (usbserial_common): Likewise.
23815 (usbserial_pl2303): Likewise.
23816 (usbserial_ftdi): Likewise.
23817 (uhci): Enable on all x86.
23818 (ohci): Enable on all pci.
23819 (cmostest): Enable on all CMOS.
23820 (acpi): Include commands/acpi.c on all platforms.
23821 (halt): Add relevant lib/*/halt.c.
23822 (hdparm): Enable on all pci.
23823 (lspci): Likewise.
23824 (usbtest): Enable on all usb.
23825 (ata): Enable on all pci.
23826 (ata_pthru): Likewise.
23827 (usbms): Enable on all usb.
23828 (usb_keyboard): Likewise.
23829 (font): Use tag videomodules.
23830 (bufio): Likewise.
23831 (datetime): Use tag cmos. Enable on all noemu.
23832 (mmap): Use tags common and x86.
23833 (gfxterm): Use tag videomodules.
23834 (bitmap): Likewise.
23835 (bitmap_scale): Likewise.
23836 (video_fb): Likewise.
23837 (video): Likewise.
23838 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23839 adjust padding accordingly. All users updated.
23840 (grub_ohci_transaction): Fix bad format specification.
23841 (GRUB_MOD_INIT): Add asserts for struct size.
23842 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23843 (grub_alloc_td): Likewise.
23844 (grub_free_queue): Likewise.
23845 (grub_uhci_transfer): Likewise.
23846 (grub_uhci_transaction): Fix bad format specification.
23847 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23848 (grub_usb_bulk_readwrite): Likewise.
23849 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23850 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23851 Made static.
23852 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23853 Made static.
23854 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23855 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23856 Transformed into C.
23857 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23858 Moved from here ...
23859 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23860 ... here. Transformed into C. Made static.
23861 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23862 Moved from here ...
23863 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23864 ... here. Transformed into C. Made static.
23865 * grub-core/kern/i386/pc/startup.S
23866 (grub_biosdisk_check_int13_extensions): Moved from here ...
23867 * grub-core/disk/i386/pc/biosdisk.c
23868 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23869 Made static.
23870 * grub-core/kern/i386/pc/startup.S
23871 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23872 * grub-core/disk/i386/pc/biosdisk.c
23873 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23874 Transformed into C. Made static.
23875 * grub-core/kern/i386/pc/startup.S
23876 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23877 * grub-core/disk/i386/pc/biosdisk.c
23878 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23879 Transformed into C. Made static.
23880 * grub-core/kern/i386/pc/startup.S
23881 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23882 * grub-core/disk/i386/pc/biosdisk.c
23883 (grub_biosdisk_get_diskinfo_standard): ... here.
23884 Transformed into C. Made static.
23885 * grub-core/kern/i386/pc/startup.S
23886 (grub_biosdisk_get_num_floppies): Moved from here ...
23887 * grub-core/disk/i386/pc/biosdisk.c
23888 (grub_biosdisk_get_num_floppies): ... here.
23889 Transformed into C. Made static.
23890 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23891 New function.
23892 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23893 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23894 Transformed into C. Made static.
23895 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23896 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23897 Transformed into C. Made static.
23898 * grub-core/kern/i386/ieee1275/init.c: Removed.
23899 * grub-core/kern/i386/misc.S: Likewise.
23900 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23901 Splitted from here ...
23902 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23903 Transformed into C. Made static. All users updated.
23904 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23905 Transformed into C. Made static. All users updated.
23906 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23907 Moved from here...
23908 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23909 Transformed into C. Made static. All users updated.
23910 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23911 Moved from here...
23912 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23913 Transformed into C. Made static. All users updated.
23914 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23915 Removed (replaced by C version).
23916 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23917 Moved from here...
23918 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23919 Transformed into C. Made static.
23920 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23921 Moved from here...
23922 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23923 ... here. Transformed into C.
23924 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23925 Moved from here...
23926 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23927 ... here. Transformed into C.
23928 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23929 Moved from here...
23930 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23931 ... here. Transformed into C. Made static.
23932 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23933 Moved from here...
23934 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23935 ... here. Transformed into C.
21ed554b
VS
23936 * grub-core/kern/i386/pc/startup.S
23937 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23938 * grub-core/video/i386/pc/vbe.c
23939 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23940 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23941 Moved from here...
23942 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23943 ... here. Transformed into C.
23944 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23945 Moved from here...
23946 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23947 ... here. Transformed into C.
23948 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23949 Moved from here...
23950 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23951 ... here. Transformed into C.
23952 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23953 Moved from here...
23954 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23955 ... here. Transformed into C.
23956 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23957 Moved from here...
23958 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23959 ... here. Transformed into C. Made static.
23960 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23961 Moved from here...
23962 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23963 ... here. Transformed into C. Made static.
23964 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23965 Moved from here...
23966 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23967 ... here. Transformed into C. Made static.
23968 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23969 pxe_rm_entry as third argument.
23970 (grub_bios_interrupt): New function.
23971 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23972 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23973 of calling grub_stop.
23974 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23975 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23976 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23977 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23978 * grub-core/lib/i386/halt.c: Moved from here ...
23979 * grub-core/lib/i386/halt.c: ... here.
23980 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23981 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23982 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23983 grub_stop_floppy.
23984 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23985 * include/grub/i386/coreboot/init.h: Removed.
23986 * include/grub/i386/multiboot/init.h: Likewise.
23987 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23988 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23989 * include/grub/i386/pc/int.h: New file.
23990 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23991 (grub_pxe_scan): Removed.
23992 (grub_pxe_call): Update prototype.
23993 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23994 prototypes.
23995 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23996 * include/grub/i386/qemu/init.h: Removed.
23997 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23998 noreturn.
23999 (grub_halt): Likewise.
24000 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24001 (grub_reboot): Likewise.
24002 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24003 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24004 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24005
215dd471
RM
240062010-08-30 Robert Millan <rmh@gnu.org>
24007
24008 * NEWS: Document addition of ZFS support in `grub-install' and
24009 `grub-mkconfig'.
24010
ebd65b82
BC
240112010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24012
24013 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24014 dprintf output.
24015
11721d19
VS
240162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24017
24018 Remove leftover embedding of font objects.
24019
24020 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24021 * util/grub-install.in (font): Removed.
24022 * util/grub-mkimage.c (generate_image): Remove font support. All users
24023 updated.
24024
37837d4e
VS
240252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24026
24027 Remove leftover embedding of font objects.
24028
24029 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24030 * util/grub-install.in (font): Removed.
24031 * util/grub-mkimage.c (generate_image): Remove font support. All users
24032 updated.
24033
b4c1aae0
VS
240342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24037 Reported by: Ian Turner
b4c1aae0 24038
8920a08d
VS
240392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24040
24041 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24042 timeout to avoid indefinite boot stalling.
24043
f21db033
VS
240442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24045
24046 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24047 (grub_env_write_color_highlight): Likewise.
24048
9a9de209
VS
240492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24050
24051 * grub-core/normal/term.c (print_more): Return to normal and not
24052 to standard state after printing "---MORE---".
24053
3dca01d7
VS
240542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24057 Mask out the bit 0x80 since it has other meaning that specifiing color.
24058
0b986c40
VS
240592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24060
24061 New relocator. Allows for more kernel support and more straightforward
24062 loader writing.
24063
24064 * Makefile.am (BOOTTARGET): New variable.
24065 (QEMU32): Likewise.
24066 (linux.init.x86_64): New target.
24067 (linux.init.i386): Likewise.
24068 (multiboot.elf): Likewise.
24069 (kfreebsd.elf): Likewise.
24070 (kfreebsd.aout): Likewise.
24071 (pc-chainloader.elf): Likewise.
24072 (pc-chainloader.bin): Likewise.
24073 (ntldr.elf): Likewise.
24074 (ntldr.bin): Likewise.
24075 (multiboot2.elf): Likewise.
24076 (kfreebsd.init.x86_64): Likewise.
24077 (kfreebsd.init.i386): Likewise.
24078 (knetbsd.init.i386): Likewise.
24079 (kopenbsd.init.i386): Likewise.
24080 (knetbsd.init.x86_64): Likewise.
24081 (kopenbsd.init.x86_64): Likewise.
24082 (linux-initramfs.i386): Likewise.
24083 (linux-initramfs.x86_64): Likewise.
24084 (kfreebsd-mfsroot.i386.img): Likewise.
24085 (knetbsd.image.i386): Likewise.
24086 (kopenbsd.image.i386): Likewise.
24087 (kopenbsd.image.x86_64): Likewise.
24088 (knetbsd.miniroot-image.i386.img): Likewise.
24089 (kfreebsd-mfsroot.x86_64.img): Likewise.
24090 (knetbsd.image.x86_64): Likewise.
24091 (knetbsd.miniroot-image.x86_64.img): Likewise.
24092 (kfreebsd-mfsroot.i386.gz): Likewise.
24093 (bootcheck-kfreebsd-i386): Likewise.
24094 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24095 (bootcheck-kfreebsd-x86_64): Likewise.
24096 (knetbsd.miniroot-image.i386.gz): Likewise.
24097 (bootcheck-knetbsd-i386): Likewise.
24098 (bootcheck-kopenbsd-i386): Likewise.
24099 (bootcheck-kopenbsd-x86_64): Likewise.
24100 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24101 (bootcheck-knetbsd-x86_64): Likewise.
24102 (bootcheck-linux-i386): Likewise.
24103 (bootcheck-linux-x86_64): Likewise.
24104 (bootcheck-linux16-i386): Likewise.
24105 (bootcheck-linux16-x86_64): Likewise.
24106 (bootcheck-multiboot): Likewise.
24107 (bootcheck-multiboot2): Likewise.
24108 (bootcheck-kfreebsd-aout): Likewise.
24109 (bootcheck-pc-chainloader): Likewise.
24110 (bootcheck-ntldr): Likewise.
24111 (CLEANFILES): Add new targets.
24112 (BOOTCHECKS): New variable.
24113 (.PHONY): Add bootchecks.
24114 (SUCCESSFUL_BOOT_STRING): New variable.
24115 (BOOTCHECK_TIMEOUT): Likewise.
24116 (bootcheck): New target
24117 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24118 * configure.ac: Correct efiemu excuse.
24119 * docs/grub.texi (Supported kernels): New chapter.
24120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24121 include/grub/mm_private.h. Simplify inclusion of
24122 include/grub/boot.h, include/grub/loader.h
24123 and include/grub/msdos_partition.h
24124 (KERNEL_HEADER_FILES) [i386_coreboot]:
24125 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24126 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24127 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24128 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24129 include/grub/machine/loader.h.
24130 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24131 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24132 extra_dist.
24133 (pci.mod): Enable on i386-multiboot.
24134 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24135 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24136 i386-qemu.
24137 (relocator.mod): Rewritten.
24138 (aout.mod): Enable on all x86.
24139 (bsd.mod): Likewise.
24140 (ntldr.mod): New module.
24141 (linux.mod): Use loader/i386/linux.c on all x86.
24142 (xnu.mod): Enable on all x86.
24143 (vga_text.mod): disable on EFI and QEMU.
24144 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24145 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24146 * grub-core/efiemu/loadcore.c: Likewise.
24147 * grub-core/efiemu/main.c: Likewise.
24148 (grub_efiemu_exit_boot_services): Removed.
24149 (grub_efiemu_finish_boot_services): Likewise.
24150 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24151 function.
24152 * grub-core/efiemu/i386/nocfgtables.c: New file.
24153 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24154 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24155 (grub_efi_finish_boot_services): Moved from here ...
24156 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24157 Fille finish memory map and related data.
24158 (finish_mmap_buf): New variable.
24159 (grub_efi_uintn_t finish_mmap_size): Likewise.
24160 (grub_efi_uintn_t finish_key): Likewise.
24161 (grub_efi_uintn_t finish_desc_size): Likewise.
24162 (grub_efi_uint32_t finish_desc_version): Likewise.
24163 (grub_efi_is_finished): Likewise.
24164 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24165 finished.
24166 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24167 (grub_elf64_phdr_iterate): Likewise.
24168 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24169 (grub_os_area_size): Likewise.
24170 (grub_machine_init): Don't reserve os area.
24171 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24172 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24173 * grub-core/kern/i386/loader.S: Removed.
24174 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24175 (grub_os_area_size): Likewise.
24176 (grub_machine_init): Don't reserve os area.
24177 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24178 Don't call grub_dl_unload_all.
24179 Don't include loader.S.
24180 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24181 Declare the memory after _end as available.
24182 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24183 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24184 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24185 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24186 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24187 * include/grub/mm_private.h (grub_mm_header): ... here.
24188 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24189 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24190 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24191 (grub_mm_region): ..here. Removed addr. Added pre_size.
24192 All users updated.
24193 * grub-core/kern/mm.c (base): Renamed to ...
24194 (grub_mm_base): ... this. Made global.
24195 (grub_real_malloc): Alloc from end of region.
24196 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24197 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24198 * grub-core/kern/powerpc/cache_flush.S: ... here.
24199 * grub-core/lib/efi/relocator.c: New file.
24200 * grub-core/lib/i386/relocator.c: Rewritten.
24201 * grub-core/lib/i386/relocator16.S: New file.
24202 * grub-core/lib/i386/relocator32.S: Likewise.
24203 * grub-core/lib/i386/relocator64.S: Likewise.
24204 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24205 * grub-core/lib/i386/relocator_common.S: New file.
24206 * grub-core/lib/ieee1275/relocator.c: Likewise.
24207 * grub-core/lib/mips/relocator.c: Rewritten.
24208 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24209 stylistic adjustments.
24210 * grub-core/lib/powerpc/relocator.c: New file.
24211 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24212 * grub-core/lib/relocator.c: Rewritten.
24213 * grub-core/lib/x86_64/relocator_asm.S: New file.
24214 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24215 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24216 (bsd_tag): New struct.
24217 (tags): New variable.
24218 (tags_last): Likewise.
24219 (netbsd_module): New struct.
24220 (netbsd_mods): New variable.
24221 (netbsd_mods_last): Likewise.
24222 (openbsd_opts): New parameter "serial".
24223 (OPENBSD_SERIAL_ARG): New definition.
24224 (netbsd_opts): New parameter "serial".
24225 (NETBSD_SERIAL_ARG): New definition.
24226 (grub_freebsd_add_meta): Reorganised into ...
24227 (grub_bsd_add_meta): ...this. All users updated.
24228 (grub_freebsd_add_mmap): Reorganised into ...
24229 (generate_e820_mmap): ...this...
24230 (grub_bsd_add_mmap): ...and this. All users updated.
24231 (grub_freebsd_list_modules): Use tags.
24232 (grub_netbsd_add_meta_module): New function.
24233 (grub_netbsd_list_modules): Likewise.
24234 (grub_freebsd_boot): Use relocator and finish EFI.
24235 (grub_openbsd_boot): Likewise.
24236 (grub_netbsd_setup_video): New function.
24237 (grub_netbsd_add_modules): Likewise.
24238 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24239 and finish EFI.
24240 (grub_bsd_unload): Unload tags.
24241 (grub_bsd_load_aout): Use relocator.
24242 (grub_bsd_elf32_size_hook): New function.
24243 (grub_bsd_elf32_hook): Use relocator.
24244 (grub_bsd_elf64_size_hook): New function.
24245 (grub_bsd_elf64_hook): Use relocator.
24246 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24247 (grub_bsd_load): Zero-out openbsd_ramdisk.
24248 (grub_bsd_load): Use relocator.
24249 (grub_cmd_openbsd): Support serial.
24250 (grub_cmd_netbsd): Support modules.
24251 (grub_cmd_freebsd_module): Use relocator.
24252 (grub_netbsd_module_load): New function.
24253 (grub_cmd_netbsd_module): Likewise.
24254 (grub_cmd_openbsd_ramdisk): Likewise.
24255 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24256 kopenbsd_ramdisk.
24257 (GRUB_MOD_FINI): Unregister new commands.
24258 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24259 (grub_freebsd_load_elfmodule_obj): Use relocator.
24260 (grub_freebsd_load_elfmodule): Likewise.
24261 (grub_freebsd_load_elf_meta): Likewise.
24262 (grub_netbsd_load_elf_meta): New function.
24263 (grub_openbsd_find_ramdisk): Likewise.
24264 * grub-core/loader/i386/bsd_helper.S: Removed.
24265 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24266 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24267 * grub-core/loader/i386/efi/linux.c: Likewise.
24268 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24269 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24270 (DEFAULT_VIDEO_MODE): Likewise.
24271 (real_mode_target): New variable.
24272 (prot_mode_target): Likewise.
24273 (initrd_mem_target): Likewise.
24274 (relocator): Likewise.
24275 (efi_mmap_buf): Likewise.
24276 (efi_mmap_size): Likewise.
24277 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24278 (free_pages): Use relocator.
24279 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24280 (grub_linux_setup_video): Return error.
24281 (grub_linux_trampoline_start): Removed.
24282 (grub_linux_trampoline_end): Likewise.
24283 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24284 andd video parameters depending on firmware.
24285 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24286 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24287 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24288 (grub_cmd_initrd): Use relocator.
24289 * grub-core/loader/i386/linux_trampoline.S: Removed.
24290 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24291 (elf_sec_entsize): Likewise.
24292 (elf_sec_shstrndx): Likewise.
24293 (elf_sections): Likewise.
24294 (grub_multiboot_load): Use relocator.
24295 (grub_multiboot_get_mbi_size): Account for sections.
24296 (grub_multiboot_make_mbi): Use relocator and support sections.
24297 (grub_multiboot_add_elfsyms): New function.
24298 (grub_multiboot_free_mbi): Free sections.
24299 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24300 (grub_linux_real_target): Likewise.
24301 (grub_linux_real_chunk): Likewise.
24302 (grub_linux16_prot_size): Likewise.
24303 (grub_linux16_boot): Use relocator.
24304 (grub_linux_unload): Unload relocator.
24305 (grub_cmd_linux): Use relocator.
24306 (grub_cmd_initrd): Likewise.
24307 * grub-core/loader/i386/pc/ntldr.c: New file.
24308 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24309 Don't try to guess CPU frequency.
24310 (grub_xnu_set_video): Stretch bitmap.
24311 (grub_xnu_boot): Use relocator.
24312 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24313 (grub_linux_unload): Free relocator.
24314 (grub_linux_load32): Use relocator.
24315 (grub_linux_load64): Likewise.
24316 (grub_cmd_initrd): Likewise.
24317 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24318 (grub_multiboot_unload): Unload relocator.
24319 (grub_cmd_multiboot): Use relocator.
24320 (grub_cmd_module): Likewise.
24321 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24322 Use relocator and support sections.
24323 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24324 (elf_sec_entsize): Likewise.
24325 (elf_sec_shstrndx): Likewise.
24326 (elf_sections): Likewise.
24327 (grub_multiboot_load): Use relocator.
24328 (grub_multiboot_get_mbi_size): Account for sections.
24329 (grub_multiboot_make_mbi): Use relocator and support sections.
24330 (grub_multiboot_add_elfsyms): New function.
24331 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24332 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24333 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24334 Prototype changed. All users updated.
24335 (grub_xnu_align_heap): Simplified.
24336 (grub_xnu_writetree_toheap): Likewise.
24337 (grub_xnu_unload): Unload relocator.
24338 (grub_cmd_xnu_kernel): Use relocator.
24339 (grub_cmd_xnu_kernel64): Likewise.
24340 (grub_xnu_register_memory): Simplified.
24341 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24342 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24343 EFI is finished.
24344 (grub_console_checkkey): Likewise.
24345 (grub_console_getkey): Likewise.
24346 (grub_console_getwh): Likewise.
24347 (grub_console_getxy): Likewise.
24348 (grub_console_gotoxy): Likewise.
24349 (grub_console_cls): Likewise.
24350 (grub_console_setcolorstate): Likewise.
24351 (grub_console_setcursor): Likewise.
24352 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24353 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24354 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24355 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24356 * grub-core/tests/boot/kernel-8086.S: Likewise.
24357 * grub-core/tests/boot/kernel-i386.S: Likewise.
24358 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24359 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24360 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24361 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24362 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24363 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24364 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24365 * grub-core/tests/boot/linux.cfg: Likewise.
24366 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24367 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24368 * grub-core/tests/boot/linux16.cfg: Likewise.
24369 * grub-core/tests/boot/multiboot.cfg: Likewise.
24370 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24371 * grub-core/tests/boot/ntldr.cfg: Likewise.
24372 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24373 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24374 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24375 New definition.
24376 * include/grub/dl.h (grub_dl_unload_all): Removed.
24377 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24378 (grub_efi_finish_boot_services): Change prototype.
24379 (grub_efi_is_finished): New variable.
24380 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24381 Changed prototype.
24382 (grub_efiemu_finish_boot_services): Removed.
24383 (grub_machine_efiemu_init_tables): New prototype.
24384 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24385 (grub_elf64_phdr_iterate): Likewise.
24386 * include/grub/i386/bsd.h: Include relocator.h.
24387 (freebsd_tag_header): New struct.
24388 (grub_openbsd_bios_mmap): Removed.
24389 (grub_unix_real_boot): Removed.
24390 (grub_freebsd_load_elfmodule32): Changed prototype.
24391 (grub_freebsd_load_elfmodule_obj64): Likewise.
24392 (grub_freebsd_load_elf_meta32): Likewise.
24393 (grub_freebsd_load_elf_meta64): Likewise.
24394 (grub_freebsd_add_meta): Removed.
24395 (grub_netbsd_load_elf_meta32): New prototype.
24396 (grub_netbsd_load_elf_meta64): Likewise.
24397 (grub_bsd_add_meta): Likewise.
24398 (grub_openbsd_ramdisk_descriptor): New struct.
24399 (grub_openbsd_find_ramdisk32): New prototype.
24400 (grub_openbsd_find_ramdisk64): Likewise.
24401 * include/grub/i386/coreboot/loader.h: Removed.
24402 * include/grub/i386/efi/loader.h: Likewise.
24403 * include/grub/i386/ieee1275/loader.h: Likewise.
24404 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24405 to grub_uint32_t.
24406 * include/grub/i386/loader.h: Removed.
24407 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24408 value.
24409 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24410 (grub_phys_addr_t): New type.
24411 (grub_vtop): New inline function.
24412 (grub_map_memory): Likewise.
24413 (grub_unmap_memory): Likewise.
24414 * include/grub/i386/multiboot/loader.h: Removed.
24415 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24416 (NETBSD_BTINFO_CONSOLE): New definition.
24417 (NETBSD_BTINFO_SYMTAB): Likewise.
24418 (NETBSD_BTINFO_MODULES): Likewise.
24419 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24420 (grub_netbsd_bootinfo): New struct.
24421 (grub_netbsd_btinfo_common): Use explicit bitsize.
24422 (grub_netbsd_btinfo_mmap_entry): Removed.
24423 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24424 (grub_netbsd_btinfo_bootdisk): New struct.
24425 (grub_netbsd_btinfo_symtab): Likewise.
24426 (grub_netbsd_btinfo_serial): Likewise.
24427 (grub_netbsd_btinfo_modules): Likewise.
24428 (grub_netbsd_btinfo_framebuf): Likewise.
24429 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24430 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24431 Likewise.
24432 (grub_openbsd_bootargs): Use explicit bitsize.
24433 (grub_openbsd_bootarg_console): New struct.
24434 (GRUB_OPENBSD_COM_MAJOR): New definition.
24435 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24436 * include/grub/i386/pc/efiemu.h: Removed.
24437 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24438 * include/grub/i386/qemu/loader.h: Removed.
24439 * include/grub/i386/relocator.h: Rewritten.
24440 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24441 * include/grub/mips/memory.h: New file.
24442 * include/grub/mips/multiboot.h: Rewritten.
24443 * include/grub/mips/relocator.h: Rewritten.
24444 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24445 (grub_vtop): New function.
24446 (grub_map_memory): Likewise.
24447 (grub_unmap_memory): Likewise.
24448 * include/grub/misc.h (ALIGN_DOWN): New definition.
24449 * include/grub/mm.h (grub_mm_check_real): New proto.
24450 (GRUB_MM_CHECK): New definition.
24451 * include/grub/mm_private.h: New file.
24452 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24453 (grub_multiboot_get_mbi_size): Removed.
24454 (grub_multiboot_make_mbi): Change prottype.
24455 (grub_multiboot_set_accepts_video): New proto.
24456 (grub_multiboot_add_elfsyms): Likewise.
24457 (grub_multiboot_payload_eip): New variable.
24458 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24459 New prototype.
24460 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24461 New definition.
24462 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24463 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24464 * include/grub/powerpc/ieee1275/loader.h: Removed.
24465 * include/grub/powerpc/memory.h: New file.
24466 * include/grub/powerpc/relocator.h: Likewise.
24467 * include/grub/relocator.h: Likewise.
24468 * include/grub/relocator_private.h: Likewise.
24469 * include/grub/sparc64/ieee1275/loader.h: Removed.
24470 * include/grub/x86_64/memory.h: New file.
24471 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24472 (grub_xnu_heap_malloc): Likewise.
24473 (grub_xnu_heap_real_start): Removed.
24474 (grub_xnu_heap_start): Likewise.
24475 (grub_xnu_relocator): New variable.
24476 (grub_xnu_heap_target_start): Likewise.
24477 * tests/util/grub-shell.in: Support non-pc.
24478 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24479
5303b85d
VS
244802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24481
24482 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24483 on malloc error.
24484 (grub_bidi_logical_to_visual): Check that malloc succeded.
24485 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24486 puts.
24487 (grub_xputs_normal): Likewise.
24488
d768d159
VS
244892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24492 extra_dist.
24493
244942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24495
24496 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24497
5bf84df4
VS
244982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24499
24500 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24501
3626810e
VS
245022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24503
24504 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24505 dprintf.
24506
a7363f53
BC
245072010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24508
24509 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24510
902f75f6
VS
245112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24512
24513 * grub-core/normal/term.c (print_more): Fix a memory leak.
24514 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24515 (grub_xputs_normal): Likewise.
24516
3c707967
VS
245172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24520 the begining of the string
24521
2053cc07
VS
245222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24523
24524 * grub-core/script/script.c (grub_script_parse): Free parsed on
24525 failure.
24526
46422ebf
VS
245272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24530 on failure.
24531
9e0fa3f6
VS
245322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24535 return.
24536
3393cf16
VS
245372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24538
24539 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24540 (scroll_up): Fix a memory leak.
24541
b17540cb
VS
245422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24545 errors.
24546
67140446
VS
245472010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 Handle USB pendrives exposed as floppies.
24550
24551 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24552 floppy.
24553 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24554 Check for partitions on all devices.
24555
e35e46fc
VS
245562010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24559 (readkey): Likewise.
24560
d24c6190
BC
245612010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24562
24563 Multiple variable names support to "export" command.
24564
24565 * normal/context.c (grub_cmd_export): "export" command supports
24566 multiple variable names.
24567
04ddcc6a
ST
245682010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24569
24570 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24571 --target=drive output to Mach device name.
24572
0c8b61d8
BC
245732010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24574
24575 New Automake based build system for GRUB.
24576
24577 * ABOUT-NLS: New file.
24578 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24579 in Makefile.util.def file.
24580 * Makefile.util.def: New file. Autogen build definitions file for
24581 GRUB host utils.
24582 * conf/Makefile.common: New file. Common variables for GRUB host
24583 utils and target modules.
24584 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24585 * docs/Makefile.am: New file. Automake file for docs.
24586 * gentpl.py: New file. Python script to generate Autogen
24587 template.
24588 * grub-core/Makefile.am: New file. GRUB target modules' rules
24589 that doesn't fit in Makefile.core.def file.
24590 * grub-core/Makefile.core.def: New file. Autogen build
24591 definitions file for GRUB target modules.
24592 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24593 specific setjmp.S file.
24594 * po/Makefile.am: New file.
24595
24596 * .bzrignore: New ignores.
24597 * INSTALL: New requirements, without Ruby.
24598 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24599 * autogen.sh: Updated to invoke autogen as necessary.
24600 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24601 and defines for Automake conditionals.
24602 * geninit.sh: Refactoring.
24603
24604 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24605 necessary.
24606 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24607 New prototype.
24608
24609 * include/grub/test.h: Fix functional test modules' naming.
24610 * grub-core/tests/example_functional_test.c: Fix test module name.
24611
24612 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24613 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24614 * util/grub-editenv.c: Likewise.
24615 * util/grub-fstest.c: Likewise.
24616 * util/grub-mkdevicemap.c: Likewise.
24617 * util/grub-mkfont.c: Likewise.
24618 * util/grub-mkimage.c: Likewise.
24619 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24620 * util/grub-probe.c: Likewise.
24621 * util/grub-script-check.c: Likewise.
24622 * util/i386/pc/grub-setup.c: Likewise.
24623 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24624
24625 * tests/util/grub-shell.in: Fix override directory path.
24626 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24627 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24628
24629 * util/lvm.c: Update #includes.
24630 * util/raid.c: Likewise.
24631 * util/resolve.c: Likewise.
24632 * grub-core/bus/emu/pci.c: Likewise.
24633 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24634 * grub-core/lib/posix_wrap/string.h: Likewise.
24635 * grub-core/kern/emu/main.c: Likewise.
24636
24637 * grub-core/gensymlist.sh: New file. Script for generating kernel
24638 symbols file.
24639 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24640
24641 * grub-core/gentrigtables.c: Fix unused variable warnings.
24642
24643 * Makefile.in: Removed.
24644 * conf/any-emu.rmk: Removed.
24645 * conf/common.rmk: Removed.
24646 * conf/i386-coreboot.rmk: Removed.
24647 * conf/i386-efi.rmk: Removed.
24648 * conf/i386-ieee1275.rmk: Removed.
24649 * conf/i386-multiboot.rmk: Removed.
24650 * conf/i386-pc.rmk: Removed.
24651 * conf/i386-qemu.rmk: Removed.
24652 * conf/i386.rmk: Removed.
24653 * conf/mips-yeeloong.rmk: Removed.
24654 * conf/mips.rmk: Removed.
24655 * conf/powerpc-ieee1275.rmk: Removed.
24656 * conf/sparc64-ieee1275.rmk: Removed.
24657 * conf/tests.rmk: Removed.
24658 * conf/x86-efi.rmk: Removed.
24659 * conf/x86_64-efi.rmk: Removed.
24660 * gendistlist.sh: Removed.
24661 * geninitheader.sh: Removed.
24662 * genkernsyms.sh.in: Removed.
24663 * genmk.rb: Removed.
24664 * gensymlist.sh.in: Removed.
24665 * mkinstalldirs: Removed.
24666 * boot: Moved ...
24667 * grub-core/boot: ... to here.
24668 * bus: Moved ...
24669 * grub-core/bus: ... to here.
24670 * commands: Moved ...
24671 * grub-core/commands: ... to here.
24672 * disk: Moved ...
24673 * grub-core/disk: ... to here.
24674 * efiemu: Moved ...
24675 * grub-core/efiemu: ... to here.
24676 * font: Moved ...
24677 * grub-core/font: ... to here.
24678 * fs: Moved ...
24679 * grub-core/fs: ... to here.
24680 * gencmdlist.sh: Moved ...
24681 * grub-core/gencmdlist.sh: ... to here.
24682 * genemuinit.sh: Moved ...
24683 * grub-core/genemuinit.sh: ... to here.
24684 * genemuinitheader.sh: Moved ...
24685 * grub-core/genemuinitheader.sh: ... to here.
24686 * genfslist.sh: Moved ...
24687 * grub-core/genfslist.sh: ... to here.
24688 * genhandlerlist.sh: Moved ...
24689 * grub-core/genhandlerlist.sh: ... to here.
24690 * genmoddep.awk: Moved ...
24691 * grub-core/genmoddep.awk: ... to here.
24692 * genmodsrc.sh: Moved ...
24693 * grub-core/genmodsrc.sh: ... to here.
24694 * genpartmaplist.sh: Moved ...
24695 * grub-core/genpartmaplist.sh: ... to here.
24696 * genparttoollist.sh: Moved ...
24697 * grub-core/genparttoollist.sh: ... to here.
24698 * genterminallist.sh: Moved ...
24699 * grub-core/genterminallist.sh: ... to here.
24700 * gentrigtables.c: Moved ...
24701 * grub-core/gentrigtables.c: ... to here.
24702 * genvideolist.sh: Moved ...
24703 * grub-core/genvideolist.sh: ... to here.
24704 * gettext: Moved ...
24705 * grub-core/gettext: ... to here.
24706 * gfxmenu: Moved ...
24707 * grub-core/gfxmenu: ... to here.
24708 * gnulib: Moved ...
24709 * grub-core/gnulib: ... to here.
24710 * hello: Moved ...
24711 * grub-core/hello: ... to here.
24712 * hook: Moved ...
24713 * grub-core/hook: ... to here.
24714 * io: Moved ...
24715 * grub-core/io: ... to here.
24716 * kern: Moved ...
24717 * grub-core/kern: ... to here.
24718 * lib: Moved ...
24719 * grub-core/lib: ... to here.
24720 * loader: Moved ...
24721 * grub-core/loader: ... to here.
24722 * mmap: Moved ...
24723 * grub-core/mmap: ... to here.
24724 * normal: Moved ...
24725 * grub-core/normal: ... to here.
24726 * partmap: Moved ...
24727 * grub-core/partmap: ... to here.
24728 * parttool: Moved ...
24729 * grub-core/parttool: ... to here.
24730 * script: Moved ...
24731 * grub-core/script: ... to here.
24732 * term: Moved ...
24733 * grub-core/term: ... to here
24734 * tests/example_functional_test.c: Moved ...
24735 * grub-core/tests/example_functional_test.c: ... to here.
24736 * tests/lib/functional_test.c: Moved ...
24737 * grub-core/tests/lib/functional_test.c: ... to here.
24738 * tests/lib/test.c: Moved ...
24739 * grub-core/tests/lib/test.c: ... to here.
24740 * video: Moved ...
24741 * grub-core/video: ... to here.
24742
645586e6
BC
247432010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24744
24745 Replace --enable-grub-emu-modules with grub-emu-lite.
24746
24747 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24748 cache.S.
24749
24750 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24751 * kern/emu/full.c: New file. For grub-emu specific initialization.
24752 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24753 * kern/emu/main.c: Call initialization function grub_emu_init.
24754
24755 * Makefile.in: Include grub-emu-lite in install.
24756 * commands/parttool.c: Use grub_no_autoload to differentiate
24757 between grub-emu and grub-emu-lite.
24758 * include/grub/misc.h: New variable grub_no_autoload.
24759
24760 * conf/any-emu.rmk: New rules for grub-emu-lite.
24761 * configure.ac: Remove --enable-grub-emu-modules.
24762 * genmk.rb: Cleanup unnecessary rules.
24763 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24764
24765 * normal/main.c: Don't load list files on grub-emu-lite.
24766 * util/misc.c (grub_arch_sync_caches): Removed.
24767
f86a4030
CW
247682010-08-23 Colin Watson <cjwatson@ubuntu.com>
24769
24770 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24771 grub-mkimage rather than grub-mkelfimage.
24772 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24773
06776944
VS
247742010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24775
24776 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24777 a key after CapsLock or NumLock. It's just a qemu bug.
24778
df262419
VS
247792010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24780
24781 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24782 needed by libusb wrapper.
24783
b40ea81b
ST
247842010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24785
24786 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24787
dee50575
VS
247882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24791 --nounzip is passed.
24792
fb1d7b79
VS
247932010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 USB hotunplugging and USB serial support.
24796
24797 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24798 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24799 (grub_uhci_transfer): Respect timeout and set *actual.
24800 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24801 non-standard length.
24802 (grub_usb_device_attach): Autoload modules.
24803 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24804 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24805 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24806 users updated.
24807 (grub_usb_add_hub): Fill nports and children.
24808 (attach_root_port): Receive hub instead of controller.
24809 All users updated. Fill hub->devices.
24810 (grub_usb_root_hub): Allocate hub->devices.
24811 (detach_device): New function.
24812 (poll_nonroot_hub): Fill children and detach devices.
24813 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24814 actual arguments. All users updated.
24815 (grub_usb_bulk_read_extended): New function.
24816 * bus/usb/serial/common.c: New file.
24817 * bus/usb/serial/ftdi.c: Likewise.
24818 * bus/usb/serial/pl2303.c: Likewise.
24819 * commands/terminal.c (handle_command): Support wildcard.
24820 * commands/usbtest.c: Output "Unknown" instead of empty string.
24821 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24822 (usbserial_common_mod_SOURCES): New variable.
24823 (usbserial_common_mod_CFLAGS): Likewise.
24824 (usbserial_common_mod_LDFLAGS): Likewise.
24825 (pkglib_MODULES): Add usbserial_pl2303.mod.
24826 (usbserial_pl2303_mod_SOURCES): New variable.
24827 (usbserial_pl2303_mod_CFLAGS): Likewise.
24828 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24829 (pkglib_MODULES): Add usbserial_ftdi.mod.
24830 (usbserial_ftdi_mod_SOURCES): New variable.
24831 (usbserial_ftdi_mod_CFLAGS): Likewise.
24832 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24833 (pkglib_MODULES): Add serial.mod.
24834 (serial_mod_SOURCES): New variable.
24835 (serial_mod_CFLAGS): Likewise.
24836 (serial_mod_LDFLAGS): Likewise.
24837 * conf/i386-pc.rmk: Likewise.
24838 * conf/mips-yeeloong.rmk: Likewise.
24839 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24840 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24841 * disk/usbms.c (first_available_slot): New variable.
24842 (grub_usbms_attach): Don't reuse free slots due to potential cache
24843 problems.
24844 * include/grub/serial.h: Moved to ..
24845 * include/grub/ns8250.h: ...this.
24846 * include/grub/serial.h: New file.
24847 * include/grub/term.h (grub_term_poll_usb): New variable.
24848 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24849 readkey. All users updated.
24850 (grub_terminfo_output_state): Pass term to put.
24851 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24852 (grub_usb_controller_dev): Add timeout and actual arguments to
24853 transfer. All users updated.
24854 (grub_usb_interface): New field detach_data.
24855 (grub_usb_device): New fields children and nports.
24856 (grub_usb_ep_type_t): New type.
24857 (grub_usb_get_ep_type): New function.
24858 (grub_usb_bulk_read_extended): Likewise.
24859 * include/grub/usbdesc.h (grub_usb_desc): New type.
24860 * include/grub/usbserial.h: New file.
24861 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24862 * kern/term.c (grub_term_poll_usb): New variable.
24863 (grub_getkey): Call grub_term_poll_usb if set.
24864 (grub_checkkey): Likewise.
24865 (grub_getkeystatus): Likewise.
24866 * term/serial.c: Moved controller-specific parts to ...
24867 * term/ns8250.c: ... here.
24868 * term/serial.c: Mostly rewritten.
24869 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24870 according to spec.
24871
21a313de
RM
248722010-08-20 Robert Millan <rmh@gnu.org>
24873
24874 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24875 a separate module and maybe other interesting combinations.
24876
24877 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24878 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24879 (kfreebsd_entry): Add generic filesystem module load routine.
24880 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24881
63c734a6
CW
248822010-08-20 Colin Watson <cjwatson@ubuntu.com>
24883
24884 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24885 "numcenter" (I misunderstood the purpose of this entry).
24886 * docs/grub.texi (sendkey): Likewise.
24887
c4d16542
CW
248882010-08-20 Colin Watson <cjwatson@ubuntu.com>
24889
24890 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24891 status flag options; simply omitting the option is equivalent and
24892 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24893 (keysym_table): Rename "num5numlock" to "numlock".
24894 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24895 can uniformly say that only the last of multiple `sendkey'
24896 invocations has any effect.
24897 * docs/grub.texi (sendkey): New section.
24898
93541d66
CW
248992010-08-19 Colin Watson <cjwatson@ubuntu.com>
24900
24901 * commands/i386/pc/sendkey.c (options): Fix three typos.
24902
b4ece5e1
VS
249032010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24904
24905 Implement sendkey support.
24906
24907 * commands/i386/pc/sendkey.c: New file.
24908 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24909 (sendkey_mod_SOURCES): New variable.
24910 (sendkey_mod_CFLAGS): Likewise.
24911 (sendkey_mod_LDFLAGS): Likewise.
24912
51f1f5af
CW
249132010-08-18 Colin Watson <cjwatson@ubuntu.com>
24914
24915 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24916 fix warnings from Autoconf.
24917
9da94e05
CW
249182010-08-18 Colin Watson <cjwatson@ubuntu.com>
24919
24920 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24921 to avoid false positives with some assemblers that output things
24922 like "someprefix_func" as part of their output.
24923
729a0f2e
RM
249242010-08-15 Robert Millan <rmh@gnu.org>
24925
24926 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24927 errors.
24928 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24929 grub_get_libzfs_handle() errors.
24930
f3710e08
RM
249312010-08-14 Robert Millan <rmh@gnu.org>
24932
24933 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24934 filesystem is not ZFS.
24935
7a3c13de
BC
249362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24937
24938 Fix for misspelled color names defaulting to black/black (bug
24939 reported by Doug Nazar)
24940
24941 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24942 status to prototype.
24943 * normal/color.c (grub_parse_color_name_pair): Return failure
24944 status.
24945 (grub_env_write_color_normal): Ignore bad color names.
24946 (grub_env_write_color_highlight): Likewise.
24947 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24948
ab8ba50d
BC
249492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24950
24951 "shift" command support to GRUB script.
24952
24953 * include/grub/script_sh.h (grub_script_shift): New prototype.
24954 * script/execute.c (grub_script_shift): New function.
24955 * script/main.c (grub_script_init): Register shift command.
24956 (grub_script_fini): Unregister shift command.
24957 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24958
24959 * tests/grub_script_shift.in: New testcase.
24960 * conf/tests.rmk: Rules for new testcase.
24961
4d61999e
BC
249622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24963
24964 "continue" command support to GRUB script.
24965
24966 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24967 (grub_script_break): Continue support.
24968 * script/main.c (grub_script_init): Register continue command.
24969 (grub_script_fini): Unregister continue command.
24970
24971 * tests/grub_script_continue.in: New testcase.
24972 * conf/tests.rmk: Rules for new testcase.
24973
4df51e00
BC
249742010-08-12 BVK Chaitanya <bvk@dbook>
24975
24976 "break" command support to GRUB script.
24977
24978 * conf/common.rmk: Rule updates to grub-script-check.
24979 * include/grub/misc.h (grub_min): New function.
24980 * include/grub/script_sh.h (grub_script_init): New prototype.
24981 (grub_script_fini): New prototype.
24982 (grub_script_break): New prototype.
24983 * script/main.c (grub_script_init): New function.
24984 (grub_script_fini): New function.
24985 * script/execute.c (grub_script_break): New function.
24986 * normal/main.c: Calls to grub_script_{init,fini}.
24987 * util/grub-script-check.c (grub_script_break): New function.
24988
24989 * tests/grub_script_break.in: New testcase.
24990 * conf/tests.rmk: Rules for new test case.
24991
f12c8420
BC
249922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24993
24994 Function parameters support to GRUB script.
24995
24996 * script/yylex.l (VARIABLE): Regular expression update.
24997 * script/function.c (grub_script_function_call): Moved ...
24998 * script/execute.c (grub_script_function_call): ... to here.
24999 (grub_script_execute_arglist_to_argv): Removed.
25000 (grub_script_arglist_to_argv): New function.
25001 * script/argv.c: New file.
25002 (grub_script_argv_free): New function.
25003 (grub_script_argv_next): Likewise.
25004 (grub_script_argv_append): Likewise.
25005 (grub_script_argv_split_append): Likewise.
25006 * include/grub/script_sh.h (grub_script_argv): New struct.
25007 (grub_script_argv_free): New function.
25008 (grub_script_argv_next): Likewise.
25009 (grub_script_argv_append): Likewise.
25010 (grub_script_argv_split_append): Likewise.
25011
25012 * conf/common.rmk (normal.mod): New source script/argv.c.
25013
25014 * tests/grub_script_echo1.in: More tests.
25015 * tests/grub_script_vars1.in: Likewise.
25016 * tests/grub_script_functions.in: New test case.
25017 * conf/tests.rmk: Rules for new testcase.
25018
8022b748
BC
250192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25020
25021 Remove grub_script_cmdblock struct.
25022
25023 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25024 * script/parser.y: Likewise.
25025 * script/execute.c: Rename cmdblock suffix to cmdlist.
25026 * script/script.c: Likewise.
25027 * util/grub-script-check.c: Likewise.
25028
79a6ba61
YB
250292010-08-11 Yves Blusseau <blusseau@zetam.org>
25030
25031 * .bzrignore: add grub-macho2img
25032
d04b9414
VS
250332010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25036
f947ab49
VS
250372010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Remove the dump of sm712 initialisation sequence.
25040
25041 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25042 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25043 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25044 (GRUB_VGA_CR_*): Added many registers.
25045 (GRUB_VGA_SR_*): Likewise.
25046 (GRUB_VGA_GR_*): Likewise.
25047 (grub_vga_write_arx): New function.
25048 (grub_video_hw_config): New struct.
25049 (grub_vga_set_geometry): New function.
25050 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25051 GRUB_PCI_CLASS_SUBCLASS_VGA.
25052 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25053 * video/sm712.c (grub_sm712_write_reg): New function
25054 (grub_sm712_read_reg): Likewise.
25055 (grub_sm712_sr_write): Likewise.
25056 (grub_sm712_gr_write): Likewise.
25057 (grub_sm712_cr_write): Likewise.
25058 (grub_sm712_write_arx): Likewise.
25059 (grub_sm712_cr_shadow_write): Likewise.
25060 (grub_sm712_write_dda_lookup): Likewise.
25061 (grub_video_sm712_setup): Initialise the video rather then
25062 blindly replay the dump.
25063 (main) [TEST]: Add a routine to be able to compile as standalone for
25064 tests.
25065 * video/sm712_init.c (sm712_init): Removed.
25066 (sm712_sr_seq1): New array.
25067 (sm712_sr_seq2): Likewise.
25068
f0206638
VS
250692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25070
25071 * include/grub/vga.h: Add missing grub/pci.h include.
25072
2764da3b
YB
250732010-08-10 Yves Blusseau <blusseau@zetam.org>
25074
25075 * util/grub-macho2img.c (main): fix typo
25076
cf0c775e
VS
250772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25078
25079 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25080 (grub_vga_gr_read): Likewise.
25081 (grub_vga_cr_write): Likewise.
25082 (grub_vga_cr_read): Likewise.
25083 (grub_vga_sr_write): Likewise.
25084 (grub_vga_sr_read): Likewise.
25085 (grub_vga_palette_read): Likewise.
25086 (grub_vga_palette_write): Likewise.
25087 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25088 (grub_sm712_sr_read): New function.
25089 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25090 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25091
07f360e9
RM
250922010-08-09 Robert Millan <rmh@gnu.org>
25093
25094 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25095 out unused variables on non-ZFS build.
25096
346c2072
RM
250972010-08-08 Robert Millan <rmh@gnu.org>
25098
25099 Fix path generation for sub-filesystems in ZFS.
25100
25101 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25102 missing slash.
25103
71175420
RM
251042010-08-08 Robert Millan <rmh@gnu.org>
25105
25106 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25107
0d8286f3
RM
251082010-08-08 Robert Millan <rmh@gnu.org>
25109
25110 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25111 exist, issue a proper error message (rely on `ls' for translated
25112 strings).
25113
55dd2924
RM
251142010-08-08 Robert Millan <rmh@gnu.org>
25115
25116 Fix grub-probe invocation.
25117
25118 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25119
d3dd9e80
RM
251202010-08-04 Robert Millan <rmh@gnu.org>
25121
25122 * configure.ac: Remove checks for getfsstat() and getmntany().
25123 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25124 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25125 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25126 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25127 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25128 function.
25129 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25130 via find_mount_point_from_dir() and getfsstat() / getmntany().
25131
0de22aa9
RM
251322010-08-04 Robert Millan <rmh@gnu.org>
25133
25134 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25135 (grub_find_zpool_from_mount_point): Merge into ...
25136 (grub_find_zpool_from_dir): ... this.
25137 * kern/emu/misc.c: Likewise.
25138
25139 * kern/emu/misc.c
25140 (grub_make_system_path_relative_to_its_root): Replace
25141 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25142 with grub_find_zpool_from_dir().
25143 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25144
62858144
RM
251452010-08-04 Robert Millan <rmh@gnu.org>
25146
25147 Support OpenSolaris in ZFS device resolution.
25148
25149 * configure.ac: Check for getmntany().
25150 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25151 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25152 support.
25153
9dd6fd50
RM
251542010-08-03 Robert Millan <rmh@gnu.org>
25155
25156 Fix grub-emu build.
25157
25158 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25159 * include/grub/emu/misc.h: ... here.
25160
25161 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25162 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25163
25164 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25165 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25166 (grub_get_libzfs_handle): Move to ...
25167 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25168 (grub_get_libzfs_handle): ... here.
25169
c9f7ff97
BC
251702010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25171
25172 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25173 as command name case.
25174
a870a783
CW
251752010-08-02 Colin Watson <cjwatson@ubuntu.com>
25176
25177 * disk/raid.c (insert_array): Select unique numbers for named arrays
25178 as well, for use as keys in the disk cache.
25179
c7db243b
RM
251802010-08-01 Robert Millan <rmh@gnu.org>
25181
25182 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25183 kFreeBSD device name, except on ZFS where the filesystem label is
25184 used.
25185 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25186 `/boot/zfs/zpool.cache'.
25187 Set mountfrom kernel variable using ${kfreebsd_device}.
25188
f7abdefb
RM
251892010-08-01 Robert Millan <rmh@gnu.org>
25190
25191 Make it even harder to use uninitialized `libzfs_handle' (and
25192 make the interface a bit simpler).
25193
25194 * include/grub/util/misc.h (grub_util_init_libzfs)
25195 (libzfs_handle): Remove.
25196 (grub_get_libzfs_handle): New prototype.
25197
25198 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25199 attribute.
25200 (grub_util_init_libzfs): Remove.
25201 (grub_get_libzfs_handle): New function.
25202
25203 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25204 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25205 accessing `libzfs_handle' directly.
25206
c882acc0
RM
252072010-08-01 Robert Millan <rmh@gnu.org>
25208
25209 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25210 (grub_find_zpool_from_mount_point): New function prototypes.
25211
25212 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25213 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25214
25215 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25216 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25217 `static' attribute.
25218
25219 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25220 finding zpool from mount point into ...
25221 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25222
25223 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25224 requested path is part of a ZFS pool, use
25225 grub_find_zpool_from_mount_point() to detect its filesystem name,
25226 and generate a path with `/fsname@path' syntax.
25227
8bfe31d8
CW
252282010-08-01 Colin Watson <cjwatson@ubuntu.com>
25229
25230 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25231 (void) rather than () so that this is a proper prototype.
25232
553df63d
VS
252332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25236
8687cf07
VS
252372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25238
25239 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25240 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25241
ea9be8ea
CW
252422010-08-01 Colin Watson <cjwatson@ubuntu.com>
25243
25244 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25245
6eea041a
CW
252462010-08-01 Colin Watson <cjwatson@ubuntu.com>
25247
25248 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25249
2cfb45df
CW
252502010-08-01 Colin Watson <cjwatson@ubuntu.com>
25251
25252 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25253 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25254 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25255 disable gfxpayload.
25256 (Shell-like scripting): Add real content.
25257 (Serial terminal): Suggest `terminal_input serial; terminal_output
25258 serial' rather than putting the two commands on separate lines,
25259 since console input will be inoperative after the first command.
25260 (menuentry): Document --class, --users, and --hotkey options.
25261 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25262 Vladimir Serbinenko).
25263
7decd202
VS
252642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
252652010-08-01 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25268
c882acc0
RM
252692010-08-01 Robert Millan <rmh@gnu.org>
25270
25271 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25272 (grub_find_zpool_from_mount_point): New function prototypes.
25273
25274 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25275 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25276
25277 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25278 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25279 `static' attribute.
25280
25281 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25282 finding zpool from mount point into ...
25283 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25284
25285 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25286 requested path is part of a ZFS pool, use
25287 grub_find_zpool_from_mount_point() to detect its filesystem name,
25288 and generate a path with `/fsname@path' syntax.
25289
deb0caa3
RM
252902010-08-01 Robert Millan <rmh@gnu.org>
25291
25292 Prevent accidental use of uninitialized libzfs_handle.
25293
25294 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25295 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25296 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25297
ce04ef47
CW
252982010-08-01 Colin Watson <cjwatson@ubuntu.com>
25299
25300 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25301 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25302
ebf53056
RM
253032010-08-01 Robert Millan <rmh@gnu.org>
25304
25305 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25306
3710bb6b
RM
253072010-07-31 Robert Millan <rmh@gnu.org>
25308
25309 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25310
8072efeb
RM
253112010-07-31 Robert Millan <rmh@gnu.org>
25312
25313 * kern/emu/misc.c: Add missing license header.
25314
3169f4c7
RM
253152010-07-31 Robert Millan <rmh@gnu.org>
25316
25317 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25318
25319 * include/grub/util/libnvpair.h: Include `<config.h>'.
25320 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25321 declaring libnvpair prototypes ourselves.
25322 * include/grub/util/libzfs.h: Include `<config.h>'.
25323 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25324 declaring libzfs prototypes ourselves.
25325
25326 (libzfs_handle): Moved to ...
25327 * include/grub/util/misc.h (libzfs_handle): ... here.
25328 Include `<grub/util/libzfs.h>'.
25329
c9a00aee
RM
253302010-07-30 Robert Millan <rmh@gnu.org>
25331
25332 * include/grub/emu/misc.h: Add missing license header.
25333
a184f9c8
RM
253342010-07-30 Robert Millan <rmh@gnu.org>
25335
25336 Enable `grub-probe -t device' resolution on ZFS.
25337
25338 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25339 * include/grub/util/libnvpair.h: New file.
25340 * include/grub/util/libzfs.h: New file.
25341
25342 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25343 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25344 `<grub/util/libnvpair.h>'.
25345 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25346
25347 (find_mount_point_from_dir): New static function.
25348 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25349 function.
25350 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25351 find_root_device_from_libzfs() before ressorting to find_root_device().
25352
25353 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25354 prototype.
25355 * util/misc.c: Include `<grub/util/libzfs.h>'.
25356 (grub_util_init_libzfs): New function.
25357 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25358 [HAVE_LIBZFS] (fini_libzfs): New static function.
25359 (grub_util_init_libzfs): New function.
25360 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25361
f7790cdd
RM
253622010-07-30 Robert Millan <rmh@gnu.org>
25363
25364 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25365 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25366 `warn_unused_result' attribute.
25367 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25368 (grub_xasprintf, grub_xvasprintf): Likewise.
25369 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25370
0806b63c
RM
253712010-07-29 Robert Millan <rmh@gnu.org>
25372
25373 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25374 (probe): Handle `PRINT_FS_LABEL'.
25375 (main): Handle `-t fs_label'.
25376
9f841f5c
RM
253772010-07-29 Robert Millan <rmh@gnu.org>
25378
25379 * configure.ac: Remove grub-mkisofs checks.
25380
46371121
VS
253812010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25382
25383 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25384 Reported by: Lennart Sorensen.
25385
253862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25387
25388 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25389 prior to terminal_input/terminal_output separation. It's been over 1.5
25390 years and those versions weren't widely deployed.
25391
a9600892
CW
253922010-07-22 Colin Watson <cjwatson@ubuntu.com>
25393
25394 * disk/raid.c (insert_array): Don't count named arrays when looking
25395 for unused array numbers.
697e053c 25396 Reported and tested by: Michael Guntsche.
a9600892 25397
c03507df
CW
253982010-07-20 Colin Watson <cjwatson@ubuntu.com>
25399
25400 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25401 implementation of this so that grub-emu links again, with a note
25402 that this should support hotplugging in the future.
25403
b26f1c11
CW
254042010-07-20 Colin Watson <cjwatson@ubuntu.com>
25405
25406 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25407
efc9d7f1
CW
254082010-07-20 Colin Watson <cjwatson@ubuntu.com>
25409
25410 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25411 handle on failure.
25412 (grub_loopback_close): Remove empty function.
25413 (grub_loopback_dev): Remove close method.
25414
dd8ff5c9
CW
254152010-07-20 Colin Watson <cjwatson@ubuntu.com>
25416
25417 Disable EFI cursor when the EFI console becomes inactive.
25418
25419 * term/efi/console.c (grub_efi_console_init): New function.
25420 (grub_efi_console_fini): New function.
25421 (grub_console_term_output): Register init and fini methods.
25422
5e3bec67
VS
254232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25426 sh script.
25427
afaec079
VS
254282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 * disk/loopback.c (grub_loopback): Replace filename with file.
25431 (delete_loopback): Handle new semantics.
25432 (grub_cmd_loopback): Likewise.
25433 (grub_loopback_iterate): Likewise.
25434 (grub_loopback_close): Likewise.
25435
a6a11f3c
VS
254362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25439 with -p "".
25440 Reported by: Tito Keitel.
25441
64a638b0
VS
254422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * docs/grub.texi (Naming convention): Document new naming convention.
25445
ab8ba957
VS
254462010-07-20 Vadim Solomin <vadic052@gmail.com>
254472010-07-20 Colin Watson <cjwatson@ubuntu.com>
25448
25449 Generate device.map in something closer to the old ordering.
25450
25451 * util/deviceiter.c (struct device): New declaration.
25452 (compare_file_names): Rename to ...
25453 (compare_devices): ... this. Sort by kernel name in preference to
25454 the stable by-id name, but keep the latter as a fallback comparison.
25455 Update header comment.
25456 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25457 of `struct device' rather than of plain file names.
25458
a29d6a4b
TF
254592010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25460
25461 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25462 on i386.
25463
39d824e8
VS
254642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25465
25466 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25467 hardcoding size.
25468 (setv1table): Likewise.
25469
f058276b
FZ
254702010-07-20 Colin Watson <cjwatson@ubuntu.com>
25471
25472 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25473 removing the homehost if present.
25474 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25475 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25476 removing the homehost if present.
25477 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25478 if possible.
25479 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25480
25481 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25482 parameter. Set its pointer target to 0.
25483 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25484 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25485 `data_offset' value from the superblock for 1.x metadata.
25486 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25487 data on the device.
25488 (insert_array): Record the start sector of data on the device.
25489 (grub_raid_register): Pass start_sector parameters to
25490 grub_raid_list->detect and insert_array.
25491 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25492 member.
25493 (struct grub_raid): Add start_sector parameter to `detect'.
25494
25495 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25496 __attribute__ ((packed)), leaving a comment.
25497 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25498 (grub_mdraid_detect_09): ... here and ...
25499 (grub_mdraid_detect_1x): ... here.
25500
255012010-07-20 Peter Henn <peter.henn@web.de>
25502
25503 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25504 chunk size and disk size, which are already given as sector counts
25505 as distinct from the 0.90 units. Fetch the correct device number
25506 from the role table instead of using the table index.
25507
255082010-07-20 Felix Zielcke <fzielcke@z-51.de>
25509
25510 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25511 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25512 (WriteMostly1): New macro.
25513 Set array->name to NULL for metadata format 0.90. Add support for
25514 metadata 1.x. Fix some comments.
25515 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25516 few comments.
25517 * util/getroot.c (grub_util_get_grub_dev): Add support for
25518 /dev/md/name style devices.
25519
4b761da9
CW
255202010-07-20 Colin Watson <cjwatson@ubuntu.com>
25521
25522 * .bzrignore: Ignore 20_linux_xen.
25523
5771289a
CW
255242010-07-17 Colin Watson <cjwatson@ubuntu.com>
25525
25526 * util/import_unicode.py: Remove unnecessary imports.
25527
5dab68df
AN
255282010-07-17 Aleš Nesrsta <starous@volny.cz>
25529
25530 Hotplugging and USB hub support.
25531
25532 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25533 (grub_ohci): Likewise.
25534 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25535 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25536 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25537 (GRUB_OHCI_CTRL_EDS): Likewise.
25538 (GRUB_OHCI_BULK_EDS): Likewise.
25539 (GRUB_OHCI_TDS): Likewise.
25540 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25541 (grub_ohci_ed_phys2virt): New function.
25542 (grub_ohci_virt_to_phys): Likewise.
25543 (grub_ohci_td_phys2virt): Likewise.
25544 (grub_ohci_td_virt2phys): Likewise.
25545 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25546 attachment.
25547 (grub_ohci_find_ed): New function.
25548 (grub_ohci_alloc_td): Likewise.
25549 (grub_ohci_free_td): Likewise.
25550 (grub_ohci_free_tds): Likewise.
25551 (grub_ohci_transfer): Use previously allocated memory.
25552 (grub_ohci_portstatus): Reset status changed bit.
25553 (grub_ohci_detect_dev): Supply status changed.
25554 (grub_ohci_fini_hw): Free memory.
25555 (grub_ohci_restore_hw): Reallocate memory.
25556 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25557 Reset status change.
25558 (grub_uhci_detect_dev): Supply status_change.
25559 * bus/usb/usb.c (attach_hooks): New var.
25560 (grub_usb_device_attach): New function.
25561 (grub_usb_register_attach_hook_class): Likewise.
25562 (grub_usb_unregister_attach_hook_class): Likewise.
25563 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25564 (grub_usb_add_hub): Reset connection changed bit.
25565 (attach_root_port): New function.
25566 (grub_usb_root_hub): Likewise.
25567 (poll_nonroot_hub): Likewise.
25568 (grub_usb_poll_devices): Likewise.
25569 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25570 * disk/usbms.c (grub_usbms_open): Use device hooks.
25571 (grub_usbms_iterate) :Poll devices.
25572 (grub_usbms_finddevs): Split into ...
25573 (grub_usbms_attach): ... this ...
25574 (grub_usbms_attach): ... and this.
25575 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25576 in detect_dev.
25577 (grub_usb_interface): New fields attached and detach_hook.
25578 (grub_usb_attach_hook_class): New type.
25579 (grub_usb_attach_desc): New struct.
25580 (grub_usb_register_attach_hook_class): New function.
25581 (grub_usb_unregister_attach_hook_class): Likewise.
25582 (grub_usb_poll_devices): Likewise.
25583 (grub_usb_device_attach): Likewise.
25584 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25585 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25586
3222efaf
VS
255872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25588
25589 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25590 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25591 delta determination style. Works with most NetBSD partitions too.
25592
139b714a
VS
255932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25596 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25597
986aad56
VS
255982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25599
25600 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25601
99be513c
AB
256022010-07-14 Anton Blanchard <anton@samba.org>
25603
25604 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25605 ET_DYN files.
25606
18075f62
GS
256072010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25608
25609 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25610
8d9a5b15
GS
256112010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25612
25613 * kern/partition.c (grub_partition_check_containment): New function to
25614 check that a partition is physically contained in a parent. Since
25615 offsets are relative (and non-negative), this reduces to checking that
25616 the partition ends before its parent.
25617 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25618 (grub_partition_iterate): Likewise.
25619 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25620 comments.
25621 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25622 partitions that start before their parent, and add debug printfs.
25623
19563c25
CW
256242010-07-13 Colin Watson <cjwatson@ubuntu.com>
25625
25626 * Makefile.in (.SUFFIX): Spell correctly, as ...
25627 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25628 bare module name without `.mod', e.g. `test') tried to invoke a
25629 Modula-2 compiler.
25630
1a1f1e67
CW
256312010-07-13 Colin Watson <cjwatson@ubuntu.com>
25632
25633 * README: Point to the Info manual.
25634
811b0dca
JS
256352010-07-13 Jiro SEKIBA <jir@unicus.jp>
25636
25637 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25638 2nd superblock position from partition size.
25639
e4f4eafc
CW
256402010-07-10 Colin Watson <cjwatson@ubuntu.com>
25641
25642 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25643 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25644 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25645 outputs.
25646
4274c30f
VS
256472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25648
25649 Restructure SCSI .id handling.
25650 Reported and tested by: Aleš Nesrsta.
25651
25652 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25653 (grub_atapi_dev): Changed .name to "ata". New field .id.
25654 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25655 (grub_usbms_dev): New field .id.
25656 * disk/scsi.c (grub_scsi_iterate): Generate name.
25657 (grub_scsi_open): Parse name.
25658 * include/grub/scsi.h (grub_make_scsi_id): New function.
25659 (grub_scsi_dev): Change iterate and open to number instead of naming
25660 busses. All users updated.
25661 (grub_scsi): Remove name. Add .bus.
25662
5bc24388
VS
256632010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 * commands/help.c (grub_cmd_help): Fix a typo.
25666
249975ba
VS
256672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25670 Reported and tested by: Colin Watson.
25671
3eaac1a1
VS
256722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25673
25674 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25675 in this context.
25676
becce1b1
VS
256772010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25680
f7bf0918
CW
256812010-07-07 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25684 indentation.
25685
0b0f9620
CW
256862010-07-06 Colin Watson <cjwatson@ubuntu.com>
25687
25688 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25689 and disk/raid6_recover.c.
25690 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25691 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25692
1e545469
CW
256932010-07-06 Colin Watson <cjwatson@ubuntu.com>
25694
25695 * term/gfxterm.c (repaint_schedulded): Rename to ...
25696 (repaint_scheduled): ... this. Update all callers.
25697 (repaint_was_schedulded): Rename to ...
25698 (repaint_was_scheduled): ... this. Update all callers.
25699
5357687a
CW
257002010-07-06 Colin Watson <cjwatson@ubuntu.com>
25701
25702 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25703 which we expect to be handled by upper layers.
25704
29d7e783
BC
257052010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25706
25707 * bus/usb/usbhub.c: #include time.h header.
25708
37582066
CW
257092010-07-06 Colin Watson <cjwatson@ubuntu.com>
25710
25711 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25712 entry_name also for entries without stat blocks (e.g. ".."); fixes
25713 corruption of the first entry in a directory.
25714
c8c06953
CW
257152010-07-06 Colin Watson <cjwatson@ubuntu.com>
25716
25717 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25718 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25719 doesn't work otherwise.
25720
e75056f1
CW
257212010-07-05 Colin Watson <cjwatson@ubuntu.com>
25722
25723 * docs/grub.texi (Features): Update list of supported file systems.
25724 (GNU/Linux): Update for GRUB 2.
25725 (Serial terminal): Remove mention of --disable-serial, which was a
25726 GRUB Legacy configure option. Update instructions to use
25727 `terminal_input' and `terminal_output' rather than `terminal'.
25728 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25729 configuration' and `Installing GRUB using grub-install'.
25730 (Menu entry editor): Update for GRUB 2.
25731 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25732 Document new -a, -u, and -v options.
25733 (initrd): New section.
25734 (initrd16): New section.
25735 (linux): New section.
25736 (linux16): New section.
25737 (search): The `var' argument to `--set' is optional.
25738 (GRUB only offers a rescue shell): Go into a little more detail on
25739 drive ordering.
25740
5cf69151
CW
257412010-07-05 Colin Watson <cjwatson@ubuntu.com>
25742
25743 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25744
e3f90044
CW
257452010-07-05 Colin Watson <cjwatson@ubuntu.com>
25746
25747 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25748 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25749
38d8f4f3
CW
257502010-07-05 Colin Watson <cjwatson@ubuntu.com>
25751
25752 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25753 install_prefix, in line with install_dos_part and install_bsd_part.
25754 Add new prefix variable, which is copied to install_prefix after
25755 comparing core.img in memory with the one read from disk in the
25756 no-embedding case, and use that rather than overwriting
25757 install_prefix immediately when installing to a partition.
25758 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25759 Bicakci.
25760
57ebd41e
GS
257612010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25762
25763 * configure.ac: Avoid == in test command, it's not portable.
25764 * util/grub.d/30_os-prober.in: Likewise.
25765
cb7f64b2
CW
257662010-07-04 Colin Watson <cjwatson@ubuntu.com>
25767
25768 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25769
6b654bb0
GS
257702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25771
25772 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25773 multiple (top-level) partmaps.
25774
72a2026d
VS
257752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25776
25777 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25778 Reported by: Tino Keitel.
72a2026d 25779
df3eb88f
VS
257802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25781
25782 Bidi and diacritics support.
25783
25784 * Makefile.in (widthspec.bin): New target.
25785 (widthspec.h): Likewise.
25786 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25787 * autogen.sh: Generate unidata.c.
25788 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25789 * commands/ls.c (grub_ls_list_devices): Likewise.
25790 (grub_ls_list_files): Likewise.
25791 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25792 (grub_mini_cmd_lsmod): Likewise.
25793 * commands/read.c: Likewise.
25794 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25795 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25796 * lib/arg.c (grub_arg_show_help): Likewise.
25797 * lib/crypto.c (grub_password_get): Likewise.
25798 * normal/auth.c (grub_username_get): Likewise.
25799 * normal/misc.c (grub_normal_print_device_info): Likewise.
25800 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25801 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25802 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25803 (normal/charset.c_DEPENDENCIES): New variable.
25804 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25805 (pkglib_MODULES): Remove charset.mod.
25806 (charset_mod_SOURCES): Removed.
25807 (charset_mod_CFLAGS): Likewise.
25808 (charset_mod_LDFLAGS): Likewise.
25809 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25810 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25811 and term/tparm.c.
25812 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25813 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25814 (kernel_img_HEADERS): Add terminfo.h.
25815 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25816 Fill ->font. Reverse ascii bitmaps.
25817 (grub_font_get_xheight): New function.
25818 * font/font.c (grub_font_get_string_width): Moved from here ...
25819 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25820 * font/font.c (grub_font_draw_string): Moved from here ...
25821 * gfxmenu/font.c (grub_font_draw_string): ... here.
25822 * font/font.c (grub_font_dup_glyph): New function.
25823 (grub_font_blit_glyph): Likewise.
25824 (grub_font_blit_glyph_mirror): Likewise.
25825 (blit_comb): Likewise.
25826 (grub_font_construct_dry_run): Likewise.
25827 (grub_font_get_constructed_device_width): Likewise.
25828 (grub_font_construct_glyph): Likewise.
25829 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25830 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25831 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25832 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25833 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25834 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25835 (grub_font_get_xheight): New proto.
25836 (grub_font_get_constructed_device_width): Likewise.
25837 (grub_font_construct_glyph): Likewise.
25838 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25839 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25840 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25841 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25842 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25843 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25844 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25845 (grub_console_getcharwidth): Likewise.
25846 * include/grub/misc.h (grub_xputs): New proto.
25847 (grub_puts): Inlined.
25848 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25849 (grub_normal_get_line_counter): Removed.
25850 (grub_install_newline_hook): Likewise.
25851 (grub_normal_get_char_counter): New proto.
25852 (grub_normal_reset_more): Likewise.
25853 (grub_xputs_normal): Likewise.
25854 * include/grub/powerpc/ieee1275/console.h: Removed.
25855 * include/grub/sparc64/ieee1275/console.h: Likewise.
25856 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25857 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25858 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25859 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25860 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25861 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25862 (grub_term_input): Pass reference to self. All users updated.
25863 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25864 Pass reference to self. New fields normal_color, highlight_color and
25865 data. All users updated.
25866 (grub_putchar): Removed.
25867 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25868 (grub_unicode_estimate_width): New function.
25869 (grub_term_getcharwidth): Add defaults.
25870 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25871 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25872 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25873 (grub_cls): Remove EXPORT_FUNC.
25874 (grub_setcolorstate): Inline.
25875 (grub_newline_hook): Removed.
25876 * include/grub/terminfo.h: Rewritten. All users updated.
25877 * include/grub/unicode.h: New file.
25878 * include/grub/video.h (grub_video_signed_rect): New type.
25879 * kern/emu/console.c (grub_console_highlight_color): Removed.
25880 (grub_console_normal_color): Likewise.
25881 (grub_console_standard_color): Made static.
25882 (grub_ncurses_putchar): Remove mapping.
25883 (grub_ncurses_getcharwidth): Removed.
25884 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25885 (grub_ncurses_setcolor): Removed.
25886 (grub_ncurses_getcolor): Likewise.
25887 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25888 (grub_console_putchar): ... this.
25889 (grub_console_putchar): Handle argument difference.
25890 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25891 console_init_early and console_init_lately.
25892 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25893 * kern/misc.c (grub_puts): Removed.
25894 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25895 (grub_vsnprintf_real): Remove str = NULL support.
25896 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25897 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25898 * kern/term.c (grub_putcode): Renamed to ...
25899 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25900 (grub_putchar): Removed.
25901 (grub_xputs_dumb): New function.
25902 (grub_xputs): New variable.
25903 * lib/charset.c: Move from here ...
25904 * normal/charset.c: ... to here.
25905 (grub_ucs4_to_utf8): New function.
25906 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25907 (join_types): New variable.
25908 (unpack_join): New function.
25909 (bidi_types): New variable.
25910 (unpack_bidi): New function.
25911 (get_bidi_type): Likewise.
25912 (get_join_type): Likewise.
25913 (is_mirrored): Likewise.
25914 (grub_unicode_get_comb_type): Likewise.
25915 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25916 (is_type_after): Likewise.
25917 (grub_unicode_aglomerate_comb): Likewise.
25918 (bidi_line_wrap): Likewise.
25919 (grub_bidi_line_logical_to_visual): Likewise.
25920 (grub_bidi_logical_to_visual): Likewise.
25921 (grub_unicode_mirror_code): Likewise.
25922 (grub_unicode_shape_code): Likewise.
25923 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25924 Don't use grub_putchar.
25925 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25926 (grub_normal_reader_init): Likewise.
25927 (grub_xputs_saved): New variable.
25928 (GRUB_MOD_INIT): Set grub_xputs.
25929 (GRUB_MOD_FINI): Restore grub_xputs.
25930 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25931 (menu_init): Avoid printing gfxmenu error.
25932 (show_menu): Use grub_normal_get_char_counter.
25933 * normal/menu_entry.c (update_screen): Fix out-of-array.
25934 (complete): Avoid NULL dereferencing.
25935 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25936 * normal/menu_text.c (print_spaces): Removed.
25937 (grub_print_ucs4): Likewise.
25938 (grub_print_message_indented): Use grub_print_ucs4.
25939 (print_message): Use grub_putcode.
25940 (print_entry): Hanlde diacritics.
25941 * normal/term.c (term_state): New type.
25942 (grub_more_lines): Removed.
25943 (term_states): New variable.
25944 (grub_normal_line_counter): Renamed to ..
25945 (grub_normal_char_counter): ...this. All users updated.
25946 (grub_normal_get_line_counter): Renamed to ...
25947 (grub_normal_get_char_counter): ... this.
25948 (grub_normal_reset_more): New function.
25949 (process_newline): Removed.
25950 (print_more): New function.
25951 (grub_install_newline_hook): Removed.
25952 (map_code): New function.
25953 (grub_puts_terminal): Use grub_print_ucs4.
25954 (putglyph): New function.
25955 (putcode_real): Likewise.
25956 (grub_putcode): Use putcode_real.
25957 (get_maxwidth): New function.
25958 (get_startwidth): Likewise.
25959 (print_ucs4_terminal): Likewise.
25960 (find_term_state): Likewise.
25961 (put_glyphs_terminal): Likewise.
25962 (print_backlog): Likewise.
25963 (print_ucs4_real): Likewise.
25964 (grub_print_ucs4): Likewise.
25965 (grub_xputs_normal): Likewise.
25966 * term/efi/console.c (grub_console_putchar): Output diacritics.
25967 (grub_console_getcharwidth): Removed.
25968 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25969 * term/gfxterm.c (clear_char): Free chars.
25970 (scroll_up): Avoid leaking memory.
25971 (grub_gfxterm_putchar): Support diacritics.
25972 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25973 * term/i386/pc/console.c (grub_console_term_output): Declare as
25974 GRUB_TERM_CODE_TYPE_VGA.
25975 * term/i386/pc/vga.c (grub_vga_term): Declare as
25976 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25977 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25978 GRUB_TERM_CODE_TYPE_VGA.
25979 * term/i386/vga_common.c (map_char): Removed.
25980 (grub_console_putchar): Likewise.
25981 (grub_console_getcharwidth): Likewise.
25982 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25983 (colors): Reordered to match terminfo.
25984 (grub_ofconsole_normal_color): Removed.
25985 (grub_ofconsole_writeesc): Likewise.
25986 (grub_ofconsole_highlight_color): Likewise.
25987 (grub_ofconsole_getcharwidth): Likewise.
25988 (grub_ofconsole_setcolorstate): Likewise.
25989 (grub_ofconsole_setcolor): Likewise.
25990 (grub_ofconsole_getcolor): Likewise.
25991 (grub_ofconsole_readkey): Renamed to ...
25992 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25993 key.
25994 (grub_ofconsole_checkkey): Removed.
25995 (grub_ofconsole_getkey): Likewise.
25996 (grub_ofconsole_getxy): Likewise.
25997 (grub_ofconsole_gotoxy): Likewise.
25998 (grub_ofconsole_cls): Likewise.
25999 (grub_ofconsole_refresh): Likewise.
26000 (grub_ofconsole_terminfo_input): New struct.
26001 (grub_ofconsole_terminfo_output): Likewise.
26002 (grub_ofconsole_term_input): Use terminfo.
26003 (grub_ofconsole_term_output): Likewise.
26004 (grub_console_init): Split into ...
26005 (grub_console_init_early): ...this and ...
26006 (grub_console_init_lately): ...this. Use terminfo.
26007 (grub_ofconsole_putchar): Renamed to ...
26008 (put): ... this. Remove mapping.
26009 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26010 * term/serial.c: Simplify using terminfo.
26011 (xpos): Removed.
26012 (ypos): Likewise.
26013 (keep_track): Likewise.
26014 (registered): Likewise.
26015 (input_buf): Likewise.
26016 (npending): Likewise.
26017 (serial_translate_key_sequence): Likewise.
26018 (fill_input_buf): Likewise.
26019 (grub_serial_checkkey): Likewise.
26020 (grub_serial_getkey): Likewise.
26021 (grub_serial_getxy): Likewise.
26022 (grub_serial_gotoxy): Likewise.
26023 (grub_serial_putchar): Likewise.
26024 (grub_serial_cls): Likewise.
26025 (grub_serial_setcolorstate): Likewise.
26026 (grub_serial_setcursor): Likewise.
26027 (serial_hw_init): Use serial_hw_fetch.
26028 (grub_serial_terminfo_input): New variable.
26029 (grub_serial_terminfo_output): Likewise.
26030 (grub_serial_term_input): Use terminfo.
26031 (grub_serial_term_output): Likewise.
26032 * term/terminfo.c (putstr): Use put.
26033 (grub_terminfo_all_free): New function
26034 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26035 (grub_terminfo_output_register): New function.
26036 (grub_terminfo_output_unregister): Likewise.
26037 (grub_terminfo_getxy): Likewise.
26038 (grub_terminfo_readkey): Likewise.
26039 (grub_terminfo_checkkey): Likewise.
26040 (grub_terminfo_getkey): Likewise.
26041 (grub_terminfo_input_init): Likewise.
26042 (print_terminfo): Likewise.
26043 (grub_cmd_terminfo): Handle encoding.
26044 (grub_terminfo_gotoxy): Track position.
26045 (grub_terminfo_cls): Likewise.
26046 (grub_terminfo_putchar): Likewise.
26047 (grub_terminfo_setcolorstate): Handle colors
26048 (grub_terminfo_cursor_on): This ...
26049 (grub_terminfo_cursor_off): ... and this merged into ...
26050 (grub_terminfo_setcursor): ... this.
26051 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26052 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26053 * unicode/BidiMirroring.txt: Likewise.
26054 * unicode/UnicodeData.txt: Likewise.
26055 * unicode/COPYING: Likewise.
26056 * util/grub-editenv.c (grub_putchar): Removed.
26057 (grub_xputs_real): New function.
26058 (grub_xputs): New variable.
26059 * util/grub-fstest.c (grub_putchar): Removed.
26060 (grub_xputs_real): New function.
26061 (grub_xputs): New variable.
26062 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26063 (grub_xputs_real): New function.
26064 (grub_xputs): New variable.
26065 * util/grub-probe.c (grub_putchar): Removed.
26066 (grub_xputs_real): New function.
26067 (grub_xputs): New variable.
26068 * util/grub-script-check.c (grub_putchar): Removed.
26069 (grub_xputs_real): New function.
26070 (grub_xputs): New variable.
26071 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26072 (grub_xputs_real): New function.
26073 (grub_xputs): New variable.
26074 * util/import_unicode.py: New file.
26075 * util/grub-mkfont.c (ft_errmsgs): New array.
26076 (grub_glyph_info): Make bitmap a pointer.
26077 (file_formats): New type WIDTH_SPEC.
26078 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26079 (options): Add width-spec.
26080 (help): Likewise.
26081 (add_char): Renamed to ...
26082 (add_glyph): ... this.
26083 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26084 (glyph_replace): New type.
26085 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26086 (add_char): New function.
26087 (add_subst): Likewise.
26088 (process_cursive): Likewise.
26089 (add_font): Handle GSUB.
26090 (write_font_width_spec): New function.
26091 (main): Sort glyphs.
26092 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26093 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26094 * kern/term.c (grub_cls): Moved from here...
26095 * normal/term.c (grub_cls): ... here.
26096
50f0bcda
CW
260972010-07-02 Colin Watson <cjwatson@ubuntu.com>
26098
26099 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26100 suitable for using within the format argument of printf when
26101 converting grub_size_t.
26102 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26103 "x" to convert grub_size_t arguments.
26104
40372103
VS
261052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26108 too long captions.
26109 (list_get_minimal_size): Take selection box into account.
26110
942a10c7
VS
261112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26114 NULL font.
26115
2bdb2892
CW
261162010-07-02 Colin Watson <cjwatson@ubuntu.com>
26117
26118 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26119 devices when iterating over /dev/disk/by-id; they will be handled
26120 later if appropriate, which they aren't always (e.g. LVM).
26121
e03ed6c1
CW
261222010-07-02 Colin Watson <cjwatson@ubuntu.com>
26123
26124 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26125 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26126 fails.
26127 (grub_halt): Likewise.
26128 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26129 reset-all fails.
26130 (grub_halt): Don't return, even if all of shut-down, power-off, and
26131 poweroff fail.
26132
47695765
CW
261332010-07-02 Colin Watson <cjwatson@ubuntu.com>
26134
26135 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26136 arguments, not three.
26137
507736c8
CW
261382010-07-02 Colin Watson <cjwatson@ubuntu.com>
26139
26140 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26141 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26142 LVM-on-RAID is handled correctly.
26143
e3c8cd37
CW
261442010-07-02 Colin Watson <cjwatson@ubuntu.com>
26145
26146 * docs/grub.texi (Changes from GRUB Legacy): New section.
26147 (Future): Fix typo.
26148
8d4a2fec
CW
261492010-07-02 Colin Watson <cjwatson@ubuntu.com>
26150
26151 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26152 grub.d/README accidentally ends up executable for one reason or
26153 another. Ignore it.
26154
1c4827be
VS
261552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26158 (gpt_partition_map_iterate): Support non-512B sectors.
26159
d9a0c941
VS
261602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26161
26162 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26163 Tested by: Seth Goldberg.
26164
48f27e87
VS
261652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26168 Properly align mbi.
26169 Reported by: Seth Goldberg.
26170
b0c4f956
VS
261712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 * util/grub-mkrescue.in: Avoid module duplication.
26174
105a2e8c
SF
261752010-07-01 Sean Finney <seanius@seanius.net>
26176
26177 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26178
5944958c
SF
261792010-07-01 Sean Finney <seanius@seanius.net>
26180
26181 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26182
261832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26184
26185 * disk/lvm.c (grub_lvm_checkvalue): New function.
26186 (grub_lvm_check_flag): Likewise.
26187
b79889ba
RM
261882010-07-01 Robert Millan <rmh@gnu.org>
26189
26190 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26191 Support 'p' as partition separator on kernel of FreeBSD (used
26192 with GPT labels).
26193 (grub_util_biosdisk_get_grub_dev): Likewise.
26194
ec1d04f1
VS
261952010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26196
26197 Yeeloong firmware port.
26198
26199 * boot/mips/yeeloong/fwstart.S: New file.
26200 * bus/cs5536.c (gpiodump): New const.
26201 (set_io_space): New function.
26202 (set_iod): Likewise.
26203 (set_p2d): Likewise.
26204 (grub_cs5536_init_geode): Likewise.
26205 * commands/mips/yeeloong/lsspd.c: New file.
26206 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26207 (serial_mod_SOURCES): New variable.
26208 (serial_mod_CFLAGS): Likewise.
26209 (serial_mod_LDFLAGS): Likewise.
26210 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26211 term/terminfo.c and term/tparm.c.
26212 (pkglib_IMAGES): Add fwstart.img.
26213 (fwstart_img_SOURCES): New variable.
26214 (fwstart_img_CFLAGS): Likewise.
26215 (fwstart_img_ASFLAGS): Likewise.
26216 (fwstart_img_LDFLAGS): Likewise.
26217 (fwstart_img_FORMAT): Likewise.
26218 (pkglib_MODULES): Add lsspd.mod.
26219 (lsspd_mod_SOURCES): New variable.
26220 (lsspd_mod_CFLAGS): Likewise.
26221 (lsspd_mod_LDFLAGS): Likewise.
26222 (pkglib_MODULES): Add halt.mod.
26223 (halt_mod_SOURCES): New variable.
26224 (halt_mod_CFLAGS): Likewise.
26225 (halt_mod_LDFLAGS): Likewise.
26226 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26227 (serial_mod_SOURCES): Removed.
26228 (serial_mod_CFLAGS): Likewise.
26229 (serial_mod_LDFLAGS): Likewise.
26230 * disk/ata.c (check_device): New function.
26231 (grub_ata_device_initialize): Use check_device.
26232 (grub_ata_iterate): Recheck devices.
26233 (grub_ata_open): Likewise.
26234 (grub_atapi_iterate): Likewise.
26235 (grub_atapi_open): Likewise.
26236 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26237 (GRUB_ATA_CH1_PORT1): Likewise.
26238 (GRUB_ATA_CH0_PORT2): Likewise.
26239 (GRUB_ATA_CH1_PORT2): Likewise.
26240 * include/grub/mips/loongson.h: New file.
26241 * include/grub/mips/yeeloong/ec.h: Likewise.
26242 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26243 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26244 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26245 * include/grub/misc.h (grub_halt): Declare as noreturn.
26246 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26247 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26248 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26249 (UART_ENABLE_DTRRTS): Likewise.
26250 (UART_ENABLE_MODEM): Removed.
26251 (UART_ENABLE_OUT2): New const.
26252 * include/grub/term.h (grub_term_register_input_active): New function.
26253 (grub_term_register_output_active): Likewise.
26254 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26255 argument.
26256 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26257 (init_pci): New function.
26258 (grub_machine_init): Execute platform init when firmware. Init serial.
26259 (grub_halt): Implement.
26260 (grub_exit): Likewise.
26261 (grub_reboot): Likewise.
26262 * term/serial.c (serial_hw_init): Update macros.
26263 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26264 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26265 (image_targets): New target mipsel-yeeloong-flash.
26266 (generate_image): Support IMAGE_YEELOONG_FLASH.
26267 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26268 (grub_video_sm712_setup): Init card.
26269 (grub_video_sm712_set_palette): Removed.
26270 * video/sm712_init.c: New file.
26271
ff4a70d2
CW
262722010-06-30 Colin Watson <cjwatson@ubuntu.com>
26273
26274 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26275 PATH when running help2man and then run it on the unadorned
26276 executable names, rather than passing $(builddir)/* paths to
26277 help2man. This avoids the build directory ending up in generated
26278 manual pages.
26279
1246efeb
CW
262802010-06-29 Colin Watson <cjwatson@ubuntu.com>
26281
26282 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26283 to avoid accidents when debugging with 'sh -x'.
26284 * util/grub-mkrescue.in: Likewise.
26285 * util/grub.d/00_header.in: Likewise.
26286 * util/grub.d/10_hurd.in: Likewise.
26287 * util/grub.d/10_kfreebsd.in: Likewise.
26288 * util/grub.d/10_linux.in: Likewise.
26289 * util/grub.d/10_netbsd.in: Likewise.
26290 * util/grub.d/10_windows.in: Likewise.
26291 * util/grub.d/20_linux_xen.in: Likewise.
26292 * util/grub.d/30_os-prober.in: Likewise.
26293 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26294
1ba9b889
CW
262952010-06-29 Colin Watson <cjwatson@ubuntu.com>
26296
26297 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26298 last character in the buffer.
26299 Reported by: Vladimir Serbinenko.
26300
dccaf99d
RM
263012010-06-29 Robert Millan <rmh@gnu.org>
26302
26303 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26304 (Command-line and menu entry commands): Document `badram' command.
26305
d500ed12
RM
263062010-06-28 Robert Millan <rmh@gnu.org>
26307
26308 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26309 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26310 command using ${GRUB_BADRAM} as parameter.
26311
20bc84a6
CW
263122010-06-28 Colin Watson <cjwatson@ubuntu.com>
26313
26314 * docs/grub.texi (Device map): New section.
26315 (Themes): New section (stub).
26316 * Makefile.in (docs/grub.info): The info documentation now builds
26317 without errors. Make sure it stays that way.
26318
4045dee1
VS
263192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26320
26321 Use normal parser for menu entries.
26322 Reported by: Thomas Frauendorfer
26323
26324 * include/grub/parser.h (grub_parser_execute): Don't export.
26325 * normal/menu.c (grub_menu_execute_entry_real): New function.
26326 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26327
bca58c7b
CW
263282010-06-28 Colin Watson <cjwatson@ubuntu.com>
26329
26330 * docs/grub.texi (Embedded configuration): New section (replacing
26331 old "Preset Menu" stub).
26332 (Images): New section.
26333 (configfile): Note that any menu entries defined in `file' are shown
26334 immediately.
26335
dec53e63
JT
263362010-06-28 Josh Triplett <josh@joshtriplett.org>
26337
26338 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26339
c06e40f7
CW
263402010-06-28 Colin Watson <cjwatson@ubuntu.com>
26341
26342 * util/grub-install.in: Add --debug-image= option.
26343
cb88052b
CW
263442010-06-28 Colin Watson <cjwatson@ubuntu.com>
26345
26346 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26347 possible on Linux.
26348
26349 * util/deviceiter.c (check_device): Rename to ...
26350 (check_device_readable_unique): ... this. Update all callers.
26351 Maintain and check a list of which devices (by canonicalized name)
26352 have already been seen.
26353 (clear_seen_devices): New function.
26354 (compare_file_names) [__linux__]: New function.
26355 (grub_util_iterate_devices): Clear the list of seen devices on exit
26356 and (just in case) on entry.
26357 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26358 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26359 seen-devices list, superseded by general code in check_device.
26360
bbe34652
CW
263612010-06-28 Colin Watson <cjwatson@ubuntu.com>
26362
26363 * commands/cat.c (options): New variable.
26364 (grub_cmd_cat): Parse options. If the --dos option is given, print
26365 DOS-style "\r\n" line endings as simple newlines (Debian bug
26366 #586358).
26367 (GRUB_MOD_INIT): Use extcmd.
26368 (GRUB_MOD_FINI): Likewise.
26369 * docs/grub.texi (cat): Document --dos.
26370
412e09f3
VS
263712010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 XEN with Linux grub-mkconfig support.
26374
26375 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26376 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26377 GRUB_CMDLINE_XEN_DEFAULT.
26378 * util/grub.d/20_linux_xen.in: New file.
26379
53f3ef38 263802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26381
26382 Initialise VGA video on qemu ourselves.
26383
26384 * boot/i386/qemu/boot.S: Don't call 0xc000.
26385 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26386 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26387 (kernel_img_HEADERS): Add pci.h.
26388 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26389 * configure.ac: Force unifont on qemu and yeeloong.
26390 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26391 (grub_vga_palette_write): Use correct register.
26392 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26393 Call grub_qemu_init_cirrus.
26394 * kern/i386/qemu/init.c: New file.
26395 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26396
26397 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26398
c75be4fb
PR
263992010-06-26 Pavel Roskin <proski@gnu.org>
26400
26401 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26402 13.
26403
d8034603
CW
264042010-06-26 Colin Watson <cjwatson@ubuntu.com>
26405
26406 * docs/grub.texi (Simple configuration): Explain that
26407 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26408 set to `true' to disable their respective recovery entries, not
26409 merely set.
26410
3fa06487
CW
264112010-06-26 Colin Watson <cjwatson@ubuntu.com>
26412
26413 Make the `source' command slightly faster.
26414
26415 * normal/main.c (grub_normal_execute): Don't re-read list files when
26416 nested.
26417
e9b29642
CW
264182010-06-23 Colin Watson <cjwatson@ubuntu.com>
26419
26420 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26421 field position and mask size to red fields from mode_info, not
26422 green.
26423 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26424 Remove redundant tag->common.framebuffer_type assignment.
26425 Reported by: Seth Goldberg.
26426
e726542f
CW
264272010-06-23 Colin Watson <cjwatson@ubuntu.com>
26428
26429 Sync up other versions of the Linux loader with Robert Millan's
26430 change of 2010-01-09, "Make loader output a bit more user-friendly".
26431
26432 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26433 grub_dprintf().
26434 (grub_cmd_linux): Likewise.
26435 (grub_cmd_initrd): Likewise.
26436 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26437 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26438
d6e98a17
CW
264392010-06-21 Colin Watson <cjwatson@ubuntu.com>
26440
26441 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26442 larger than MEMORY_MAP_SIZE.
26443
14d3f08e
BC
264442010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26445
26446 Fix parallel build.
26447
26448 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26449 dependency.
26450 * script/parser.y: #include grub_script.tab.h header.
26451
4f9613a3
VS
264522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 Support >3GiB and <16MiB RAM in i386-qemu.
26455
26456 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26457 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26458 (grub_lower_mem): Removed.
26459 (grub_upper_mem): Likewise.
26460 (mem_size): Made static.
26461 (above_4g): New variable.
26462 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26463 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26464 support.
26465
05e51879
VS
264662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26467
26468 Cirrus 5446 and Bochs video cards support.
26469
26470 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26471 video_bochs.mod
26472 (video_cirrus_mod_SOURCES): New variable.
26473 (video_cirrus_mod_CFLAGS): Likewise.
26474 (video_cirrus_mod_LDFLAGS): Likewise.
26475 (video_bochs_mod_SOURCES): Likewise.
26476 (video_bochs_mod_CFLAGS): Likewise.
26477 (video_bochs_mod_LDFLAGS): Likewise.
26478 * include/grub/vga.h: New file.
26479 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26480 (grub_video_fb_set_page_t): New type.
26481 (grub_video_fb_setup): New prototype.
26482 (grub_video_fb_swap_buffers): Likewise.
26483 (grub_video_fb_get_info_and_fini): Likewise.
26484 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26485 (CRTC_DATA_PORT): Likewise.
26486 (CRTC_CURSOR): Likewise.
26487 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26488 (CRTC_CURSOR_ADDR_LOW): Likewise.
26489 (CRTC_CURSOR_DISABLE): Likewise.
26490 (update_cursor): Use grub_vga_cr_write.
26491 (grub_vga_text_setcursor): Likewise.
26492 * video/bochs.c: New file.
26493 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26494 (palette): Likewise.
26495 (palette_size): Likewise.
26496 (framebuffer): New variable.
26497 (grub_video_fb_init): Use 'framebuffer'.
26498 (grub_video_fb_fini): Likewise.
26499 (grub_video_fb_get_info): Likewise.
26500 (grub_video_fb_get_palette): Likewise.
26501 (grub_video_fb_set_palette): Likewise.
26502 (grub_video_fb_set_viewport): Likewise.
26503 (grub_video_fb_get_viewport): Likewise.
26504 (grub_video_fb_map_color): Likewise.
26505 (grub_video_fb_map_rgb): Likewise.
26506 (grub_video_fb_map_rgba): Likewise.
26507 (grub_video_fb_unmap_color): Likewise.
26508 (grub_video_fb_unmap_color_int): Likewise.
26509 (grub_video_fb_fill_rect): Likewise.
26510 (grub_video_fb_blit_bitmap): Likewise.
26511 (grub_video_fb_blit_render_target): Likewise.
26512 (grub_video_fb_scroll): Likewise.
26513 (grub_video_fb_create_render_target): Likewise.
26514 (grub_video_fb_doublebuf_blit_init): Likewise.
26515 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26516 (doublebuf_pageflipping_update_screen): New function.
26517 (doublebuf_pageflipping_init): Likewise.
26518 (grub_video_fb_setup): Likewise.
26519 (grub_video_fb_swap_buffers): Likewise.
26520 (grub_video_fb_get_info_and_fini): Likewise.
26521 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26522 All users updated.
26523 (doublebuf_pageflipping_commit): Restructured into ...
26524 (doublebuf_pageflipping_set_page): ... this.
26525 (doublebuf_pageflipping_update_screen): Removed.
26526 (doublebuf_pageflipping_init): Likewise.
26527 (double_buffering_init): Likewise.
26528 (grub_video_vbe_setup): Use grub_video_fb_setup.
26529 (grub_video_vbe_swap_buffers): Removed.
26530 (grub_video_vbe_set_active_render_target): Likewise.
26531 (grub_video_vbe_get_active_render_target): Likewise.
26532 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26533 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26534 grub_video_fb_set_active_render_target and
26535 grub_video_fb_get_active_render_target.
26536 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26537 (SEQUENCER_DATA_PORT): Likewise.
26538 (MAP_MASK_REGISTER): Likewise.
26539 (CRTC_ADDR_PORT): Likewise.
26540 (CRTC_DATA_PORT): Likewise.
26541 (START_ADDR_HIGH_REGISTER): Likewise.
26542 (START_ADDR_LOW_REGISTER): Likewise.
26543 (GRAPHICS_ADDR_PORT): Likewise.
26544 (GRAPHICS_DATA_PORT): Likewise.
26545 (READ_MAP_REGISTER): Likewise.
26546 (INPUT_STATUS1_REGISTER): Likewise.
26547 (INPUT_STATUS1_VERTR_BIT): Likewise.
26548 (get_map_mask): Use grub_vga_sr_read.
26549 (set_map_mask): Use grub_vga_sr_write.
26550 (set_read_map): Use grub_vga_gr_write.
26551 (set_start_address): Use grub_vga_cr_write.
26552 * video/sm712.c (framebuffer): Remove leftover fields.
26553
4321c64a
CW
265542010-06-20 Colin Watson <cjwatson@ubuntu.com>
26555
26556 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26557 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26558 instead. Replace the gfxterm backend check with a check that
26559 ${GRUB_PREFIX}/video.lst is non-empty.
26560 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26561 again.
26562 (load_video): New generated function. Call it before loading
26563 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26564 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26565 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26566 * docs/grub.texi (Simple configuration): Document
26567 GRUB_VIDEO_BACKEND.
26568
265692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26570
26571 Use video functions in linux and xnu loaders.
26572
26573 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26574 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26575 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26576 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26577 loader/i386/pc/linux.c.
26578 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26579 (find_line_len): Removed.
26580 (find_framebuf): Likewise.
26581 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26582 * loader/i386/efi/xnu.c: Removed.
26583 * loader/i386/pc/xnu.c: Moved from here...
26584 * loader/i386/xnu.c: ...here.
26585
26586 Enable priorities in video drivers.
26587
26588 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26589 (grub_video_adapter): New field prio.
26590 (grub_video_register): Respect prio when inserting.
26591 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26592 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26593 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26594 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26595 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26596 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26597 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26598
26599 Fix SDL driver ID.
26600
26601 * include/grub/video.h (grub_video_driver_id_t): New value
26602 GRUB_VIDEO_DRIVER_SDL.
26603 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26604
7d24e434
CW
266052010-06-17 Colin Watson <cjwatson@ubuntu.com>
26606
26607 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26608 argument to printf.
26609 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26610
c88a83f6
CW
266112010-06-17 Colin Watson <cjwatson@ubuntu.com>
26612
26613 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26614 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26615
094dfb69
CW
266162010-06-17 Colin Watson <cjwatson@ubuntu.com>
26617
26618 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26619 directly, and recommend grub-install instead.
26620 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26621
2164da6b
CW
266222010-06-17 Colin Watson <cjwatson@ubuntu.com>
26623
26624 Fix i386-pc prefix handling with nested partitions (Debian bug
26625 #585068). Note that the case where the core image is booted using
26626 multiboot and relocated from its original location still requires
26627 more work.
26628
26629 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26630 with "(,", fill the boot drive in between those two characters, but
26631 expect that a full partition specification including partition map
26632 names will follow.
26633 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26634 specified, write a prefix without the drive name but including a
26635 full partition specification.
26636
044e2e60
CW
266372010-06-16 Colin Watson <cjwatson@ubuntu.com>
26638
26639 * util/grub-mkconfig.in: Ignore non-option arguments, for
26640 compatibility with older versions (before 2010-06-12) which did the
26641 same. In particular, this makes it easier to ship an update-grub
26642 wrapper which is compatible with that used with GRUB Legacy (Debian
26643 bug #586056).
26644
5591324f
GS
266452010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26646
26647 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26648 for manual page generation.
26649
662e24d5
GS
266502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26651
26652 * po/POTFILES: Remove leftover commands/handler.c.
26653
8d70754e
CW
266542010-06-14 Colin Watson <cjwatson@ubuntu.com>
26655
26656 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26657 left this script non-functional.
26658
41160e2e
CW
266592010-06-14 Colin Watson <cjwatson@ubuntu.com>
26660
26661 * docs/man/grub-emu.h2m: New file.
26662
b5309cc1
CW
266632010-06-13 Colin Watson <cjwatson@ubuntu.com>
26664
26665 * docs/grub.texi (Commands): Document reduced command set in rescue
26666 mode.
26667 (cpuid): New section.
26668
fcb2d090
GS
266692010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26670
26671 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26672 new partition naming style.
26673 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26674
96e5c556
BC
266752010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26676
26677 Add "-o grub.iso" like cmdline options support.
26678
26679 * util/grub-install.in: Improve cmdline option parsing.
26680 * util/grub-mkconfig.in: Likewise.
26681 * util/grub-mkrescue.in: Likewise.
26682 * util/grub-reboot.in: Likewise.
26683 * util/grub-set-default.in: Likewise.
26684 * util/i386/efi/grub-install.in: Likewise.
26685 * util/ieee1275/grub-install.in: Likewise.
26686 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26687
c16be99b
CW
266882010-06-12 Colin Watson <cjwatson@ubuntu.com>
26689
26690 * .bzrignore: Ignore 41_custom.
26691
ce08a9fb
TS
266922010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26693
26694 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26695
7beac90c
CW
266962010-06-12 Colin Watson <cjwatson@ubuntu.com>
26697
26698 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26699 prototype declarations.
26700
26701 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26702 generating fs, partmap, and video lists.
26703 * include/grub/fs.h (grub_fs_register): Omit prototype if
26704 GRUB_LST_GENERATOR is defined.
26705 * include/grub/partition.h (grub_partition_map_register): Likewise.
26706 * include/grub/video.h (grub_video_register): Likewise.
26707
1c8f0f8d
JM
267082010-06-12 Javier Martín <lordhabbit@gmail.com>
26709
26710 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26711
a6085973
TS
267122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26713
26714 * util/grub-mkrescue.in: Support --xorriso argument.
26715
25c56d29
VS
267162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26717
26718 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26719 Suggested by: Thomas Schmitt.
26720
e03e4b24
VS
267212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26722
26723 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26724 Suggested by: Thomas Schmitt.
26725
57711df6
VS
267262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 custom.cfg support.
26729
26730 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26731 * util/grub.d/41_custom.in: New file.
26732
ee62c427
CW
267332010-06-12 Colin Watson <cjwatson@ubuntu.com>
26734
26735 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26736 been merged back into normal.
26737
283af07a
CW
267382010-06-11 Colin Watson <cjwatson@ubuntu.com>
26739
26740 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26741 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26742
56a0d956
CW
267432010-06-11 Colin Watson <cjwatson@ubuntu.com>
26744
26745 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26746 when generating manual pages.
26747 * docs/man/grub-bin2h.h2m: New file.
26748 * docs/man/grub-editenv.h2m: New file.
26749 * docs/man/grub-fstest.h2m: New file.
26750 * docs/man/grub-install.h2m: New file.
26751 * docs/man/grub-macho2img.h2m: New file.
26752 * docs/man/grub-mkconfig.h2m: New file.
26753 * docs/man/grub-mkdevicemap.h2m: New file.
26754 * docs/man/grub-mkfont.h2m: New file.
26755 * docs/man/grub-mkimage.h2m: New file.
26756 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26757 * docs/man/grub-mkrelpath.h2m: New file.
26758 * docs/man/grub-mkrescue.h2m: New file.
26759 * docs/man/grub-ofpathname.h2m: New file.
26760 * docs/man/grub-pe2elf.h2m: New file.
26761 * docs/man/grub-probe.h2m: New file.
26762 * docs/man/grub-reboot.h2m: New file.
26763 * docs/man/grub-script-check.h2m: New file.
26764 * docs/man/grub-set-default.h2m: New file.
26765 * docs/man/grub-setup.h2m: New file.
26766
3a37e322
VS
267672010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 Use FOR_* macros instead of *_iterate whenever possible.
26770
26771 * commands/handler.c: Removed.
26772 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26773 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26774 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26775 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26776 (grub_probe_SOURCES): Remove kern/parser.c.
26777 (util/grub-script-check.c_DEPENDENCIES): Removed.
26778 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26779 and grub_script_check_init.c.
26780 (grub_script_check_init.lst): Removed.
26781 (grub_script_check_init.h): Likewise.
26782 (grub_script_check_init.c): Likewise.
26783 (pkglib_MODULES): Remove handler.mod and sh.mod.
26784 (handler_mod_SOURCES): Removed.
26785 (handler_mod_CFLAGS): Likewise.
26786 (handler_mod_LDFLAGS): Likewise.
26787 (normal_mod_SOURCES): Remove normal/handler.c.
26788 Add script/main.c, script/script.c, script/execute.c,
26789 script/function.c, script/lexer.c, grub_script.tab.c
26790 and grub_script.yy.c.
26791 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26792 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26793 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26794 (grub_setup_SOURCES): Remove kern/parser.c.
26795 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26796 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26797 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26798 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26799 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26800 (grub_setup_SOURCES): Remove kern/parser.c.
26801 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26802 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26803 * include/grub/command.h (grub_command_iterate): Removed.
26804 (FOR_COMMANDS): New macro.
26805 * include/grub/dl.h (grub_dl): New member next.
26806 (grub_dl_iterate): Removed.
26807 (grub_dl_head): New variable declaration.
26808 (FOR_DL_MODULES): New macro.
26809 * include/grub/fs.h: Include list.h.
26810 (grub_fs): Make next first element.
26811 (grub_fs_list): New variable declaration.
26812 (grub_fs_register): Make inline.
26813 (grub_fs_unregister): Likewise.
26814 (grub_fs_iterate): Removed.
26815 (FOR_FILESYSTEMS): New macro.
26816 * include/grub/handler.h: Removed.
26817 * include/grub/list.h (grub_list_hook_t): Removed.
26818 (grub_list_test_t): Likewise.
26819 (grub_list_pop): Likewise.
26820 (grub_list_iterate): Likewise.
26821 (grub_list_insert): Likewise.
26822 (FOR_LIST_ELEMENTS): New macro.
26823 * include/grub/parser.h (grub_parser_class): Removed.
26824 (grub_parser_register): Likewise.
26825 (grub_parser_unregister): Likewise.
26826 (grub_parser_get_current): Likewise.
26827 (grub_parser_set_current): Likewise.
26828 (grub_register_rescue_parser): Likewise.
26829 (grub_rescue_parse_line): New function.
26830 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26831 * include/grub/script_sh.h (grub_script_function_list): New variable
26832 declaration.
26833 (FOR_SCRIPT_FUNCTIONS): New macro.
26834 (grub_script_function_iterate): Removed.
26835 (grub_normal_parse_line): New prototype.
26836 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26837 (FOR_DISABLED_TERM_INPUTS): Likewise.
26838 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26839 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26840 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26841 element.
26842 (grub_video_register): Inline.
26843 (grub_video_unregister): Likewise.
26844 (grub_video_adapter_list): New variable declaration.
26845 (grub_video_iterate): Removed.
26846 (FOR_VIDEO_ADAPTERS): New macro.
26847 * kern/dl.c (grub_dl_list): Removed. All users updated.
26848 (grub_dl_iterate): Removed.
26849 * kern/fs.c (grub_fs_list): Make global.
26850 (grub_fs_register): Removed.
26851 (grub_fs_unregister): Likewise.
26852 (grub_fs_iterate): Likewise.
26853 * kern/handler.c: Removed.
26854 * kern/list.c (grub_list_pop): Removed.
26855 (grub_list_iterate): Likewise.
26856 (grub_list_insert): Likewise.
26857 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26858 (grub_prio_list_insert): Don't use grub_list_insert.
26859 * kern/main.c (grub_register_rescue_parser): Don't call
26860 grub_register_rescue_parser.
26861 * kern/parser.c (grub_parser_class): Removed.
26862 (grub_parser_execute): Use grub_rescue_parse_line.
26863 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26864 (grub_rescue_parser): Removed.
26865 (grub_register_rescue_parser): Likewise.
26866 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26867 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26868 (grub_auth_check_authentication): Likewise.
26869 * normal/completion.c (iterate_command): Removed.
26870 (grub_normal_do_completion): Use FOR_COMMANDS.
26871 * normal/handler.c: Removed.
26872 * normal/main.c (read_config_file): Remove parser changing.
26873 (grub_normal_execute): Don't call read_handler_list.
26874 (grub_normal_read_line_real): Statically allocate prompt.
26875 (grub_cmdline_run): Use grub_normal_parse_line.
26876 (GRUB_MOD_FINI): Don't call free_handler_list.
26877 * normal/menu_entry.c (run): Likewise.
26878 * script/function.c (grub_script_function_list): Make global.
26879 (grub_script_function_iterate): Removed.
26880 * script/main.c (grub_normal_parse_line): Make global.
26881 (grub_sh_parser): Removed.
26882 (GRUB_MOD_INIT): Likewise.
26883 (GRUB_MOD_FINI): Likewise.
26884 * tests/lib/functional_test.c (grub_functional_test): Use
26885 FOR_LIST_ELEMENTS.
26886 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26887 (grub_test_run): Use FOR_LIST_ELEMENTS.
26888 * tests/lib/unit_test.c (main): Likewise.
26889 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26890 grub_list_pop.
26891 * util/grub-fstest.c (grub_term_input_class): Removed.
26892 (grub_term_output_class): Likewise.
26893 * util/grub-probe.c: Likewise.
26894 * util/i386/pc/grub-setup.c: Likewise.
26895 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26896 * util/grub-script-check.c (main): Don't call grub_init_all and
26897 grub_fini_all.
26898 * video/video.c (grub_video_adapter_list): Make global.
26899 (grub_video_register): Removed.
26900 (grub_video_unregister): Likewise.
26901 (grub_video_iterate): Likewise.
26902
6289c3a7
VS
269032010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26904
26905 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26906 reported by Henrique Ferreiro.
26907
91460247
RM
269082010-06-09 Robert Millan <rmh@gnu.org>
26909
26910 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26911 ones, when both are available.
26912
0ea7c4f9
GS
269132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26914
26915 Make --version uniform and avoid hard-coded program name.
26916
26917 * util/grub-mkimage.c (main): Use `program_name' instead of
26918 hard-coded string.
26919 * util/i386/pc/grub-setup.c (main): Likewise.
26920 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26921 * util/grub-install.in: Save the basename of $0 in $self, and use the
26922 latter in informational messages. Use the same format for --version
26923 as the binary programs.
26924 * util/grub-mkconfig.in: Likewise.
26925 * util/grub-mkrescue.in: Likewise.
26926 * util/grub-reboot.in: Likewise.
26927 * util/grub-set-default.in: Likewise.
26928 * util/i386/efi/grub-install.in: Likewise.
26929 * util/ieee1275/grub-install.in: Likewise.
26930 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26931
e8a6f3b6
GS
269322010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26933
26934 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26935 embedding area. Use <= instead of == when checking for non-emptiness.
26936
f4d095d7
GS
269372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26938
26939 * configure.ac: Add `.' to the directories searched for unifont.
26940
50e532ca
CW
269412010-06-08 Colin Watson <cjwatson@ubuntu.com>
26942
26943 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26944 grub_script.yy.h.
26945
d39f3dec
CW
269462010-06-08 Colin Watson <cjwatson@ubuntu.com>
26947
26948 * docs/grub.texi (History): Expand to cover GRUB 2.
26949 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26950 commands, not `terminal'.
26951 (serial): Likewise.
26952 (terminal_input): New section.
26953 (terminal_output): New section.
26954 (uppermem): New section (stub).
26955 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26956
6ef0ddb4
CW
269572010-06-08 Colin Watson <cjwatson@ubuntu.com>
26958
26959 * docs/grub.texi (Security): Menu entries are unrestricted by
26960 default, not restricted to superusers as I had previously thought.
26961 Reword to account for this.
26962
e0f4c438
CW
269632010-06-07 Colin Watson <cjwatson@ubuntu.com>
26964
26965 * kern/emu/misc.c (device_mapper_null_log): New function.
26966 (grub_device_mapper_supported): New function.
26967 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26968 prototype.
26969 * kern/emu/hostdisk.c (find_partition_start): Check whether
26970 device-mapper is supported before trying to use it.
26971 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26972
da908200
CW
269732010-06-07 Colin Watson <cjwatson@ubuntu.com>
26974
26975 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26976 (File name syntax): Likewise.
26977 (help): --all is no longer supported in GRUB 2. Be more precise
26978 about pattern matching.
26979
fb55c3ac
CW
269802010-06-07 Colin Watson <cjwatson@ubuntu.com>
26981
26982 * normal/completion.c (grub_normal_do_completion): When completing
26983 arguments to "set" and the current word contains an equals sign,
26984 skip to after the equals sign before starting completion.
26985
258c2573
CW
269862010-06-07 Colin Watson <cjwatson@ubuntu.com>
26987
26988 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26989
ee75515e
CW
269902010-06-07 Colin Watson <cjwatson@ubuntu.com>
26991
26992 * docs/grub.texi (Network): New section.
26993 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26994 `(nd)' as in GRUB Legacy.
26995 (pxe_unload): New section.
26996
a6a700aa
CW
269972010-06-07 Colin Watson <cjwatson@ubuntu.com>
26998
26999 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27000 in the rescue shell, so recommend using `set' instead. Thanks,
27001 Jordan Uggla.
27002
4003dd38
CW
270032010-06-07 Colin Watson <cjwatson@ubuntu.com>
27004
27005 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27006 (password): New section.
27007 (password_pbkdf2): New section.
27008 (search): New section.
27009 (Security): New section.
27010 (Troubleshooting): New section, currently very incomplete.
27011 (Invoking grub-mkpasswd-pbkdf2): New section.
27012 (Internals): New section, currently very incomplete.
27013
e1cbcc40
CW
270142010-06-07 Colin Watson <cjwatson@ubuntu.com>
27015
27016 * util/grub.d/00_header.in: Add some more quoting (of
27017 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27018 work again.
27019 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27020
db8fa1ad
CW
270212010-06-07 Colin Watson <cjwatson@ubuntu.com>
27022
27023 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27024 to `count', fixing variable shadowing that broke the -c option.
27025
270262010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27027
27028 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27029 in case they contain spaces.
27030
f28a9212
CW
270312010-06-04 Colin Watson <cjwatson@ubuntu.com>
27032
27033 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27034 "part_" to partmap module names, in line with grub-install.
27035 Reported by: Jindřich Makovička (Debian bug #584426).
27036
9cdfe32f
CW
270372010-06-04 Colin Watson <cjwatson@ubuntu.com>
27038
27039 * util/grub-mkimage.c: Make target-related error messages slightly
27040 more helpful; -O talks about "format". Explicitly point to the use
27041 of -O if no target is specified.
27042 Reported by: Didier Raboud (Debian bug #584415).
27043
795b593a
CW
270442010-06-03 Colin Watson <cjwatson@ubuntu.com>
27045
27046 * INSTALL: Document several build requirements for optional features
27047 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27048
9d9b5833
GS
270492010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27050
27051 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27052 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27053 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27054
0819fec8
CW
270552010-06-02 Colin Watson <cjwatson@ubuntu.com>
27056
27057 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27058 Thanks to Jordan Uggla for spotting this.
27059
49396b4f
VS
270602010-06-02 Aleš Nesrsta <starous@volny.cz>
27061
27062 Finally make USB usable.
27063
27064 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27065 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27066 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27067 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27068 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27069 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27070 (GRUB_OHCI_FSMPS): Likewise.
27071 (GRUB_OHCI_PERIODIC_START): Likewise.
27072 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27073 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27074 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27075 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27076 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27077 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27078 (grub_ohci_transaction): Likewise.
27079 (grub_ohci_transfer): Improve condition detection algorithms.
27080 Handle toggle property. Program the transactions correctly.
27081 Improve error handling. Various important fixups.
27082 (grub_ohci_portstatus): Put register writes in right order.
27083 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27084 (grub_uhci_transfer): Don't show "failed" message on success.
27085 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27086 array.
27087 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27088 determine its size.
27089 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27090 before initialization is completed. Use IN direction for empty
27091 transfers. Use last_trans and compute toggle.
27092 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27093 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27094 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27095 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27096 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27097 (grub_usb_device): Increase toggle to 256.
27098 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27099 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27100 GRUB_USBMS_SUBCLASS_SFF8070.
27101 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27102 (grub_scsi_inquiry): New member page and alloc_length.
27103 (grub_scsi_request_sense): New structure.
27104 (grub_scsi_request_sense_data): Likewise.
27105 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27106 control.
27107 * disk/scsi.c (grub_scsi_request_sense): New function.
27108 (grub_scsi_test_unit_ready): Likewise.
27109 (grub_scsi_inquiry): Fill new fields.
27110 (grub_scsi_read_capacity): Likewise.
27111 (grub_scsi_read10): Add request sense at the end.
27112 (grub_scsi_read12): Likewise.
27113 (grub_scsi_write10): Likewise.
27114 (grub_scsi_write12): Likewise.
27115 (grub_scsi_open): Add Test Unit Ready.
27116 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27117 Support additional subclasses. Con't clear halt yet. Activate the
27118 proper config. Calculate LUNs correctly.
27119 (grub_usbms_transfer): Various important fixups.
27120
271212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27124 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27125 (grub_ohci_fini_hw): New function.
27126 (grub_ohci_restore_hw): Likewise.
27127 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27128 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27129 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27130
271312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 Dedicated DMA allocations.
27134
27135 * bus/pci.c (grub_memalign_dma32): New function
27136 (grub_dma_free): Likewise.
27137 (grub_dma_get_virt): Likewise.
27138 (grub_dma_get_phys): Likewise.
27139 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27140 (grub_ohci_pci_iter): Use dma32_alloc.
27141 (grub_ohci_transfer): Likewise.
27142 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27143 (grub_usb_bulk_readwrite): Likewise.
27144 * include/grub/pci.h: Add declarations.
27145
271462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 CS5536 support.
27149
27150 * bus/cs5536.c: New file.
27151 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27152 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27153 (cs5536_mod_SOURCES): New variable.
27154 (cs5536_mod_CFLAGS): Likewise.
27155 (cs5536_mod_LDFLAGS): Likewise.
27156 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27157 machine/pci.h.
27158 (kernel_img_SOURCES): Add bus/cs5536.c.
27159 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27160 usb_keyboard.mod.
27161 (usb_mod_SOURCES): New variable.
27162 (usb_mod_CFLAGS): New variable.
27163 (usb_mod_LDFLAGS): New variable.
27164 (usbtest_mod_SOURCES): New variable.
27165 (usbtest_mod_CFLAGS): New variable.
27166 (usbtest_mod_LDFLAGS): New variable.
27167 (ohci_mod_SOURCES): New variable.
27168 (ohci_mod_CFLAGS): New variable.
27169 (ohci_mod_LDFLAGS): New variable.
27170 (usbms_mod_SOURCES): New variable.
27171 (usbms_mod_CFLAGS): New variable.
27172 (usbms_mod_LDFLAGS): New variable.
27173 (usb_keyboard_mod_SOURCES): New variable.
27174 (usb_keyboard_mod_CFLAGS): New variable.
27175 (usb_keyboard_mod_LDFLAGS): New variable.
27176 * include/grub/smbus.h: New file.
27177 * include/grub/cs5536.h: New file.
27178
0b35b2a9
CW
271792010-06-02 Colin Watson <cjwatson@ubuntu.com>
27180
27181 * util/grub.d/00_header.in: Add safety check to make sure that
27182 ${locale_dir} exists before trying to probe it.
27183
ca0afd5b
CW
271842010-06-02 Colin Watson <cjwatson@ubuntu.com>
27185
27186 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27187 per the GNU Coding Standards; this is now too obscure to be worth
27188 documenting.
27189 (QNX): Likewise.
27190 (chainloader): Remove cross-reference to `SCO UnixWare'.
27191
1c41aa78
CW
271922010-06-02 Colin Watson <cjwatson@ubuntu.com>
27193
27194 * docs/grub.texi (Chain-loading): New section.
27195 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27196 adjusted for GRUB 2.
27197 (SCO UnixWare): Likewise.
27198 (QNX): Likewise.
27199 (chainloader): Add reference to `Block list syntax'.
27200 (drivemap): New section.
27201 (parttool): New section.
27202
bb8ea0f5
CW
272032010-06-02 Colin Watson <cjwatson@ubuntu.com>
27204
27205 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27206 the grub shell'.
27207 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27208 (Installing GRUB using grub-install): Remove reference to the grub
27209 shell; mention `grub-mkimage' and `grub-setup' instead.
27210 (Invoking grub-install): Likewise.
27211 (Interface): Add reference to `Menu entry editor'.
27212 (serial): Remove `--device' option.
27213
288dd6ed
CW
272142010-06-02 Colin Watson <cjwatson@ubuntu.com>
27215
27216 * docs/grub.texi (Configuration): New section, documenting
27217 configuration file generation using grub-mkconfig. I've left a slot
27218 for documenting the full shell scripting format but have not yet
27219 started on writing that up.
27220 (Invoking grub-mkconfig): New section.
27221
34c9f0e9
CW
272222010-06-02 Colin Watson <cjwatson@ubuntu.com>
27223
27224 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27225 (GNU GRUB manual): Likewise.
27226 (General commands): Update description of `terminfo' for GRUB 2.
27227
9121567e
CW
272282010-06-02 Colin Watson <cjwatson@ubuntu.com>
27229
27230 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27231 (GRUB_MOD_INIT): Fix capitalisation.
27232 * docs/grub.texi (Command-line and menu entry commands): Document
27233 gettext and gptsync commands.
27234
ab631611
CW
272352010-06-02 Colin Watson <cjwatson@ubuntu.com>
27236
27237 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27238 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27239
bde4a9ac
CW
272402010-06-01 Colin Watson <cjwatson@ubuntu.com>
27241
27242 Add btrfs probing support, currently only in the single-device case.
27243
27244 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27245 function.
27246 (grub_guess_root_device): Call find_root_device_from_mountinfo
27247 before looking in /dev.
27248
b1d17e10
VS
272492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27250
27251 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27252 GRUB_DISK_SIZE_UNKNOWN.
27253 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27254
dfbfe004
JS
272552010-05-31 Jiro SEKIBA <jir@unicus.jp>
27256
27257 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27258 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27259 corrupted or not synced properly.
27260
c2ffc8e9
VS
272612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27264 Reported by: Seth Goldberg.
27265
56293166
VS
272662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27269 addition of dest.
27270 Reported by: Seth Goldberg.
27271
7620e7de
VS
272722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27275 Reported by: Seth Goldberg.
27276
c837af3f
VS
272772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27280 64-bit address as signed on MIPS.
27281
c7c75cf4
CW
272822010-05-28 Colin Watson <cjwatson@ubuntu.com>
27283
27284 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27285 to the empty string.
27286
fa4b8490
BC
272872010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27288
27289 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27290
27291 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27292 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27293 * kern/misc.c (__enable_execute_stack): Disable on
27294 GRUB_MACHINE_EMU.
27295
a33075b9
CW
272962010-05-28 Colin Watson <cjwatson@ubuntu.com>
27297
27298 Make grub-probe work with symbolic links under /dev/mapper as well
27299 as with real block devices. The Linux world seems to be (at best)
27300 in transition here, and GRUB shouldn't get caught in the middle.
27301
27302 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27303 /dev/mapper.
27304
d8708134
CW
273052010-05-27 Colin Watson <cjwatson@ubuntu.com>
27306
27307 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27308 input files (in which case exit zero).
27309
db2102a0
CW
273102010-05-27 Colin Watson <cjwatson@ubuntu.com>
27311
27312 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27313 return NULL for various reasons even if it has a maximum-length
27314 buffer: for example, there might be a symlink loop, or the path
27315 might exceed PATH_MAX. If this happens, return NULL.
27316
5fdba519
RM
273172010-05-27 Robert Millan <rmh@gnu.org>
27318
27319 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27320 partmap module to handle cross-partmap setups.
27321 Reported by Orestes Mas. Gràcies!
27322
d1d368e4
CW
273232010-05-27 Colin Watson <cjwatson@ubuntu.com>
27324
27325 * util/grub-mkrescue.in: Initialise override_dir rather than
27326 assuming that it's unset or empty in the environment.
27327
95ac3c73
GS
273282010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27329
27330 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27331 variable index into p_index to suppress a warning with -Wshadow.
27332
7d8c0213
BC
273332010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27334
27335 * INSTALL: Added flex >= 2.5.35 requirement.
27336
db4d5813
VS
273372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27340
f24f4300
VS
273412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 cmostest support.
27344
27345 * commands/i386/cmostest.c: New file.
27346 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27347 (cmostest_mod_SOURCES): New variable.
27348 (cmostest_mod_CFLAGS): Likewise.
27349 (cmostest_mod_LDFLAGS): Likewise.
27350 * conf/i386-pc.rmk: Likewise.
27351 * docs/grub.texi (Vendor power-on keys): New section.
27352 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27353 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27354 and GRUB_BUTTON_CMOS_ADDRESS.
27355 * util/grub.d/00_header.in: Handle powering-on by separate button.
27356
ad603f61
VS
273572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27358
27359 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27360 Removed drawing_scrollbar argument. All users updated
27361 Fixes #29792.
27362 Reported by Jo Shields
27363
3ecb080a
VS
273642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27367 buffer since gfxterm handles double repaint.
27368
5f2316c1
VS
273692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27370
27371 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27372 * term/gfxterm.c (real_scroll): Likewise.
27373
9a25f885
VS
273742010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27375
27376 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27377 before calling BIOS.
27378
39fbb79a
VS
273792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27380
27381 * include/grub/i18n.h: Always enable grub_gettext.
27382
228cfa97
VS
273832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27384
27385 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27386 partition naming style.
27387
21717c8f
CW
273882010-05-21 Colin Watson <cjwatson@ubuntu.com>
27389
27390 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27391 not the first option.
27392
c0f48e65
CW
273932010-05-20 Colin Watson <cjwatson@ubuntu.com>
27394
27395 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27396
96779aec
CW
273972010-05-20 Colin Watson <cjwatson@ubuntu.com>
27398
27399 * util/misc.c: Move inclusion of <limits.h> to ...
27400 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27401
fa9d256e
GS
274022010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27403
27404 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27405 Fix merge error in NetBSD code.
27406 (find_partition_start) [__NetBSD__]: Likewise.
27407
123b7a85
BC
274082010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27409
27410 Fix grub-mkrescue usage unit testing.
27411
27412 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27413
74276c0d
CF
274142010-05-18 Christian Franke <franke@computer.org>
27415
27416 * util/grub.d/10_windows.in: Use path names instead of
27417 drive letters to prevent warning from Cygwin 1.7.
27418 Add drivemap command to menuentry if needed.
27419
c4f7b523
ST
274202010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27421
27422 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27423 gnumach and gnumach.gz.
27424
95b97950
VS
274252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 * include/grub/i18n.h (gettext): Inline instead of using #define.
27428 (grub_gettext): Likewise.
27429 (_): Likewise.
27430
01b8d2d7
VS
274312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27432
27433 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27434 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27435 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27436 (main): Add a slash after pkglibdirroot.
27437
654e1d1e
VS
274382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27439
27440 * util/grub-install.in: Add missing "in" keyword.
27441
26966aeb
VS
274422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27443
27444 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27445 Reported by: Seth Goldberg.
27446
75006747
VS
274472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27448
27449 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27450
74cbf5bd
CW
274512010-05-18 Colin Watson <cjwatson@ubuntu.com>
27452
27453 * configure.ac: Check for Linux device-mapper support.
27454
27455 * util/hostdisk.c (device_is_mapped): New function.
27456 (find_partition_start): New function, partly broken out from
27457 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27458 device-mapper support added.
27459 (linux_find_partition): Use find_partition_start.
27460 (convert_system_partition_to_system_disk): Add `st' argument.
27461 Support Linux /dev/mapper/* devices if device-mapper support is
27462 available; only DM-RAID devices are understood at present.
27463 (find_system_device): Add `st' argument. Pass it to
27464 convert_system_partition_to_system_disk.
27465 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27466 find_system_device and convert_system_partition_to_system_disk. Use
27467 find_partition_start.
27468
27469 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27470 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27471 * util/deviceiter.c [__linux__]: Define MINOR.
27472 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27473 * util/mkdevicemap.c (grub_putchar): New function.
27474 (grub_getkey): New function.
27475 (grub_refresh): New function.
27476 (main): Set debug=all if -v -v is used.
27477
355b51e9
CW
274782010-05-18 Colin Watson <cjwatson@ubuntu.com>
27479
27480 Fix build with non-GNU libcs.
27481
27482 * util/misc.c (canonicalize_file_name): Move to ...
27483 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27484 grub_make_system_path_relative_to_its_root.
27485
7fb5c25f
CW
274862010-05-18 Colin Watson <cjwatson@ubuntu.com>
27487
27488 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27489 we handle finding grub-mkimage. Default to finding grub-mkimage in
27490 ${bindir} with program_transform_name applied, and provide a
27491 --grub-mkimage option to override this.
27492
1d3293d6
VS
274932010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27494
27495 Remove grub-mkisofs.
27496
27497 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27498 (grub_mkisofs_SOURCES): Removed.
27499 (grub_mkisofs_CFLAGS): Removed.
27500 * util/mkisofs/defaults.h: Removed.
27501 * util/mkisofs/eltorito.c: Likewise.
27502 * util/mkisofs/exclude.h: Likewise.
27503 * util/mkisofs/hash.c: Likewise.
27504 * util/mkisofs/include/: Likewise.
27505 * util/mkisofs/include/fctldefs.h: Likewise.
27506 * util/mkisofs/include/mconfig.h: Likewise.
27507 * util/mkisofs/include/prototyp.h: Likewise.
27508 * util/mkisofs/include/statdefs.h: Likewise.
27509 * util/mkisofs/iso9660.h: Likewise.
27510 * util/mkisofs/joliet.c: Likewise.
27511 * util/mkisofs/match.c: Likewise.
27512 * util/mkisofs/match.h: Likewise.
27513 * util/mkisofs/mkisofs.c: Likewise.
27514 * util/mkisofs/mkisofs.h: Likewise.
27515 * util/mkisofs/msdos_partition.h: Likewise.
27516 * util/mkisofs/multi.c: Likewise.
27517 * util/mkisofs/name.c: Likewise.
27518 * util/mkisofs/rock.c: Likewise.
27519 * util/mkisofs/tree.c: Likewise.
27520 * util/mkisofs/write.c: Likewise.
27521
5dde9afe
VS
275222010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27523
27524 Unify grub-mkimage accross platforms.
27525
27526 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27527 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27528 (grub_mkelfimage_SOURCES): Removed.
27529 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27530 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27531 (bin_UTILITIES): Add grub-mkimage.
27532 (grub_mkimage_SOURCES): New variable.
27533 (kernel_img_HEADERS): Remove machine/kernel.h.
27534 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27535 (pkglib_PROGRAMS): Add kernel.img.
27536 (kernel_img_HEADERS): Add machine/kernel.h.
27537 (kernel_img_FORMAT): Removed.
27538 (bin_UTILITIES): Remove grub-mkimage.
27539 (grub_mkimage_SOURCES): Removed.
27540 (grub_mkimage_CFLAGS): Likewise.
27541 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27542 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27543 (pkglib_PROGRAMS): Add kernel.img.
27544 (bin_UTILITIES): Remove grub-mkimage.
27545 (grub_mkimage_SOURCES): Removed.
27546 (grub_mkimage_CFLAGS): Likewise.
27547 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27548 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27549 (pkglib_PROGRAMS): Add kernel.img.
27550 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27551 (pkglib_PROGRAMS): Add kernel.img.
27552 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27553 (grub_mkimage_SOURCES): Removed.
27554 (grub_mkimage_CFLAGS): Likewise.
27555 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27556 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27557 (pkglib_PROGRAMS): Add kernel.img.
27558 (bin_UTILITIES): Remove grub-mkimage.
27559 (grub_mkimage_SOURCES): Removed.
27560 (grub_mkimage_CFLAGS): Likewise.
27561 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27562 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27563 (grub_mkimage_SOURCES): Removed.
27564 (grub_mkimage_CFLAGS): Likewise.
27565 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27566 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27567 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27568 (grub_pe32_optional_header): ... this.
27569 (grub_pe64_optional_header): ... and this. All users updated.
27570 (GRUB_PE32_PE32_MAGIC): Split into ..
27571 (GRUB_PE32_PE32_MAGIC): .. this.
27572 (GRUB_PE32_PE64_MAGIC): .. and this.
27573 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27574 * include/grub/elf.h (PT_GNU_STACK): New definition.
27575 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27576 * include/grub/i386/efi/kernel.h: Likewise.
27577 * include/grub/i386/kernel.h: Likewise.
27578 * include/grub/i386/pc/kernel.h: Likewise.
27579 * include/grub/i386/qemu/boot.h: Likewise.
27580 * include/grub/mips/kernel.h: Likewise.
27581 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27582 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27583 * include/grub/powerpc/kernel.h: Likewise.
27584 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27585 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27586 * include/grub/sparc64/kernel.h: Likewise.
27587 * include/grub/x86_64/efi/kernel.h: Likewise.
27588 * include/grub/x86_64/kernel.h: Likewise.
27589 * include/grub/offsets.h: New file.
27590 * include/grub/kernel.h (grub_module_info): Split into ...
27591 (grub_module_info32): ... this.
27592 (grub_module_info64): ... and this.
27593 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27594 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27595 (grub_boot_blocklist): Moved from here ...
27596 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27597 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27598 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27599 * include/grub/types.h (grub_target_to_host16): Removed.
27600 (grub_target_to_host32): Likewise.
27601 (grub_target_to_host64): Likewise.
27602 (grub_host_to_target16): Likewise.
27603 (grub_host_to_target32): Likewise.
27604 (grub_host_to_target64): Likewise.
27605 (grub_host_to_target_addr): Likewise.
27606
27607 Support grub-mkrescue for efi, coreboot and qemu.
27608
27609 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27610 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27611 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27612 * util/grub-mkrawimage.c: Moved from here ...
27613 * util/grub-mkimage.c: ... here. All users updated.
27614 (ALIGN_ADDR): Use image_target.
27615 (TARGET_NO_FIELD): New const.
27616 (image_target_desc): New type.
27617 (image_targets): New array.
27618 (grub_target_to_host64): Use image_target.
27619 (grub_target_to_host32): Likewise.
27620 (grub_target_to_host16): Likewise.
27621 (grub_host_to_target64): Likewise.
27622 (grub_host_to_target32): Likewise.
27623 (grub_host_to_target16): Likewise.
27624 (grub_host_to_target_addr): Likewise.
27625 (generate_image): Handle multiimage.
27626 (main): Require -O parameter. All users updated.
27627 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27628 util/efi/grub-mkimage.c
27629 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27630 New option --rom-directory.
27631 Use xorriso.
27632 * util/i386/efi/grub-mkimage.c: Removed.
27633 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27634 (grub_target_to_host32): Likewise.
27635 (grub_target_to_host64): Likewise.
27636 (grub_host_to_target16): Likewise.
27637 (grub_host_to_target32): Likewise.
27638 (grub_host_to_target64): Likewise.
27639 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27640 (grub_target_to_host32): Likewise.
27641 (grub_target_to_host64): Likewise.
27642 (grub_host_to_target16): Likewise.
27643 (grub_host_to_target32): Likewise.
27644 (grub_host_to_target64): Likewise.
27645
f4fc97d0
BC
276462010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27647
27648 Source tree is reorganized for emu build.
27649
27650 * include/grub/util/console.h: Move from here...
27651 * include/grub/emu/console.h: ...to here.
27652 * include/grub/util/getroot.h: Move from here...
27653 * include/grub/emu/getroot.h: ...to here.
27654 * include/grub/util/hostdisk.h: Move from here...
27655 * include/grub/emu/hostdisk.h: ...to here.
27656 * util/console.c: Move from here...
27657 * kern/emu/console.c: ...to here.
27658 * util/getroot.c: Move from here...
27659 * kern/emu/getroot.c: ...to here.
27660 * util/grub-emu.c: Move from here...
27661 * kern/emu/main.c: ...to here.
27662 * util/hostdisk.c: Move from here...
27663 * kern/emu/hostdisk.c: ...to here.
27664 * util/hostfs.c: Move from here...
27665 * kern/emu/hostfs.c: ...to here.
27666 * util/mm.c: Move from here...
27667 * kern/emu/mm.c: ...to here.
27668 * util/pci.c: Move from here...
27669 * bus/emu/pci.c: ...to here.
27670 * util/sdl.c: Move from here...
27671 * video/emu/sdl.c: ...to here.
27672 * util/time.c: Move from here...
27673 * kern/emu/time.c: ...to here.
27674 * util/usb.c: Move from here...
27675 * bus/usb/emu/usb.c: ...to here.
27676
27677 * include/grub/emu/misc.h: New header for grub-emu functions.
27678 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27679
27680 * conf/any-emu.rmk: Rule updates for above renames.
27681 * conf/common.rmk: Likewise.
27682 * conf/i386-pc.rmk: Likewise.
27683 * conf/i386-qemu.rmk: Likewise.
27684 * conf/mips.rmk: Likewise.
27685 * conf/sparc64-ieee1275.rmk: Likewise.
27686 * conf/x86-efi.rmk: Likewise.
27687
27688 * disk/lvm.h: #include updates for above renames.
27689 * util/grub-mkrelpath.c: Likewise.
27690 * util/grub-probe.c: Likewise.
27691 * util/i386/pc/grub-setup.c: Likewise.
27692 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27693 * kern/emu/console.c: Likewise.
27694 * kern/emu/getroot.c: Likewise.
27695 * kern/emu/hostdisk.c: Likewise.
27696 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27697
27698 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27699 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27700 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27701 * util/misc.c: Remove grub-emu functions.
27702
cced9145
VS
277032010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27704
27705 Fix gfxmenu crash.
27706 Reported by: Thorsten Grützmacher.
27707
27708 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27709 timeout hook.
27710 (circprog_set_property): Register and unregister timeout hook.
27711 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27712 (label_destroy): Free template. and unregister hook.
27713 (label_set_state): New function.
27714 (label_set_property): Handle templates and hooks.
27715 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27716 timeout hook.
27717 (progress_bar_set_property): Register and unregister timeout hook.
27718 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27719 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27720 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27721 (update_timeout_visit): Removed.
27722 (update_timeouts): New function.
27723 (redraw_timeouts): Likewise.
27724 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27725 (grub_gfxmenu_clear_timeout): Likewise.
27726 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27727 (grub_gfxmenu_timeout_notify): Likewise.
27728 (grub_gfxmenu_timeout_notifications): New external variable.
27729 (grub_gfxmenu_timeout_register): New function.
27730 (grub_gfxmenu_timeout_unregister): Likewise.
27731
c6e5caab
VS
277322010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27733
27734 Transform (broken) vga terminal into (working) vga video driver.
27735
27736 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27737 video/i386/pc/vga.c.
27738 * include/grub/video.h (grub_video_driver_id):
27739 Add GRUB_VIDEO_DRIVER_VGA.
27740 * term/i386/pc/vga.c: Renamed to ...
27741 * video/i386/pc/vga.c: ...this
27742 (DEBUG_VGA): Removed.
27743 (CHAR_WIDTH): Likewise.
27744 (CHAR_HEIGHT): Likewise.
27745 (TEXT_WIDTH): Likewise.
27746 (TEXT_HEIGHT): Likewise.
27747 (DEFAULT_FG_COLOR): Likewise.
27748 (DEFAULT_BG_COLOR): Likewise.
27749 (colored_char): Likewise.
27750 (xpos): Likewise.
27751 (ypos): Likewise.
27752 (cursor_state): Likewise.
27753 (fg_color): Likewise.
27754 (bg_color): Likewise.
27755 (text_buf): Likewise.
27756 (page): Likewise.
27757 (font): Likewise.
27758 (framebuffer): New variable.
27759 (set_read_map): Disabled.
27760 (setup): New variable.
27761 (is_target): Likewise.
27762 (grub_vga_mod_init): Likewise.
27763 (grub_vga_mod_fini): Likewise.
27764 (check_vga_mem): Likewise.
27765 (write_char): Likewise.
27766 (write_cursor): Likewise.
27767 (scroll_up): Likewise.
27768 (grub_vga_putchar): Likewise.
27769 (grub_vga_getcharwidth): Likewise.
27770 (grub_vga_getwh): Likewise.
27771 (grub_vga_getxy): Likewise.
27772 (grub_vga_gotoxy): Likewise.
27773 (grub_vga_cls): Likewise.
27774 (grub_vga_setcolorstate): Likewise.
27775 (grub_vga_setcursor): Likewise.
27776 (grub_video_vga_init): New function.
27777 (grub_video_vga_setup): Likewise.
27778 (grub_video_vga_fini): Likewise.
27779 (update_target): Likewise.
27780 (grub_video_vga_blit_bitmap): Likewise.
27781 (grub_video_vga_blit_render_target): Likewise.
27782 (grub_video_vga_set_active_render_target): Likewise.
27783 (grub_video_vga_get_active_render_target): Likewise.
27784 (grub_video_vga_swap_buffers): Likewise.
27785 (grub_video_vga_set_palette): Likewise.
27786 (grub_video_vga_get_info_and_fini): Likewise.
27787 (grub_vga_term): Removed.
27788 (grub_video_vga_adapter): New variable.
27789 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27790 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27791
2bf61a98
VS
277922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27793
27794 * video/readers/jpeg.c: Indented.
27795
09ddcd11
VS
277962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27797
27798 Various jpeg cleanups.
27799
27800 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27801 (grub_jpeg_decode_quan_table): Use sizeof.
27802 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27803
e5507505
PH
278042010-05-05 Peter Hurley <No e-mail available> (tiny change)
27805
27806 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27807 tables. Ignore non-last ac bit.
27808 (grub_jpeg_decode_quan_table): Likewise.
27809
7e720a9b
VS
278102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27811
27812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27813 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27814 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27815 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27816 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27817 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27818
a7fc080b
VS
278192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27820
27821 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27822 error.
27823
2bf6012d
VS
278242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27825
27826 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27827
265d68cd
VS
278282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27829
27830 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27831 condition.
27832
278332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27834
27835 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27836 part.
27837
265d68cd 278382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27839
27840 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27841 pointers.
27842
265d68cd 278432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27844
27845 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27846
d1b61374
CF
278472010-05-01 Christian Franke <franke@computer.org>
27848
27849 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27850 Remove broken Cygwin path conversion.
27851 * util/misc.c: [__CYGWIN__] Add include and define.
27852 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27853 for Cygwin 1.7.
27854 (make_system_path_relative_to_its_root): Simplify loop, replace early
27855 return by break.
27856 [__CYGWIN__] Add conversion to win32 path.
27857 Include "/" case in trailing slash removal.
27858
3558c6e9
VS
278592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27860
27861 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27862 Reported by: Seth Goldberg
27863
f5f3ff93
VS
278642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 * commands/help.c (grub_cmd_help): Fix a typo.
27867 Reported by: Seth Goldberg
27868
d8b5cd40
VS
278692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27870
27871 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27872 name and add N_.
27873 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27874 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27875 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27876 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27877 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27878 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27879 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27880 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27881 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27882 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27883 * normal/context.c (GRUB_MOD_INIT): Likewise.
27884 * normal/main.c (GRUB_MOD_INIT): Likewise.
27885 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27886 * term/serial.c (GRUB_MOD_INIT): Likewise.
27887 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27888
88c14915
VS
278892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27890
27891 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27892 extra == 0.
27893
165134bc
VS
278942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27895
27896 * commands/iorw.c: New file.
27897 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27898 (iorw_mod_SOURCES): New variable.
27899 (iorw_mod_CFLAGS): Likewise.
27900 (iorw_mod_LDFLAGS): Likewise.
27901
c5ac9b32
VS
279022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27903
27904 Hotkey support
27905
27906 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27907 * normal/main.c (hotkey_aliases): New variable.
27908 (grub_normal_add_menu_entry): Parse "--hotkey".
27909 * normal/menu_text.c (run_menu): Handle hotkeys.
27910
ce60689c
VS
279112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27912
27913 * kern/i386/coreboot/init.c (grub_machine_init): Call
27914 grub_machine_mmap_init on qemu.
27915
0359d006
VS
279162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 * boot/i386/qemu/boot.S: Add a missing .code16.
27919
7819a456
VS
279202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27921
27922 Use LBIO on coreboot.
27923
27924 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27925 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27926 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27927 New declaration.
27928 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27929 grub_machine_mmap_init on coreboot.
27930 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27931 GRUB_LINUXBIOS_MEMBER_LINK.
27932 (grub_machine_mmap_iterate): Fix declaration.
27933 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27934
7210dca9
VS
279352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 Split coreboot and multiboot ports.
27938
27939 * conf/i386-multiboot.rmk: New file.
27940 * configure.ac: Add multiboot port.
27941 * include/grub/i386/multiboot/boot.h: New file.
27942 * include/grub/i386/multiboot/console.h: Likewise.
27943 * include/grub/i386/multiboot/init.h: Likewise.
27944 * include/grub/i386/multiboot/kernel.h: Likewise.
27945 * include/grub/i386/multiboot/loader.h: Likewise.
27946 * include/grub/i386/multiboot/memory.h: Likewise.
27947 * include/grub/i386/multiboot/serial.h: Likewise.
27948 * include/grub/i386/multiboot/time.h: Likewise.
27949 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27950 * loader/multiboot.c: Likewise.
27951 * loader/multiboot_mbi2.c: Likewise.
27952 * util/grub-mkrescue.in: Generate multiboot rescue.
27953
6f8aaf68
VS
279542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27955
3080f7a7
VS
27956 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27957
279582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27961
27962 * commands/terminal.c (abstract_terminal): New struct.
27963 (handle_command): New function. Based on grub_cmd_terminal_input.
27964 (grub_cmd_terminal_input): Use handle_command.
27965 (grub_cmd_terminal_output): Use handle_command.
27966
a8ebb841
BC
279672010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27968
27969 Fix comment handling.
27970
27971 * tests/grub_script_comments.in: New testcase.
27972 * conf/tests.rmk: Rules for new testcase.
27973 * script/yylex.l: Updated flex rules.
27974
bb06ba08
ST
279752010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27976
27977 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27978 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27979 if argc is 1.
bb06ba08 27980
cc9d2425
VS
279812010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27982
27983 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27984 autogen issues.
27985
460d8402
CF
279862010-04-26 Christian Franke <franke@computer.org>
27987
27988 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27989 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27990 (grub_get_prefix): Remove function.
27991 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27992 make_system_path_relative_to_its_root ().
27993 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27994
553c01f9
CF
279952010-04-24 Christian Franke <franke@computer.org>
27996
27997 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27998 (kernel_img_LDFLAGS): Remove -static-libgcc.
27999
2aec1692
CF
280002010-04-24 Christian Franke <franke@computer.org>
28001
28002 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28003 and CHECK_END_SYMBOL if grub-emu is built.
28004 Unset TARGET_OBJ2ELF if grub-emu is built
28005 without module support.
28006
f67dc308
JS
280072010-04-24 Jiro SEKIBA <jir@unicus.jp>
28008
28009 Nilfs2 support.
28010
28011 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28012 (grub_fstest_SOURCES): Likewise.
28013 (pkglib_MODULES): Add nilfs2.mod.
28014 (nilfs2_mod_SOURCES): New variable.
28015 (nilfs2_mod_CFLAGS): Likewise.
28016 (nilfs2_mod_LDFLAGS): Likewise.
28017 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28018 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28019 * fs/nilfs2.c: New file.
28020
4ba8d354
VS
280212010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28024 is not supported.
28025
0d2c20c6
GS
280262010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28027
28028 Add grub-mkconfig support for NetBSD.
28029
28030 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28031 * util/grub-mkconfig.in: export new NetBSD specific variables.
28032 * po/POTFILES-shell: added 10_netbsd.in.
28033 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28034
bc4a2d83
BC
280352010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28036
28037 Fix emu build with grub-emu-pci and grub-emu-modules.
28038
28039 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28040 functions.
28041 * include/grub/libpciaccess.h: New file.
28042 * conf/any-emu.rmk: Update kernel headers for emu build.
28043
f48c87aa
VS
280442010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28047
18959385
VS
280482010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28051
0037de3f
VS
280522010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28053
28054 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28055 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28056 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28057 util/ieee1275/ofpath.c.
28058 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28059 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28060 * include/grub/sparc64/ieee1275/boot.h
28061 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28062 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28063 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28064 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28065 const char *.
28066 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28067 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28068 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28069 install.
28070
38e55e90
GS
280712010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28072
28073 * util/grub-mkconfig.in: Corrected two == equality tests.
28074 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28075 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28076 expect a number appended to it.
28077 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28078 expects a number appended to it.
28079
a9e6ff28
VS
280802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28081
28082 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28083
0b830b8f
VS
280842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28085
28086 * util/hostdisk.c (make_device_name): Change to new partition naming.
28087
0973daeb
VS
280882010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28089
28090 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28091
460d8402 280922010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28093
28094 * Makefile.in: Add missing localedir setting.
28095
0b456309
CW
280962010-04-14 Colin Watson <cjwatson@ubuntu.com>
28097
28098 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28099 mistake in r2156. Noticed by Anthony Fok.
28100
28101 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28102 @localedir@.
28103 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28104
08f46d62
BC
281052010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28106
28107 Fix a spurious, uninitialized variable warning.
28108
28109 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28110 Initialize variable, shdr.
28111 (grub_freebsd_load_elfmodule): Likewise.
28112 (grub_freebsd_load_elf_meta): Likewise.
28113
8c4a72d4
BC
281142010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28115
28116 Fix for escaped dollar in double quoted strings.
28117
28118 * script/yylex.l: Updated flex rules.
28119 * conf/tests.rmk: Rule for new testcase.
28120 * tests/grub_script_dollar.in: New testcase.
28121
ce44826e
CPE
281222010-04-13 Carles Pina i Estany <carles@pina.cat>
281232010-04-13 Colin Watson <cjwatson@ubuntu.com>
28124
28125 Enclose all translated strings in grub.cfg in single quotes, and
28126 escape them appropriately (Ubuntu bug #552921).
28127
28128 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28129 * util/grub.d/10_hurd.in: Use it.
28130 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28131 * util/grub.d/10_linux.in (linux_entry): Likewise.
28132
4b0cd8f8
VS
281332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 Fix cygwin compilation.
28136
28137 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28138 * include/grub/misc.h (__register_frame_info)
28139 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28140 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28141 * kern/misc.c (__register_frame_info)
28142 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28143 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28144
01fcf061
VS
281452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28146
28147 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28148
5d04b11e
VS
281492010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 Unify libgcc processing.
28152
28153 * Makefile.in (kernel_img_LDFLAGS): New variable.
28154 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28155 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28156 overwriting.
28157 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28158 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28159 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28160 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28161 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28162 overwriting. Remove -lgcc and -static-libgcc
28163 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28164 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28165 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28166 (kernel_img_LDFLAGS): Append instead of overwriting.
28167 Remove -lgcc and -static-libgcc
28168 * conf/sparc64-ieee1275.rmk: Likewise.
28169 * include/grub/powerpc/libgcc.h: Move to ...
28170 * include/grub/libgcc.h: .. this.
28171 * include/grub/libgcc.h: Don't export most of the function on x86.
28172 (__bswapsi2): New export.
28173 (__bswapdi2): Likewise.
28174 * include/grub/mips/libgcc.h: Removed.
28175 * include/grub/sparc64/libgcc.h: Likewise.
28176
b7f3ac29
VS
281772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28180 disk_info_msg (conflicts with gettexting into languages with cases).
28181
2c7031b1
GS
281822010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28183
28184 Add grub-probe support for NetBSD.
28185
28186 * util/getroot.c (find_root_device): Convert block device to
28187 character device on NetBSD.
28188 * util/probe.c (probe): Require character device on NetBSD.
28189 * util/hostdisk.c: NetBSD specific headers.
28190 (configure_device_driver): new function to tune device driver
28191 parameters (currently only for NetBSD floppy driver).
28192 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28193 via disklabel ioctl).
28194 (open_device): call configure_device_driver on NetBSD.
28195 (convert_system_partition_to_system_disk): NetBSD specific code.
28196 (device_is_wholedisk): Likewise.
28197 (grub_util_biosdisk_get_grub_dev): Likewise.
28198 (make_device_name): Fixed a typo in bsd_part_str.
28199 * configure.ac: check for opendisk() and getrawpartition() on
28200 NetBSD and set LIBUTIL.
28201 * Makefile.in: add LIBUTIL to LIBS.
28202
f516290c
BC
282032010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28204
28205 Documentation fix.
28206
28207 * util/grub-script-check.c: Better help message.
28208
d8dcc0df
BC
282092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28210
28211 Fix FreeBSD build.
28212
28213 * configure.ac: Flex version check.
28214 * conf/common.rmk: Add -Wno-error to sh.mod.
28215 * script/yylex.l: Remove all #pragma.
28216
6734334a
VS
282172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28218
28219 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28220 prototype.
28221 Reported by: Seth Goldberg.
28222
daea6abd
VS
282232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28224
28225 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28226 Rename "module" to "module2".
28227 Reported by: Seth Goldberg.
28228
f2fd9d2b
VS
282292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28230
28231 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28232 EXPORT_FUNC.
28233 Reported by: Seth Goldberg.
28234
be124579
VS
282352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * lib/posix_wrap/locale.h: Add missing file.
28238 Reported by: Seth Goldberg.
28239
ef5da797
VS
282402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 grub-emu module load support.
28243
28244 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28245 NO_DYNAMIC_MODULES switched to this.
28246 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28247 (CFLAGS): Likewise.
28248 * conf/any-emu.rmk: Generate symlist.
28249 (kernel_img_HEADERS): Add util/datetime.h.
28250 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28251 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28252 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28253 kern/$(target_cpu)/cache.S.
28254 * configure.ac (grub-emu-modules): New option.
28255 * genmk.rb: Handle multiple source lists.
28256 * include/grub/sdl.h: New file.
28257 * include/grub/libusb.h: Likewise.
28258 * util/grub-emu.c (main): Hanle (host) root.
28259 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28260 GRUB_ERR_UNKNOWN_DEVICE.
28261 * util/misc.c: Move mm functions to ...
28262 * util/mm.c: ... here. All users updated.
28263
47822096
VS
282642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28267 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28268 missing files.
28269 (maintainer-clean): Remove libgcrypt-grub.
28270
5d7e7445
VS
282712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28272
28273 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28274
25f4e252
EC
282752010-04-09 EFI Coder <eficoder@hotmail.com>
28276
28277 * normal/menu_text.c (print_message): Clean up the message and show
28278 the Fn information when on EFI
28279 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28280
027de555
VS
282812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28284 All users updated.
28285 * normal/crypto.c (read_crypto_list): Likewise.
28286 * normal/dyncmd.c (read_command_list): Likewise.
28287 * normal/term.c (read_terminal_list): Likewise.
28288 * normal/main.c (read_lists): Use explicit prefix.
28289 (read_lists_hook): Use read_lists.
28290 (grub_normal_execute): Likewise.
28291
47779711
VS
282922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28295 Reported by: Thomas Schmitt.
28296 Add -no-emul-boot to grub-mkisofs parameters.
28297
1118c32e
VS
282982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 * font/font.c: Indented.
28301
7d652447
BC
283022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28303
28304 Elif support to GRUB script (by Deepak Vankadaru).
28305
28306 * tests/grub_script_if.in: New testcase.
28307 * conf/tests.rmk: Rule for new testcase.
28308 * script/parser.y: Grammar rules for elif.
28309
34bb22df
BC
283102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28311
28312 While and until loops support to GRUB script.
28313
28314 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28315 (grub_script_create_cmdwhile): New function prototype.
28316 (grub_script_execute_cmdwhile): New function prototype.
28317 * script/execute.c (grub_script_execute_cmdwhile): New function.
28318 * script/parser.y (command): New commands.
28319 (whilecmd): New grammar rule.
28320 (untilcmd): New grammar rule.
28321 * script/script.c (grub_script_create_cmdwhile): New function.
28322 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28323 function.
28324
28325 * tests/grub_script_while1.in: New testcase.
28326 * conf/tests.rmk: Rule for new testcase.
28327
e215d8e0
VS
283282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28331 as *.jpg.
28332
d7c43ba1
MV
283332010-04-09 Mario Vazquez <mariovazq@gmail.com>
28334
28335 GRUB_BACKGROUND support.
28336
28337 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28338 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28339
d64795c0
VS
283402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28341
28342 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28343 Idea by: Mario Vazquez
d64795c0
VS
28344
28345 * util/grub.d/00_header.in: Load pf2 and image modules.
28346
f267f83a
VS
283472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28348
28349 grub-mkconfig multiple terminal support.
28350
28351 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28352 * util/grub.d/00_header.in: Likewise.
28353
b7841ceb
VS
283542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28355
28356 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28357 we use cd $(srcdir).
28358
df60998c
CW
283592010-04-08 Colin Watson <cjwatson@ubuntu.com>
28360
28361 * util/grub.d/10_linux.in: Only use the first word of
28362 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28363 spaces in GRUB_DISTRIBUTOR.
28364 * util/grub.d/10_kfreebsd.in: Likewise.
28365 * util/grub.d/10_hurd.in: Likewise.
28366
fa09c82e
BC
283672010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28368
14e18ae3 28369 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28370
28371 * tests/util/grub-shell.in: Remove -serial stdio option.
28372
daf892b3
BC
283732010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 POSIX header file wrappers.
28376
28377 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28378 equivalents.
28379 * lib/posix_wrap/ctype.h: Likewise.
28380 * lib/posix_wrap/errno.h: Likewise.
28381 * lib/posix_wrap/langinfo.h: Likewise.
28382 * lib/posix_wrap/limits.h: Likewise.
28383 * lib/posix_wrap/localcharset.h: Likewise.
28384 * lib/posix_wrap/stdint.h: Likewise.
28385 * lib/posix_wrap/stdio.h: Likewise.
28386 * lib/posix_wrap/stdlib.h: Likewise.
28387 * lib/posix_wrap/string.h: Likewise.
28388 * lib/posix_wrap/sys/types.h: Likewise.
28389 * lib/posix_wrap/unistd.h: Likewise.
28390 * lib/posix_wrap/wchar.h: Likewise.
28391 * lib/posix_wrap/wctype.h: Likewise.
28392 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28393 (grub_script.yy.h): Likewise.
28394 * script/yylex.l: Remove POSIX emulation #defines.
28395 * Makefile.in (POSIX_CFLAGS): New variable.
28396 (GNULIB_UTIL_CFLAGS): Likewise.
28397
28398 Regexp support.
28399
28400 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28401 (regexp_mod_SOURCES): New variable.
28402 (regexp_mod_CFLAGS): Likewise.
28403 (regexp_mod_LDFLAGS): Likewise.
28404 * commands/regexp.c: New file.
28405 * gnulib/regcomp.c: New file. Imported from gnulib.
28406 * gnulib/regex.c: Likewise.
28407 * gnulib/regex_internal.c: Likewise.
28408 * gnulib/regex_internal.h: Likewise.
28409 * gnulib/regexec.c: Likewise.
28410 * gnulib/regex.h: Likewise.
28411
974ac4f7
VS
284122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28415 unsupported video mode types.
28416
2622c3ff
VS
284172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28420
064cb524
VS
284212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28422
28423 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28424 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28425
a8c3b552
VS
284262010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 Remove unused grub_vga_get_font.
28429
28430 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28431 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28432
187bbe3d
GS
284332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28434
28435 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28436 * include/grub/misc.h: Likewise.
28437
b9396631
GS
284382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28439
28440 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28441 for which failure is fatal.
28442
50479feb
GS
284432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28444
28445 * util/grub-install.in: Use mkdir -p to create grub directory.
28446 * util/i386/efi/grub-install.in: Likewise.
28447 * util/ieee1275/grub-install.in: Likewise.
28448
b1654fdf
GS
284492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28450
28451 * Makefile.in (LEX): new variable.
28452
bd5a6415
GS
284532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28454
28455 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28456 `=' and added double quotes on operands of this equality test.
28457
3db3a82b
VS
284582010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28459
28460 * Makefile.in (uninstall): Remove a leftover debug echo.
28461 Reported by: Grégoire Sutre
28462
38023412
VS
284632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28464
28465 MIPS multiboot2 support.
28466
28467 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28468 (multiboot2_mod_SOURCES): New variable.
28469 (multiboot2_mod_CFLAGS): Likewise.
28470 (multiboot2_mod_LDFLAGS): Likewise.
28471 (multiboot2_mod_ASFLAGS): Likewise.
28472 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28473 definition.
28474 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28475 (MULTIBOOT_MBI_REGISTER): Likewise.
28476 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28477 (MULTIBOOT_ELF32_MACHINE): Likewise.
28478 (MULTIBOOT_ELF64_MACHINE): Likewise.
28479 * include/grub/mips/multiboot.h: New file.
28480 * include/grub/video.h (grub_video_driver_id): New type
28481 GRUB_VIDEO_DRIVER_SM712.
28482 (grub_video_get_info_and_fini): Export.
28483 (grub_video_get_palette): Likewise.
28484 (grub_video_get_driver_id): Likewise.
28485 * include/multiboot2.h: Resynced with spec.
28486 * loader/i386/multiboot.c: Moved from here ...
28487 * loader/multiboot.c: ... here. All users updated.
28488 (grub_multiboot_boot): Use platform-specific macros.
28489 * loader/i386/multiboot_elfxx.c: Moved from here ...
28490 * loader/multiboot_elfxx.c: ... here. All users updated.
28491 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28492 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28493 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28494
47674667
VS
284952010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28496
28497 Import gnulib argp module.
28498
28499 * gnulib/argp-ba.c: New file.
28500 * gnulib/argp-eexst.c: Likewise.
28501 * gnulib/argp-fmtstream.c: Likewise.
28502 * gnulib/argp-fmtstream.h: Likewise.
28503 * gnulib/argp-fs-xinl.c: Likewise.
28504 * gnulib/argp-help.c: Likewise.
28505 * gnulib/argp-namefrob.h: Likewise.
28506 * gnulib/argp-parse.c: Likewise.
28507 * gnulib/argp-pin.c: Likewise.
28508 * gnulib/argp-pv.c: Likewise.
28509 * gnulib/argp-pvh.c: Likewise.
28510 * gnulib/argp-version-etc.c: Likewise.
28511 * gnulib/argp-version-etc.h: Likewise.
28512 * gnulib/argp-xinl.c: Likewise.
28513 * gnulib/argp.h: Likewise.
28514
495442ed
VS
285152010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 * kern/device.c (grub_device_iterate): Clear errors after failed
28518 opening device.
28519
f9fd65df
VS
285202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28521
28522 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28523 returned by firmware.
28524
af09641e
VS
285252010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28528 compilation on coreboot and qemu
28529
016883a5
VS
285302010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 * include/multiboot2.h: Resync with spec.
28533
f97e1f7d
VS
285342010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28535
28536 Multiboot2 tag support
28537
28538 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28539 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28540 Remove loader/multiboot_loader.c.
28541 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28542 (grub_multiboot2_real_boot): Likewise.
28543 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28544 (grub_get_multiboot_mmap_count): New proto.
28545 (grub_fill_multiboot_mmap): Likewise.
28546 (grub_multiboot_set_video_mode): Likewise.
28547 (grub_multiboot_set_console): Likewise.
28548 (grub_multiboot_load): Likewise.
28549 (grub_multiboot_load_elf): Likewise.
28550 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28551 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28552 * include/multiboot.h: Resynced with specification.
28553 * include/multiboot2.h: Resynced with specification.
28554 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28555 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28556 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28557 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28558 users updated.
28559 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28560 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28561 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28562 Removed.
28563 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28564 Moved from here...
28565 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28566 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28567 Moved from here...
28568 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28569 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28570 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28571 All users updated.
28572 * loader/i386/multiboot_mbi2.c: New file.
28573
3506b90b
VS
285742010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 Resync with gnulib.
28577
28578 * Makefile.in (GNULIB_CFLAGS): New variable.
28579 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28580 (grub_script_check_CFLAGS): New variable.
28581 * gnulib/alloca.h: Resync with gnulib.
28582 * gnulib/error.c: Likewise.
28583 * gnulib/error.h: Likewise.
28584 * gnulib/fnmatch.c: Likewise.
28585 * gnulib/fnmatch_loop.c: Likewise.
28586 * gnulib/getdelim.c: Likewise.
28587 * gnulib/getline.c: Likewise.
28588 * gnulib/getopt.c: Likewise.
28589 * gnulib/getopt1.c: Likewise.
28590 * gnulib/getopt_int.h: Likewise.
28591 * gnulib/gettext.h: Likewise.
28592 * gnulib/progname.c: Likewise.
28593 * gnulib/progname.h: Likewise.
28594
394a3120
GS
285952010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28596
28597 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28598 which is the case with --disabled-nls.
28599
28600 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28601 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28602 * util/misc.c: Likewise.
28603 * util/mkisofs/mkisofs.c: Likewise.
28604 * util/mkisofs/mkisofs.h: Likewise.
28605
969d1c78
VS
286062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28607
28608 Simplify Apple CC support.
28609
28610 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28611 Add 0 byte at the end not to have a symbol with empty target.
28612 * mmap/i386/pc/mmap_helper.S: Likewise.
28613 * genmk.rb: Ignore errors 2030 and 2050.
28614 * kern/i386/pc/startup.S: Use LOCAL when possible.
28615
8d2977bb
BC
286162010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28617
28618 Testcase and the fix for final semicolon on cmdline.
28619
28620 * tests/grub_script_final_semicolon.in: New testcase.
28621 * conf/tests.rmk: Rules for the new testcase.
28622 * script/parser.y: Grammar fix.
28623
a7bd6915
BC
286242010-03-26 BVK Chaitanya <bvk@localhost>
28625
28626 Blank lines testcase for GRUB script.
28627
28628 * tests/grub_script_blanklines.in: New testcase.
28629 * conf/tests.rmk: Rules for the new testcase.
28630
e4ff6628
VS
286312010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28632
28633 Don't use __FILE__.
28634
28635 * genmk.rb: Add -DGRUB_FILE to all C targets.
28636 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28637 * include/grub/list.h: Likewise.
28638 * include/grub/misc.h: Likewise.
28639 * include/grub/mm.h: Likewise.
28640 * include/grub/test.h: Likewise.
28641 * kern/mm.c: Likewise.
28642 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28643
6a5cf6b6
VS
286442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28645
28646 Sunpc partitions support.
28647
28648 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28649 (grub_fstest_SOURCES): Likewise.
28650 (pkglib_MODULES): Add part_sunpc.mod.
28651 (part_sunpc_mod_SOURCES): New variable.
28652 (part_sunpc_mod_CFLAGS): Likewise.
28653 (part_sunpc_mod_LDFLAGS): Likewise.
28654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28655 * partmap/sunpc.c: New file.
28656
746d9045
BC
286572010-03-26 BVK Chaitanya <bvk@localhost>
28658
28659 For loop support to GRUB script.
28660
28661 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28662 (grub_script_create_cmdfor): New function prototype.
28663 (grub_script_execute_cmdfor): New function prototype.
28664 * script/execute.c (grub_script_execute_cmdfor): New function.
28665 * script/parser.y (command): New for command.
28666 (forcmd): New grammar rule.
28667 * script/script.c (grub_script_create_cmdfor): New function.
28668 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28669 function.
28670 * tests/grub_script_for1.in: New testcase.
28671 * conf/tests.rmk: Rules for new testcase.
28672
18486b18
VS
286732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 Nested partitions
28676
28677 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28678 'partition' is NULL, grub_partition_get_start already does that.
28679 * commands/loadenv.c (check_blocklists): Likewise.
28680 (write_blocklists): Likewise.
28681 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28682 (grub_fstest_SOURCES): Likewise.
28683 (pkglib_MODULES): Add part_bsd.mod.
28684 (part_bsd_mod_SOURCES): New variable.
28685 (part_bsd_mod_CFLAGS): Likewise.
28686 (part_bsd_mod_LDFLAGS): Likewise.
28687 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28688 (grub_emu_SOURCES): Likewise.
28689 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28690 * include/grub/bsdlabel.h: New file.
28691 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28692 'get_name'.
28693 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28694 (grub_partition_map_list): New variable.
28695 (grub_partition_map_register): Inline.
28696 (grub_partition_map_unregister): Likewise.
28697 (FOR_PARTITION_MAPS): New macro.
28698 (grub_partition_map_iterate): Removed.
28699 (grub_partition_get_start): Handle nested partitions.
28700 * include/grub/msdos_partition.h: Remove bsd-related entries.
28701 (grub_pc_partition): Remove.
28702 * kern/disk.c (grub_disk_close): Free partition data.
28703 (grub_disk_adjust_range): Handle nested partitions.
28704 * kern/partition.c (grub_partition_map_probe): New function.
28705 (grub_partition_probe): Parse name to number, handle subpartitions.
28706 (get_partmap): New function.
28707 (grub_partition_iterate): Handle subpartitions.
28708 (grub_partition_get_name): Likewise.
28709 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28710 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28711 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28712 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28713 Set 'number'.
28714 (acorn_partition_map_probe): Remove.
28715 (acorn_partition_map_get_name): Likewise.
28716 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28717 Set 'number'.
28718 Set 'index' to 0 since there can be only one partition entry per sector.
28719 (amiga_partition_map_probe): Remove.
28720 (amiga_partition_map_get_name): Likewise.
28721 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28722 Set 'number'.
28723 Set 'offset' and 'index' to real positions of partitions.
28724 (apple_partition_map_probe): Remove.
28725 (apple_partition_map_get_name): Likewise.
28726 * partmap/bsdlabel.c: New file.
28727 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28728 Set 'number'.
28729 Allocate 'data' so it can be correctly freed.
28730 Set 'index' to offset inside sector.
28731 (gpt_partition_map_probe): Remove.
28732 (gpt_partition_map_get_name): Likewise.
28733 * partmap/msdos.c (grub_partition_parse): Remove.
28734 (pc_partition_map_iterate): Don't force raw access.
28735 Set 'number'.
28736 Make 'ext_offset' a local variable.
28737 (pc_partition_map_probe): Remove.
28738 (pc_partition_map_get_name): Remove.
28739 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28740 Set 'number'.
28741 (sun_partition_map_probe): Remove.
28742 (sun_partition_map_get_name): Likewise.
28743 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28744 (grub_pcpart_type): Likewise.
28745 * util/hostdisk.c (open_device): Handle new numbering scheme.
28746 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28747 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28748 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28749 * util/grub-install.in: Insert all subpartition modules.
28750 * util/ieee1275/grub-install.in: Likewise.
28751
a3940f88
AG
287522010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28753
28754 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28755 grammar.
28756
21b99926 287572010-03-24 Colin Watson <cjwatson@ubuntu.com>
28758
28759 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28760
bed1d352
CW
287612010-03-21 Colin Watson <cjwatson@ubuntu.com>
28762
28763 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28764 match where 'make install' puts them.
28765 * util/i386/efi/grub-install.in: Likewise.
28766
c9f58427
CW
287672010-03-19 Colin Watson <cjwatson@ubuntu.com>
28768
28769 * .bzrignore: Add gentrigtables, grub-script-check,
28770 grub_script_check_init.c, grub_script_check_init.h, and
28771 trigtables.c.
28772
f84afb27
VS
287732010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28774
28775 * kern/parser.c: Indented.
28776
ed0e3d30
VS
287772010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28778
28779 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28780
0ea81d98
VS
287812010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28782
28783 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28784 alpha_mask_size == 0 case.
28785
0cdc2a09
BC
287862010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28787
28788 GRUB shell lexer and parser improvements.
28789
28790 * conf/any-emu.rmk: Build rule updates.
28791 * conf/common.rmk: Likewise.
28792 * conf/i386-coreboot.rmk: Likewise.
28793 * conf/i386-efi.rmk: Likewise.
28794 * conf/i386-ieee1275.rmk: Likewise.
28795 * conf/i386-pc.rmk: Likewise.
28796 * conf/powerpc-ieee1275.rmk: Likewise.
28797 * conf/x86_64-efi.rmk: Likewise.
28798
28799 * configure.ac: Configure check for flex.
28800
28801 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28802 types.
28803 (grub_lexer_param): Struct member updates.
28804 (grub_parser_param): Likewise.
28805 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28806 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28807 (grub_script_lexer_init): Prototype update.
28808 (grub_script_lexer_record_start): Likewise.
28809 (grub_script_lexer_record_stop): Likewise.
28810 (grub_script_lexer_yywrap): New function prototype.
28811 (grub_script_lexer_fini): Likewise.
28812 (grub_script_execute_argument_to_string): Removed by...
28813 (grub_script_execute_argument_to_argv): ...better version.
28814
28815 * script/execute.c (ROUND_UPTO): New macro.
28816 (grub_script_execute_cmdline): Out of memory fixes.
28817 (grub_script_execute_menuentry): Likewise.
28818 (grub_script_execute_argument_to_string): Removed. Update all
28819 users by...
28820 (grub_script_execute_argument_to_argv): ...better version.
28821 * script/function.c (grub_script_function_create): Use
28822 grub_script_execute_argument_to_argv instead of
28823 grub_script_execute_argument_to_string.
28824
28825 * script/lexer.c (check_varstate): Removed.
28826 (check_textstate): Removed.
28827 (grub_script_lexer_record_start): Likewise.
28828 (grub_script_lexer_record_stop): Likewise.
28829 (recordchar): Replaced with...
28830 (grub_script_lexer_record): ...new function.
28831 (nextchar): Removed.
28832 (grub_script_lexer_init): Rewritten.
28833 (grub_script_yylex): Rewritten.
28834 (append_newline): New function.
28835 (grub_script_lexer_yywrap): New function.
28836 (grub_script_lexer_fini): New function.
28837 (grub_script_yyerror): Sets error flag.
28838
28839 * script/yylex.l: New file.
28840 (grub_lexer_yyfree): Wrapper for flex yyffre.
28841 (grub_lexer_yyalloc): Likewise.
28842 (grub_lexer_yyrealloc): Likewise.
28843 * script/parser.y: Refactored.
28844
28845 * script/script.c (grub_script_arg_add): Out of memory fixes.
28846 (grub_script_add_arglist): Likewise.
28847 (grub_script_create_cmdline): Likewise.
28848 (grub_script_create_cmdmenu): Likewise.
28849 (grub_script_add_cmd): Likewise.
28850 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28851 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28852 unnecessary code.
28853
28854 * tests/grub_script_echo1.in: New testcase.
28855 * tests/grub_script_vars1.in: New testcase.
28856 * tests/grub_script_echo_keywords.in: New testcase.
28857
1d63a066
VS
288582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28859
28860 Remove some redundancy in build system.
28861
28862 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28863 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28864 (TARGET_LDFLAGS): Add -nostdlib.
28865 (TARGET_IMG_LDFLAGS): Likewise.
28866 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28867 anything since mmap isn't available.
28868 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28869 Add util/time.c.
28870 (pkglib_MODULES): Remove reboot.mod.
28871 (reboot_mod_SOURCES): Removed.
28872 (reboot_mod_CFLAGS): Likewise.
28873 (reboot_mod_LDFLAGS): Likewise.
28874 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28875 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28876 (DEFSYMFILES): Add kernel_syms.lst.
28877 (kernel_img_HEADERS): Add common headers.
28878 (symlist.c): New target.
28879 (kernel_syms.lst): Likewise.
28880 (pkglib_MODULES): Add memdisk.mod.
28881 (memdisk_mod_SOURCES): New variable.
28882 (memdisk_mod_CFLAGS): Likewise.
28883 (memdisk_mod_LDFLAGS): Likewise.
28884 (pkglib_MODULES): Add reboot.mod.
28885 (reboot_mod_SOURCES): New variable.
28886 (reboot_mod_CFLAGS): Likewise.
28887 (reboot_mod_LDFLAGS): Likewise.
28888 (pkglib_MODULES): Add date.mod.
28889 (date_mod_SOURCES): New variable.
28890 (date_mod_CFLAGS): Likewise.
28891 (date_mod_LDFLAGS): Likewise.
28892 (pkglib_MODULES): Add datehook.mod.
28893 (datehook_mod_SOURCES): New variable.
28894 (datehook_mod_CFLAGS): Likewise.
28895 (datehook_mod_LDFLAGS): Likewise.
28896 (pkglib_MODULES): Add lsmmap.mod.
28897 (lsmmap_mod_SOURCES): New variable.
28898 (lsmmap_mod_CFLAGS): Likewise.
28899 (lsmmap_mod_LDFLAGS): Likewise.
28900 (pkglib_MODULES): Add boot.mod.
28901 (boot_mod_SOURCES): New variable.
28902 (boot_mod_CFLAGS): Likewise.
28903 (boot_mod_LDFLAGS): Likewise.
28904 * conf/i386-coreboot.rmk: Removed redundant parts.
28905 * conf/i386-ieee1275.rmk: Likewise.
28906 * conf/i386-pc.rmk: Likewise.
28907 * conf/mips-yeeloong.rmk: Likewise.
28908 * conf/mips.rmk: Likewise.
28909 * conf/powerpc-ieee1275.rmk: Likewise.
28910 * conf/sparc64-ieee1275.rmk: Likewise.
28911 * conf/x86_64-efi.rmk: Likewise.
28912 * conf/i386-coreboot.rmk: Moved qemu parts ..
28913 * conf/i386-qemu.rmk: ... here
28914 * conf/i386-efi.rmk: Moved common parts to...
28915 * conf/x86-efi.rmk: ... here.
28916 * conf/i386.rmk: Added modules common to all x86 variants.
28917 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28918 * disk/memdisk.c: Remove grub/machine/kernel.h.
28919 * gensymlist.sh.in: Include symbol.h.
28920 * hook/datehook.c: Correct module name.
28921 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28922 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28923 * include/grub/i386/efi/serial.h: New file.
28924 * include/grub/x86_64/efi/serial.h: Likewise.
28925 * util/time.c: Likewise.
28926 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28927
463ac55f
CK
289282010-03-14 Colin King <colin.king@ubuntu.com>
289292010-03-14 Colin Watson <cjwatson@ubuntu.com>
28930
28931 Shrink the pre-partition-table part of boot.img by eight bytes.
28932
28933 * boot/i386/pc/boot.S (ERR): New macro.
28934 (chs_mode): Use ERR.
28935 (geometry_error): Likewise.
28936 (hd_probe_error): Remove. This is only used once, so we wrwite
28937 it inline instead.
28938 (read_error): Instead of printing read_error_string, just set up
28939 %si and fall through to ...
28940 (error_message): ... this new function, also used by ERR.
28941
08e46ede
CW
289422010-03-14 Colin Watson <cjwatson@ubuntu.com>
28943
28944 Speed up consecutive hostdisk operations on the same device.
28945
28946 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28947 (grub_util_biosdisk_open): Initialise disk->data.
28948 (struct linux_partition_cache): New structure.
28949 (linux_find_partition): Cache partition start positions; these are
28950 expensive to compute on every read and write.
28951 (open_device): Cache open file descriptor in disk->data, so that we
28952 don't have to reopen it and flush the buffer cache for consecutive
28953 operations on the same device.
28954 (grub_util_biosdisk_close): New function.
28955 (grub_util_biosdisk_dev): Set `close' member.
28956
28957 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28958 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28959 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28960 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28961 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28962
4a6d2d06
VS
289632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28964
28965 Compile parts of grub-emu as modules.
28966
28967 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28968 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28969 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28970 (all-local): Add $(GRUB_EMU).
28971 (install-local): Install $(GRUB_EMU).
28972 (uninstall): Uninstall $(GRUB_EMU).
28973 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28974 * kern/dl.c: Likewise.
28975 * commands/sleep.c: Not include machine/time.h.
28976 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28977 (COMMON_CFLAGS): Likewise.
28978 (sbin_UTILITIES): Remove grub-emu.
28979 (grub_emu_SOURCES): Removed.
28980 (kernel_img_RELOCATABLE): New variable.
28981 (pkglib_PROGRAMS): Add kernel.img.
28982 (kernel_img_SOURCES): New variable
28983 (kernel_img_CFLAGS): Likewise.
28984 (kernel_img_LDFLAGS): Likewise.
28985 (TARGET_NO_STRIP): Likewise.
28986 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28987 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28988 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28989 (grub-emu): New target.
28990 (GRUB_EMU): New variable.
28991 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28992 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28993 * loader/xnu.c: Likewise.
28994 * include/grub/pci.h: Likewise.
28995 * genemuinit.sh: New file.
28996 * genemuinitheader.sh: Likewise.
28997 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28998 Support TARGET_NO_DYNAMIC_MODULES.
28999 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29000 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29001 * disk/loopback.c: Likewise.
29002 * font/font_cmd.c: Likewise.
29003 * partmap/acorn.c: Likewise.
29004 * partmap/amiga.c: Likewise.
29005 * partmap/apple.c: Likewise.
29006 * partmap/gpt.c: Likewise.
29007 * partmap/msdos.c: Likewise.
29008 * partmap/sun.c: Likewise.
29009 * parttool/msdospart.c: Likewise.
29010 * term/gfxterm.c: Likewise.
29011 * video/bitmap.c: Likewise.
29012 * video/readers/jpeg.c: Likewise.
29013 * video/readers/png.c: Likewise.
29014 * video/readers/tga.c: Likewise.
29015 * video/video.c: Likewise.
29016 * util/grub-emu.c (read_command_list): Removed.
29017 (main): Don't call util_init_nls.
29018 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29019 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29020
91fdd2ed
VS
290212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29024 date.mod, datehook.mod.
29025 (datetime_mod_SOURCES): New variable.
29026 (datetime_mod_CFLAGS): Likewise.
29027 (datetime_mod_LDFLAGS): Likewise.
29028 (date_mod_SOURCES): Likewise.
29029 (date_mod_CFLAGS): Likewise.
29030 (date_mod_LDFLAGS): Likewise.
29031 (datehook_mod_SOURCES): Likewise.
29032 (datehook_mod_CFLAGS): Likewise.
29033 (datehook_mod_LDFLAGS): Likewise.
29034 * conf/sparc64-ieee1275.rmk: Likewise.
29035 * lib/ieee1275/datetime.c: New file.
29036
873ccae6
VS
290372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29038
29039 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29040 (ieee1275_fb_mod_SOURCES): New variable.
29041 (ieee1275_fb_mod_CFLAGS): Likewise.
29042 (ieee1275_fb_mod_LDFLAGS): Likewise.
29043 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29044 New proto.
29045 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29046 (HEAP_MAX_ADDR): Likewise.
29047 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29048 type.
29049 Correct stop condition.
29050 (grub_ieee1275_devices_iterate): New function.
29051 * video/ieee1275.c: New file.
29052
601c97c0
VS
290532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29054
29055 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29056
29057 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29058 as scratch.
29059 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29060 SCRATCH_PAD_DISKBOOT as scratch.
29061 (bootit): Pass Openfirmware pointer in %o4.
29062 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29063 of 0x200000.
29064 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29065 with util/grub-mkrawimage.c.
29066 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29067 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29068 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29069 (grub_aout_load) [GRUB_UTIL]: Likewise.
29070 * include/grub/kernel.h (grub_modules_get_end): New proto.
29071 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29072 (SCRATCH_PAD_BOOT): New definition.
29073 (SCRATCH_PAD_DISKBOOT): Likewise.
29074 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29075 * include/grub/sparc64/ieee1275/ieee1275.h
29076 (grub_ieee1275_original_stack): New variable
29077 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29078 New definition
29079 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29080 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29081 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29082 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29083 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29084 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29085 (grub_platform_image_format_t): New type.
29086 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29087 * kern/main.c (grub_modules_get_end)
29088 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29089 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29090 (codestart): Switch stacks.
29091 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29092 variable.
29093 (grub_heap_init): Use grub_modules_get_end.
29094 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29095 stack.
29096 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29097 (main): Likewise.
29098 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29099
d68b491e
TG
291002010-03-14 Thorsten Glaser <tg@mirbsd.org>
29101
29102 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29103
4e02ed50
MK
291042010-03-08 Matt Kraai <kraai@ftbfs.org>
29105
29106 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29107 bug #559005).
29108
1f15fc1e
VS
291092010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29110
29111 * genmoddep.awk: Output all missing symbols and not only first.
29112
fce5d8ff
VS
291132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29114
29115 * NEWS: Put the date of 1.98 release.
29116
d1e8a02f
VS
291172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29118
29119 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29120 ft2build.h.
29121
696fd607
VS
291222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29123
29124 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29125 completition in the middle of string.
29126
33e2e6f3
VS
291272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 * util/grub-mkrescue.in: Use mktemp with explicit template.
29130
b1f6d291
VS
291312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29132
29133 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29134
2ac227c7
VS
291352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29138 right pointer.
29139
8f9a632b
VS
291402010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29141
29142 Fix FreeBSD compilation.
29143
29144 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29145 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29146
60b03859
VS
291472010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29148
29149 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29150
48a5a769
VS
291512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29154
3ab4bd77
VS
291552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29158
d116e0d8
RM
291592010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29160
29161 Support relative image path in theme file.
29162
29163 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29164 (image_set_property): Handle theme_dir and relative path.
29165
c7ef54aa
VS
291662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * configure.ac: Alias amd64 to x86_64.
29169
fcee14ed
VS
291702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 * NEWS: mention multiboot on EFI.
29173
d0780363
VS
291742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29175
29176 * kern/main.c (grub_load_modules): Handle errors from init functions of
29177 embeded modules.
29178
41168ea4
VS
291792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29180
29181 * normal/autofs.c (autoload_fs_module): Handle errors.
29182
b54d93ac
VS
291832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29184
29185 Disable linux.mod on qemu-mips since it's not functional and leads
29186 to compilation failure.
29187
29188 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29189 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29190 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29191 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29192 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29193 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29194 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29195 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29196 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29197 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29198 Reported by: BVK Chaitanya
29199
fc8345da
JU
292002010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29201
29202 * INSTALL: Add gettext as a dependency and add qemu to a new section
29203 "Prerequisites for make-check".
29204
4760f979
CF
292052010-03-04 Christian Franke <franke@computer.org>
29206
29207 * util/grub-pe2elf.c: Add missing include "progname.h".
29208
f209b5b2
VS
292092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29210
29211 * normal/crypto.c (read_crypto_list): Fix a typo.
29212 Reported by: Seth Goldberg.
29213
b4b7be98
VS
292142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29215
29216 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29217 Reported by: Seth Goldberg.
b4b7be98 29218
c0ee0385
VS
292192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29220
29221 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29222 ascii.bitmaps.
29223
a8efbf64
VS
292242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29225
29226 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29227 Reported by: Seth Goldberg.
a8efbf64 29228
08dcd913
VS
292292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29230
29231 * util/i386/efi/grub-install.in: Copy gettext files.
29232
c4d0b332
VS
292332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29234
29235 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29236
c6f2fe52
VS
292372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29238
29239 Wait for user entry basing on presence of output rather than on errors.
29240
29241 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29242 (grub_install_newline_hook): Likewise.
29243 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29244 * normal/menu.c (show_menu): Check line_counter to determine presence
29245 of output.
29246 * normal/term.c (grub_normal_line_counter): New variable.
29247 (grub_normal_get_line_counter): New function.
29248 (grub_install_newline_hook): Likewise.
29249
5382b1e4
VS
292502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29253
5519963b
VS
292542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 * configure.ac: Update version to 1.98.
29257
72b28631
VS
292582010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29259
29260 * util/grub.d/10_linux.in (linux_entry): Don't default to
29261 gfxpayload=keep if Linux doesn't support video handover.
29262
c140a180
VS
292632010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 Don't compile video modules on yeeloong since video subsystem is part
29266 of kernel.
29267
29268 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29269 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29270 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29271 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29272 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29273 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29274 * include/grub/bitmap_scale.h: Likewise.
29275 * include/grub/bufio.h: Likewise.
29276 * include/grub/font.h: Likewise.
29277 * include/grub/gfxterm.h: Likewise.
29278 * include/grub/video.h: Likewise.
29279 * include/grub/vbe.h: Don't include video_fb.h.
29280 * video/i386/pc/vbe.c: Include video_fb.h.
29281 * commands/i386/pc/vbetest.c: Include video.h.
29282
a0ca21c2
CW
292832010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29284
29285 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29286 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29287 default entry if GRUB_SAVEDEFAULT=true. This allows using
29288 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29289 saving a new default on every boot.
29290
4a8a763c
VS
292912010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29292
29293 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29294 * normal/term.c (read_terminal_list): Likewise.
29295 * normal/main.c (grub_normal_init_page): Likewise.
29296 (grub_normal_read_line_real): Likewise.
29297
607ffde2
VS
292982010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29301 memory leak.
29302 Reported by: Seth Goldberg.
29303
2b8fa975
CW
293042010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29305
29306 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29307 duplicate declaration of `start'.
29308
618307dd
VS
293092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29310
29311 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29312 filename.
29313 Reported by: Georgy Buranov
29314
7dd05b96 293152010-02-20 Carles Pina i Estany <carles@pina.cat>
29316
29317 * util/grub-mkrawimage.c (usage): Change string formatting to
29318 improve gettext.
29319
d1484a42
MRA
293202010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29321
29322 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29323 backspace keys.
29324
42b1d186
VS
293252010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29326
29327 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29328 Reported by: Michael Suchanek.
29329
293302010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29331
29332 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29333 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29334
d9f31a41
VS
293352010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29336
29337 Remove any reference to non-free fonts.
29338
29339 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29340 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29341 uses non-free components.
29342 * font/font.c (grub_font_get_name): Remove example name.
29343 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29344 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29345 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29346 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29347
2793c71e
GB
293482010-02-16 Georgy Buranov <gburanov@gmail.com>
29349
29350 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29351
402e3779
VS
293522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29353
29354 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29355 Double divisor.
29356 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29357 features.
29358 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29359
0dd1e0dd
VS
293602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29361
29362 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29363
6fa7cfce
ST
293642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29365
29366 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29367 * docs/grub.texi (Command-line and menu entry commands): Document play
29368 command.
29369
37c8483b
ST
293702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29371
29372 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29373 parse arguments as inline tempo and notes. Move code for playing notes
29374 to...
29375 (play): ... new function.
29376
14da0fb7
ST
293772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29378
29379 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29380 grub_uint16_t instead of short.
29381 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29382 disk from little endian to cpu endianness.
29383
04459e70
ST
293842010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29385
29386 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29387 GRUB_TICKS_PER_SECOND instead of 120.
29388
a0876943
VS
293892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29390
29391 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29392 escape sequence after \e.
29393
e29f95dc
VS
293942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29397 non-ASCII characters.
29398
d27859b2
VS
293992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29400
29401 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29402 set root in single quotes to prevent \, from being unescaped.
29403
bc028f2f
VS
294042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29405
29406 Prevent unknown commands from stopping menuentry execution.
29407
29408 * script/execute.c (grub_script_execute_cmdline): Print error after
29409 unknown command.
29410
095f5f82
VS
294112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29412
29413 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29414 Reported by: Pavel Pisa.
29415
8c717950
VS
294162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29417
29418 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29419
904935c3
VS
294202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29421
29422 Merge grub_ieee1275_map_physical into grub_map and rename to
29423 grub_ieee1275_map
29424
29425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29426 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29427 Remove.
29428 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29429 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29430 necessary.
29431 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29432
5b59a4e3
VS
294332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29434
29435 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29436 opening and not after.
29437
69e137e8
VS
294382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29439
29440 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29441 constants.
29442
2c0fcc36
VS
294432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29444
29445 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29446 (alloc_phys): Use ALIGN_UP instead of align_addr.
29447
8c6052ce
VS
294482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29449
29450 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29451
17cec782
VS
294522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29453
29454 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29455
e0128bbd
VS
294562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29459 verbose dprintf.
29460
ca62070b
VS
294612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29462
29463 Fix over-4GiB seek on sparc64.
29464
29465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29466 Replace pos_i and pos_lo with pos. All users updated.
29467 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29468 New constant.
29469 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29470 Likewise.
29471 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29472 and pos_lo.
29473
bdca2607
VS
294742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 * util/grub-mkrawimage.c (main): Call set_program_name.
29477
da278c4d
VS
294782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29479
29480 Properly align 64-bit targets.
29481
29482 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29483 (generate_image): Use ALIGN_ADDR.
29484
b274d734
VS
294852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29486
29487 Properly create cross-endian images.
29488
29489 * include/grub/types.h (grub_host_to_target_addr): New macro
29490 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29491
82da2062
VS
294922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29493
29494 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29495
7cae4377
VS
294962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29497
29498 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29499
29500 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29501 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29502 (grub_linux_boot): Divide by 64K when on VESA.
29503
65a533e7
VS
295042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29505
29506 Support GRUB_GFXPAYLOAD_LINUX.
29507
29508 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29509 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29510
dd01d397
VS
295112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29512
29513 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29514 to show messages instead of discarding them.
29515 Process errors after executing command and not before. Keep old method
29516 too as precaution.
29517
660960d6
VS
295182010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29519
29520 * configure.ac: Check for ft2build.h.
29521
62509f04
VS
295222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29523
29524 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29525
473df63d
VS
295262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 * genkernsyms.sh.in: Use TARGET_CC.
29529
c98d2a13
CW
295302010-02-07 Colin Watson <cjwatson@ubuntu.com>
29531
29532 * NEWS: Update.
29533
6e14234c
VS
295342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29535
29536 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29537 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29538 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29539
b255e9cf
YB
295402010-02-07 Yves Blusseau <blusseau@zetam.org>
29541
6e14234c 29542 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29543
98e6959d
VS
295442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29545
29546 Fix warnings in grub-emu when compiling with maximum warning options.
29547
29548 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29549 (grub_arch_modules_addr): Return 0 and not NULL.
29550 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29551 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29552 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29553 of disk to dsk to avoid shadowing.
74e4934e
VS
29554 (find_free_slot): Fix prototype.
29555 * util/getroot.c (grub_util_is_dmraid): Make static.
29556 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29557 Add missing prototype.
29558 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29559
74e31b5c
VS
295602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29563 appropriately.
29564
6b2ad14b
VS
295652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29568 code out.
29569
8f891adc
VS
295702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29571
29572 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29573 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29574 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29575 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29576 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29577 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29578
74b45184
VS
295792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 * include/grub/err.h (grub_err_printf): Don't export.
29582
a4bced77
VS
295832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29584
29585 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29586
007d0695
VS
295872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29588
29589 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29590 * kern/misc.c (grub_gettext_dummy): Make static.
29591
b6c0d9c2
VS
295922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29593
29594 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29595 by non-valid ones.
29596 * kern/term.c (grub_putchar): Likewise.
29597
f51a90d0
VS
295982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29599
29600 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29601 buggy hook call and memory leak.
29602
6846cec5
VS
296032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29606
468d69fe
VS
296072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29608
29609 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29610
51906b8c
VS
296112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29612
29613 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29614 modevar.
29615 Return grub_errno on allocation error.
29616
09706ce5
VS
296172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29618
29619 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29620
911df80c
YB
296212010-02-06 Yves Blusseau <blusseau@zetam.org>
29622
29623 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29624 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29625
3746a6bc
VS
296262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29627
29628 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29629 non-pxe disk.
29630 (grub_pxefs_open): Likewise.
29631
09706ce5
VS
296322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29633
29634 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29635 * util/grub.d/10_kfreebsd.in: Likewise.
29636 * util/grub.d/10_linux.in: Likewise.
29637
7cc192d9
VS
296382010-02-06 Colin D Bennett <colin@gibibit.com>
29639
29640 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29641 (gfxmenu_mod_SOURCES): New variable.
29642 (gfxmenu_mod_CFLAGS): Likewise.
29643 (gfxmenu_mod_LDFLAGS): Likewise.
29644 * include/grub/term.h (grub_term_set_current_output): Declare
29645 argument as const.
29646 * docs/gfxmenu-theme-example.txt: New file.
29647 * gfxmenu/gfxmenu.c: Likewise.
29648 * gfxmenu/gui_box.c: Likewise.
29649 * gfxmenu/gui_canvas.c: Likewise.
29650 * gfxmenu/gui_circular_progress.c: Likewise.
29651 * gfxmenu/gui_image.c: Likewise.
29652 * gfxmenu/gui_label.c: Likewise.
29653 * gfxmenu/gui_list.c: Likewise.
29654 * gfxmenu/gui_progress_bar.c: Likewise.
29655 * gfxmenu/gui_string_util.c: Likewise.
29656 * gfxmenu/gui_util.c: Likewise.
29657 * gfxmenu/icon_manager.c: Likewise.
29658 * gfxmenu/model.c: Likewise.
29659 * gfxmenu/named_colors.c: Likewise.
29660 * gfxmenu/theme_loader.c: Likewise.
29661 * gfxmenu/view.c: Likewise.
29662 * gfxmenu/widget-box.c: Likewise.
29663 * include/grub/gfxmenu_model.h: Likewise.
29664 * include/grub/gfxmenu_view.h: Likewise.
29665 * include/grub/gfxwidgets.h: Likewise.
29666 * include/grub/gui.h: Likewise.
29667 * include/grub/gui_string_util.h: Likewise.
29668 * include/grub/icon_manager.h: Likewise.
29669
296702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29671
29672 Agglomerate scrolling in gfxterm.
29673
29674 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29675 (grub_virtual_screen_setup): Initialise 'total_screen'.
29676 (write_char): Split to ...
29677 (paint_char): ... this ...
29678 (write_char): ... and this.
29679 (paint_char): Handle delayed scrolling.
29680 (draw_cursor): Likewise.
29681 (scroll_up): Split to ...
29682 (real_scroll): ... this ...
29683 (scroll_up): ... and this.
29684 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29685 characters.
29686 (grub_gfxterm_refresh): Call real_scroll.
29687
296882010-02-06 Colin D Bennett <colin@gibibit.com>
29689
29690 * include/grub/misc.h (grub_iscntrl): New inline function.
29691 (grub_isalnum): Likewise.
29692 (grub_strtol): Likewise.
29693
296942010-02-06 Colin D Bennett <colin@gibibit.com>
29695
29696 * normal/menu_text.c (get_entry_number): Move from here ...
29697 * normal/menu.c (get_entry_number): ... moved here.
29698 * include/grub/menu.h (grub_menu_get_default_entry_index):
29699 New prototype.
29700 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29701 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29702 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29703 (grub_menu_viewer_should_return): Likewise.
29704 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29705 * normal/menu_text.c (run_menu): Enable menu switching.
29706 * normal/menu_viewer.c (should_return): New variable.
29707 (menu_viewer_changed): Likewise.
29708 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29709 (grub_menu_viewer_should_return): New function.
29710 (menuviewer_write_hook): Likewise.
29711 (grub_menu_viewer_init): Likewise.
29712
297132010-02-06 Colin D Bennet <colin@gibibit.com>
297142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29715
29716 Support for gfxterm in a window.
29717
29718 * include/grub/gfxterm.h: New file.
29719 * include/grub/video.h (struct grub_video_rect): New declaration.
29720 (grub_video_rect_t): Likewise.
29721 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29722 (refcount): New variable.
29723 (render_target): Likewise.
29724 (window): Likewise.
29725 (repaint_callback): Likewise.
29726 (grub_virtual_screen_setup): Use 'render_target'.
29727 (init_window): New function.
29728 (grub_gfxterm_init_window): Likewise.
29729 (grub_gfxterm_init): Check reference counter.
29730 Use init_window.
29731 (destroy_window): New function.
29732 (grub_gfxterm_destroy_window): Likewise.
29733 (grub_gfxterm_fini): Check reference counter.
29734 Use destroy_window.
29735 (redraw_screen_rect): Restore viewport.
29736 Use 'render_target' and 'window'.
29737 Call 'repaint_callback'.
29738 (write_char): Use 'render_target'.
29739 (draw_cursor): Likewise.
29740 (scroll_up): Restore viewport.
29741 Use 'render_target' and 'window'.
29742 Call 'repaint_callback'.
29743 (grub_gfxterm_cls): Likewise.
29744 (grub_gfxterm_refresh): Use 'window'.
29745 (grub_gfxterm_set_repaint_callback): New function.
29746 (grub_gfxterm_background_image_cmd): Use 'window'.
29747 (grub_gfxterm_get_term): New function.
29748 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29749
297502010-02-06 Colin D Bennett <colin@gibibit.com>
29751
29752 Bitmap scaling support.
29753
29754 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29755 (bitmap_scale_mod_SOURCES): New variable.
29756 (bitmap_scale_mod_CFLAGS): Likewise.
29757 (bitmap_scale_mod_LDFLAGS): Likewise.
29758 * include/grub/bitmap_scale.h: New file.
29759 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29760 (background_image_cmd_options): New variable.
29761 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29762 (cmd): Rename and change type to ...
29763 (background_image_cmd_handle): ... this. All users updated.
29764 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29765 * video/bitmap_scale.c: New file.
29766
297672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29768
29769 SDL support.
29770
29771 * Makefile.in (LIBSDL): New variable.
29772 (enable_grub_emu_sdl): Likewise.
29773 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29774 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29775 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29776 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29777 * util/sdl.c: New file.
29778
297792010-02-06 Colin D Bennett <colin@gibibit.com>
297802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29781
29782 Double buffering support.
29783
29784 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29785 * include/grub/video.h: Update comment.
29786 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29787 New type.
29788 (grub_video_fb_doublebuf_blit_init): New prototype.
29789 * term/gfxterm.c (scroll_up): Support double buffering.
29790 (grub_gfxterm_refresh): Likewise.
29791 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29792 (grub_video_fb_doublebuf_blit_init): Likewise.
29793 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29794 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29795 'displayed_page', 'render_page' and 'update_screen'.
29796 (grub_video_vbe_fini): Free offscreen buffer.
29797 (doublebuf_pageflipping_commit): New function.
29798 (doublebuf_pageflipping_update_screen): Likewise.
29799 (doublebuf_pageflipping_init): Likewise.
29800 (double_buffering_init): Likewise.
29801 (grub_video_vbe_setup): Enable doublebuffering.
29802 (grub_video_vbe_swap_buffers): Implement.
29803 (grub_video_vbe_set_active_render_target): Handle double buffering.
29804 (grub_video_vbe_get_active_render_target): Likewise.
29805 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29806 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29807 (grub_video_vbe_enable_double_buffering): Likewise.
29808 (grub_video_vbe_swap_buffers): Use update_screen.
29809 (grub_video_set_mode): Use double buffering.
29810
298112010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29812
29813 * maintainance/gentrigtables.py: Remove.
29814 * lib/trig.c: Likewise.
29815
29816 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29817
29818 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29819 `trigtables.c'.
29820 (trigtables.c): New rule.
29821 (gentrigtables): Likewise.
29822 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29823
298242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29825
29826 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29827 integer constants.
29828
298292010-02-06 Colin D Bennet <colin@gibibit.com>
29830
29831 Trigonometry support.
29832
29833 * include/grub/trig.h: New file.
29834 * lib/trig.c: Likewise.
29835 * maintainance/gentrigtables.py: Likewise.
29836 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29837 (trig_mod_SOURCES): New variable.
29838 (trig_mod_CFLAGS): Likewise.
29839 (trig_mod_LDFLAGS): Likewise.
29840
5562834e
VS
298412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29842
29843 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29844 disk devices.
29845
4f8528fc
VS
298462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29849 error.
29850
2b4068e9
VS
298512010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29852
29853 * util/hostdisk.c (open_device): Don't use partition device when reading
29854 before the partition.
29855 (grub_util_biosdisk_read): Don't read from partition and before the
29856 partition in single operation.
29857 (grub_util_biosdisk_write): Don't write to partition and before the
29858 partition in single operation.
29859
399f6e4d
TL
298602010-02-03 Torsten Landschoff <torsten@debian.org>
29861
29862 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29863 last sectors.
29864
996649b0
VS
298652010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29866
29867 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29868 CDROM reads.
29869 (grub_biosdisk_write): Refuse to write to CDROM.
29870
3b205d4d
VS
298712010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29874
61e89d9d
VS
298752010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29876
29877 * font/font.c (find_glyph): Check that bmp_idx is available before
29878 using it.
29879 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29880 with (font == NULL).
29881
bf7fcba2
CS
298822010-01-28 Christian Schmitt <chris@ilovelinux.de>
29883
29884 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29885
f45d2663
BC
298862010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29887
29888 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29889 * util/grub-script-check.c (getline): Fix empty lines case.
29890
ec1444e6
RM
298912010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29892
29893 * Makefile.in (check): Exit with fail status when one of the tests
29894 fails.
29895 * tests/example_functional_test.c (example_test): Fix reversed assert.
29896 * tests/example_unit_test.c (example_test): Likewise.
29897
2e1cb9bb
CW
298982010-01-28 Colin Watson <cjwatson@ubuntu.com>
29899
29900 * util/grub.d/10_linux.in: This script does not use any of the
29901 contents of gettext.sh, only the external command `gettext', so stop
29902 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29903 the same prefix as GRUB.)
29904 * util/grub.d/10_kfreebsd.in: Likewise.
29905
63533ab0
VS
299062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29909 of the line.
29910
989e1f93
VS
299112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29912
29913 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29914 last sectors.
29915
e709ebe2
VS
299162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29917
29918 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29919 having a 4KiB and not 32KiB buffer size.
29920
27dea7ed
RM
299212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29922
29923 * util/hostfs.c: Include `<errno.h>'.
29924 (grub_hostfs_read): Handle errors from fseeko() and fread().
29925
67667b9c
RM
299262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29927
29928 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29929 loop when using read hooks on files whose size isn't sector-aligned.
29930
c294d9d8
RM
299312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29932
29933 Remove unused parameter.
29934
29935 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29936 (grub_iso9660_open): Remove initialization of `data->length'.
29937
af75a9f1
RM
299382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29939
29940 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29941 memleak conditions.
29942
254e2ce5 299432010-01-27 Carles Pina i Estany <carles@pina.cat>
29944
29945 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29946 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29947
b510928c 299482010-01-26 Carles Pina i Estany <carles@pina.cat>
29949
29950 * util/bin2h.c (usage): Fix warning (space after backslash).
29951
aa2f9dd2 299522010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29953
29954 * font/font.c: Include `grub/fontformat.h.
29955 Remove font file format constants.
29956 (grub_font_load): Use the new macros.
29957 * include/grub/fontformat.h: New file.
29958 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29959 (write_font_pf2): Use the new macros.
29960
94e7e712
RM
299612010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29964 does.
29965
3973a59a
RM
299662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29967
29968 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29969
29970 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29971 (_start): Macroify `0x7F'.
29972
29973 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29974 (make_install_device): Use "(pxe)" as fallback prefix when booting
29975 via PXE.
29976
42e0cba3
GS
299772010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29978
29979 * configure.ac: Reset LIBS after check for libgcc symbols.
29980
847effd8
CW
299812010-01-25 Colin Watson <cjwatson@ubuntu.com>
29982
29983 * util/hostdisk.c (open_device): Add trailing newline to debug
29984 message.
29985
ea4a7e35
GS
299862010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29987
29988 * configure.ac: Check for `limits.h'.
29989 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29990
67951a53
RM
299912010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29992
29993 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29994 capitalize error strings.
29995
c273d4ce
ST
299962010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29997
29998 * util/grub.d/10_hurd.in: Add a recovery mode.
29999
69be5b74
VS
300002010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30001
30002 * configure.ac: Check for libgcc symbols with -nostdlib.
30003
fc9e5810
BC
300042010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30005
30006 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30007
4b358c0a
VS
300082010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30009
30010 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30011 stack since heap may be unavailable at that point.
30012 (grub_ofconsole_gotoxy): Likewise.
30013
454fcd1c
VS
300142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30015
30016 * configure.ac: Check for _restgpr_14_x.
30017 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30018 and _savegpr_* prototypes.
30019
566863ca
RM
300202010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 Use generic grub_reboot() for i386-efi.
30023
30024 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30025 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30026 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30027
bf86e59a
VS
300282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30029
30030 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30031 presence of "prefix" variable as it breaks when normal.mod is
30032 embedded.
30033
d645e0f8
VS
300342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30035
30036 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30037 stack since heap is unavailable at that point.
30038
f9ab2e25
VS
300392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30040
30041 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30042 (grub_freebsd_bootinfo): Rewritten.
30043 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30044
01fc7054
VS
300452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30048
caab4fd6
RM
300492010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30052 domain now.
30053
67eb1427
FZ
300542010-01-20 Felix Zielcke <fzielcke@z-51.de>
30055
30056 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30057 around for handling "/" to the correct fix. Fix a memory leak. Use
30058 xstrdup instead of strdup.
30059
a9ed4ff3
VS
300602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30061
30062 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30063
300642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30065
30066 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30067
30068 * font/font.c (struct grub_font): New member 'bmp_idx'.
30069 (font_init): Initialise 'bmp_idx'.
30070 (load_font_index): Fill 'bmp_idx'.
30071 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30072
48209f4f
VS
300732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30074
30075 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30076 unnecessary calls.
30077
9f0a4bb7
VS
300782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 Move context handling out of the kernel.
30081
30082 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30083 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30084 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30085 * conf/i386-efi.rmk: Likewise.
30086 * conf/i386-ieee1275.rmk: Likewise.
30087 * conf/i386-pc.rmk: Likewise.
30088 * conf/powerpc-ieee1275.rmk: Likewise.
30089 * conf/sparc64-ieee1275.rmk: Likewise.
30090 * conf/x86_64-efi.rmk: Likewise.
30091 * include/grub/env.h: Include grub/menu.h.
30092 (grub_env_var_type): Removed.
30093 (grub_env_var): Replaced field 'type' with 'global'.
30094 (grub_env_find): New prototype.
30095 (grub_env_context_open): Remove EXPORT_FUNC.
30096 (grub_env_context_close): Likewise.
30097 (grub_env_export): Likewise.
30098 (grub_env_set_data_slot): Removed.
30099 (grub_env_get_data_slot): Likewise.
30100 (grub_env_unset_data_slot): Likewise.
30101 (grub_env_unset_menu): New prototype.
30102 (grub_env_set_menu): Likewise.
30103 (grub_env_get_menu): Likewise.
30104 * include/grub/env_private.h: New file.
30105 * include/grub/normal.h (grub_context_init): New prototype.
30106 (grub_context_fini): Likewise.
30107 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30108 * normal/context.c (grub_cmd_export): ... to here.
30109 * kern/env.c: Include env_private.h.
30110 (HASHSZ): Moved to include/grub/env_private.h.
30111 (grub_env_context): Likewise.
30112 (grub_env_sorted_var): Likewise.
30113 (current_context): Renamed from this ...
30114 (grub_current_context): ...to this. 'static' removed. All users updated.
30115 (grub_env_find): Removed 'static'.
30116 (grub_env_context_open): Moved to normal/context.c.
30117 (grub_env_context_close): Likewise.
30118 (grub_env_export): Likewise.
30119 (mangle_data_slot_name): Removed.
30120 (grub_env_set_data_slot): Likewise.
30121 (grub_env_get_data_slot): Likewise.
30122 (grub_env_unset_data_slot): Likewise.
30123 * kern/main.c (grub_set_root_dev): Don't export root.
30124 It will be done later.
30125 (grub_main): Don't export prefix.
30126 It will be done later.
30127 * normal/context.c: New file.
30128 * normal/main.c (free_menu): Use grub_env_unset_menu.
30129 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30130 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30131 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30132 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30133
8dd35b8c
VS
301342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30135
30136 setpci support.
30137
30138 * commands/setpci.c: New file.
30139 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30140 (setpci_mod_SOURCES): New variable.
30141 (setpci_mod_CFLAGS): Likewise.
30142 (setpci_mod_LDFLAGS): Likewise.
30143
449193d5
VS
301442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30145
30146 Byte-addressable PCI configuration space.
30147
30148 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30149 dword address.
30150 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30151 GRUB_PCI_REG_CACHELINE.
30152 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30153 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30154 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30155 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30156 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30157 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30158 grub_pci_make_address.
30159 (lock_rom_area): Likewise.
30160 * commands/lspci.c (grub_lspci_iter): Use macroses
30161 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30162 of grub_pci_make_address.
30163 * disk/ata.c (grub_ata_pciinit): Likewise.
30164 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30165 (GRUB_PCI_REG_VENDOR): Likewise.
30166 (GRUB_PCI_REG_DEVICE): Likewise.
30167 (GRUB_PCI_REG_COMMAND): Likewise.
30168 (GRUB_PCI_REG_STATUS): Likewise.
30169 (GRUB_PCI_REG_REVISION): Likewise.
30170 (GRUB_PCI_REG_CLASS): Likewise.
30171 (GRUB_PCI_REG_CACHELINE): Likewise.
30172 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30173 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30174 (GRUB_PCI_REG_BIST): Likewise.
30175 (GRUB_PCI_REG_ADDRESSES): Likewise.
30176 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30177 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30178 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30179 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30180 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30181 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30182 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30183 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30184 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30185 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30186 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30187 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30188 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30189 (GRUB_PCI_REG_MIN_GNT): Likewise.
30190 (GRUB_PCI_REG_MAX_LAT): Likewise.
30191 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30192 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30193 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30194 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30195 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30196 space.
30197
96d73208
RM
301982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30201 can be reliably determined to be supported.
30202
d4484482
RM
302032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30204
30205 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30206 that VESA is supported.
30207 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30208 supported.
30209
00308ecf
VS
302102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30211
30212 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30213
f66924a4
RM
302142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30215
30216 * util/misc.c (make_system_path_relative_to_its_root): Work around
30217 special-casing of "/", as previous incarnation of this routine did.
30218
cbca0ada
VS
302192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30220
30221 Fix any-emu compilation.
30222
30223 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30224 * grub_bin2h_SOURCES: New variable.
30225
34a66d99
RM
302262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30227
30228 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30229
94fabf58
RM
302302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30231
30232 * util/grub.d/00_header.in: Fix handling of locale_dir.
30233
02cf98ca
VS
302342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30235
30236 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30237 as possible unifont location (Gentoo).
30238 Reported by: Alexander Brüning
30239
327dbcd7
VS
302402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30241
30242 Don't try to generate lists for kernel.img.
30243
30244 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30245 (pkglib_MODULES): Remove kernel.img.
30246 (kernel_img_EXPORTS): Removed.
30247 (kernel_img_RELOCATABLE): New variable.
30248 * conf/x86_64-efi.rmk: Likewise.
30249 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30250
ca467290
VS
302512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30252
30253 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30254 grub_xasprintf or grub_snprintf.
30255 (grub_vsprintf): Likewise.
30256 (grub_snprintf): New proto.
30257 (grub_vsnprintf): Likewise.
30258 (grub_xasprintf): Likewise.
30259 (grub_xvasprintf): Likewise.
30260 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30261 (grub_sprintf): Removed.
30262 (grub_vsnprintf): New function.
30263 (grub_snprintf): Likewise.
30264 (grub_xvasprintf): Likewise.
30265 (grub_xasprintf): Likewise.
30266 (grub_vsprintf): Renamed to ...
30267 (grub_vsnprintf_real): ...this. New argument max_len.
30268
aca655fd
BC
302692010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30270
30271 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30272 fix grub-script-check warning.
30273
7ee92c32
VS
302742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30275
30276 * include/grub/font.h (grub_font_load): Fix prototype.
30277
f80927ca
VS
302782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30281
119c50ea
VS
302822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30283
30284 * include/grub/x86_64/at_keyboard.h: New file.
30285
47d5f3c1
VS
302862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30287
30288 * loader/mips/linux.c: Include missing grub/i18n.h.
30289
55ff5266
RM
302902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30291
30292 * normal/menu.c (notify_execution_failure): Clarify error message.
30293
c893cc87
RM
302942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30295
30296 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30297 return value (and revert all return statements). Update users.
30298
917dd370
CW
302992010-01-20 Dan Merillat <debian@dan.merillat.org>
30300
30301 * kern/device.c (grub_device_iterate): Allocate new part_ent
30302 structure based on sizeof (*p) rather than sizeof (p->next), to
30303 account for structure padding.
30304
30305 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30306 disk is NULL, which might happen for LVM physical volumes with no
30307 LVM signature.
30308
d4a4ee57
RM
303092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 * loader/mips/linux.c (grub_cmd_initrd)
30312 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30313
303142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30315
30316 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30317 (grub_video_video_init, grub_video_bitmap_init)
30318 (grub_font_manager_init, grub_term_gfxterm_init)
30319 (grub_at_keyboard_init): New extern declarations.
30320 (grub_machine_init): Initialize gfxterm and at_keyboard.
30321
30322 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30323
30324 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30325 `gfxterm.mod' into core image.
30326
30327 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30328 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30329 (kernel_img_FORMAT): Copy to ...
30330
30331 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30332 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30333 (kernel_img_FORMAT): ... here, and ...
30334
30335 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30336 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30337 (kernel_img_FORMAT): ... here.
30338
30339 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30340 and input (at_keyboard) terminals in kernel.
30341 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30342
30343 (pkglib_MODULES): Remove `pci.mod'.
30344 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30345 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30346 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30347 (at_keyboard_mod_LDFLAGS): Remove variables.
30348
303492010-01-11 Felix Zielcke <fzielcke@z-51.de>
30350
30351 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30352
303532009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * include/grub/mips/libgcc.h: Only export symbols for functions
30356 that libgcc provides.
30357
303582009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30359
30360 MIPS support.
30361
30362 * bus/bonito.c: New file.
30363 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30364 GRUB_PCI_NUM_DEVICES.
30365 * term/i386/pc/serial.c: Move to ...
30366 * term/serial.c: ... here. All users updated.
30367 * util/i386/pc/grub-mkimage.c: Move to ...
30368 * util/grub-mkrawimage.c: ... here. All users updated.
30369 * term/i386/pc/at_keyboard.c: Move to ...
30370 * term/at_keyboard.c: ... here. All users updated.
30371 * conf/mips-qemu-mips.rmk: New file.
30372 * conf/mips-yeeloong.rmk: Likewise.
30373 * conf/mips.rmk: Likewise.
30374 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30375 mipsel-qemu-mips.
30376 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30377 to port addresses.
30378 (grub_ata_pciinit): Support CS5536.
30379 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30380 * font/font_cmd.c (loadfont_command): Open file before passing it to
30381 grub_font_load.
30382 (pseudo_file_read): New function.
30383 (pseudo_file_close): Likewise.
30384 (pseudo_fs): New structure.
30385 (load_font_module): New function.
30386 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30387 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30388 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30389 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30390 * include/grub/i386/at_keyboard.h: Split into ...
30391 * include/grub/at_keyboard.h: ... this ...
30392 * include/grub/i386/at_keyboard.h: ... and this.
30393 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30394 New prototype.
30395 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30396 updated.
30397 (grub_elf64_size): Likewise.
30398 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30399 filename.
30400 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30401 * include/grub/i386/coreboot/serial.h: Rewritten.
30402 * include/grub/i386/ieee1275/serial.h: Include
30403 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30404 * include/grub/i386/pc/serial.h: Moved from here ...
30405 * include/grub/serial.h: ... to here. All users updated.
30406 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30407 (GRUB_PCI_NUM_BUS): Likewise.
30408 (GRUB_PCI_NUM_DEVICES): Likewise.
30409 (grub_pci_device_map_range): Add missing volatile keyword.
30410 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30411 * include/grub/mips/at_keyboard.h: New file.
30412 * include/grub/mips/cache.h: Likewise.
30413 * include/grub/mips/io.h: Likewise.
30414 * include/grub/mips/kernel.h: Likewise.
30415 * include/grub/mips/libgcc.h: Likewise.
30416 * include/grub/mips/pci.h: Likewise.
30417 * include/grub/mips/qemu-mips/boot.h: Likewise.
30418 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30419 * include/grub/mips/qemu-mips/loader.h: Likewise.
30420 * include/grub/mips/qemu-mips/memory.h: Likewise.
30421 * include/grub/mips/qemu-mips/serial.h: Likewise.
30422 * include/grub/mips/qemu-mips/time.h: Likewise.
30423 * include/grub/mips/relocator.h: Likewise.
30424 * include/grub/mips/time.h: Likewise.
30425 * include/grub/mips/types.h: Likewise.
30426 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30427 * include/grub/mips/yeeloong/boot.h: Likewise.
30428 * include/grub/mips/yeeloong/kernel.h: Likewise.
30429 * include/grub/mips/yeeloong/loader.h: Likewise.
30430 * include/grub/mips/yeeloong/memory.h: Likewise.
30431 * include/grub/mips/yeeloong/pci.h: Likewise.
30432 * include/grub/mips/yeeloong/serial.h: Likewise.
30433 * include/grub/mips/yeeloong/time.h: Likewise.
30434 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30435 * kern/elf.c (grub_elf32_size): New parameter. All users
30436 updated.
30437 (grub_elf64_size): Likewise.
30438 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30439 Load modules before saying "Welcome to GRUB!".
30440 Call grub_refresh after saying "Welcome to GRUB!".
30441 * kern/mips/cache.S: New file.
30442 * kern/mips/cache_flush.S: Likewise.
30443 * kern/mips/dl.c: Likewise.
30444 * kern/mips/init.c: Likewise.
30445 * kern/mips/qemu-mips/init.c: Likewise.
30446 * kern/mips/startup.S: Likewise.
30447 * kern/mips/yeeloong/init.c: Likewise.
30448 * kern/term.c (grub_putcode): Handle NULL terminal.
30449 (grub_getcharwidth): Likewise.
30450 (grub_getkey): Likewise.
30451 (grub_checkkey): Likewise.
30452 (grub_getkeystatus): Likewise.
30453 (grub_getxy): Likewise.
30454 (grub_getwh): Likewise.
30455 (grub_gotoxy): Likewise.
30456 (grub_cls): Likewise.
30457 (grub_setcolorstate): Likewise.
30458 (grub_setcolor): Likewise.
30459 (grub_getcolor): Likewise.
30460 (grub_refresh): Likewise.
30461 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30462 (write_jump): Add hatch nop.
30463 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30464 * lib/mips/setjmp.S: New file.
30465 * loader/mips/linux.c: Likewise.
30466 * term/i386/pc/at_keyboard.c: Move from here ...
30467 * term/at_keyboard.c: ... to here.
30468 * term/i386/pc/serial.c: Moved from here ...
30469 * term/serial.c: ... to here. All users updated.
30470 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30471 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30472 (serial_translate_key_sequence): Avoid deadlock.
30473 (grub_serial_getkey): Handle backspace.
30474 (grub_serial_putchar): Fix newline handling.
30475 * util/i386/pc/grub-mkimage.c: Move from here ...
30476 * util/grub-mkrawimage.c: ... to here. All users updated.
30477 (generate_image): New parameters 'font_path' and 'format'.
30478 Support embedding font.
30479 Use grub_host_to_target* instead of grub_cpu_to_le*.
30480 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30481 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30482 (options): New option "--font".
30483 (usage): Likewise.
30484 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30485 (main): Handle "--font".
30486 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30487 (grub_virtual_screen_setup): Set bg_color_display.
30488 (redraw_screen_rect): Use bg_color_display instead of incorrect
30489 bg_color.
30490 (grub_gfxterm_cls): Likewise.
30491 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30492 Support embedding config file.
30493 (add_segments): Likewise.
30494 (options): New option "--config".
30495 (main): Handle "--config".
30496 * video/sm712.c: New file.
30497
25c2b5b3
RM
304982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30499
30500 Fix parallel builds.
30501
30502 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30503 font.c depend on ascii.h).
30504
305052010-01-12 Carles Pina i Estany <carles@pina.cat>
30506
30507 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30508
305092010-01-11 Carles Pina i Estany <carles@pina.cat>
30510
30511 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30512 By default: disabled.
30513 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30514 parameter.
30515
305162010-01-10 Carles Pina i Estany <carles@pina.cat>
30517
30518 * font/font.c: Update copyright years.
30519 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30520
305212010-01-10 Carles Pina i Estany <carles@pina.cat>
30522
30523 * font/font.c: Include `ascii.h'.
30524 (ASCII_BITMAP_SIZE): New macro.
30525 (ascii_font_glyph): Define.
30526 (ascii_glyph_lookup): New function.
30527 (grub_font_get_string_width): Change comment. If glyph not found, use
30528 ascii_glyph_lookup.
30529 (grub_font_get_glyph_with_fallback): If glyph not available returns
30530 ascii_glyph_lookup.
30531 * util/grub-mkfont.c (file_formats): New enum.
30532 (options): Add `ascii-bitmaps' new option.
30533 (usage): Add `asii-bitmaps' new option.
30534 (write_font_ascii_bitmap): New function.
30535 (write_font): Rename to ...
30536 (write_font_p2): ... this. Remove print_glyphs call.
30537 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30538 used. Call print_glyphs.
30539 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30540
305412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30542
30543 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30544 (grub_bin2h_SOURCES): New variable.
30545 * util/bin2h.c: New file.
30546
915fc1b8
VS
305472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30548
30549 * include/multiboot.h: Resynced with spec.
30550 * include/multiboot2.h: Likewise.
30551 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30552 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30553
9444b678
RM
305542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30555
30556 * include/grub/term.h (grub_term_register_input,
30557 grub_term_register_output): Check return of terminal init()
30558 routines, and abort if errors are raised.
30559
30560 * commands/terminal.c: Update copyright year.
30561
cba98e8d
RM
305622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30563
30564 * commands/terminal.c (grub_cmd_terminal_input)
30565 (grub_cmd_terminal_output): Check return of terminal init()
30566 routines, and abort if errors are raised.
30567
6f7db5d6
VS
305682010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30569
30570 * include/grub/i386/bsd.h: Fix include pathes.
30571
262bff8d
VS
305722010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30573
30574 Add missing *BSD copyright headers.
30575
30576 * include/grub/aout.h: Add BSD licence.
30577 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30578 * include/grub/i386/freebsd_linker.h: ... here,
30579 * include/grub/i386/freebsd_reboot.h: ... here,
30580 * include/grub/i386/netbsd_bootinfo.h: ... here,
30581 * include/grub/i386/netbsd_reboot.h: ... here,
30582 * include/grub/i386/openbsd_bootarg.h: ... here,
30583 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30584 licence to each file.
30585
b2cab848
RM
305862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 * acinclude.m4: Remove `nop' assembly instruction; it's not
30589 implemented by all architectures.
30590
2cb6be4b
RM
305912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30594 ELILO. This is no longer necessary.
30595
a2eaee15
BC
305962010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30597
30598 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30599
30600 * util/grub-script-check.c: grub-script-check tool.
30601 * conf/common.rmk: Make rules for grub-script-check.
30602
88d17012
RM
306032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30606 spotting it back in 2008. Shame on me for forgetting he did.
30607
30608 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30609
8040619d
RM
306102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30613 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30614 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30615 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30616 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30617 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30618
a0c2a0f6
RM
306192010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30620
30621 * include/grub/test.h: Add license header.
30622 * tests/example_functional_test.c: Likewise.
30623 * tests/example_unit_test.c: Likewise.
30624 * tests/lib/functional_test.c: Likewise.
30625 * tests/lib/test.c: Likewise.
30626 * tests/lib/unit_test.c: Likewise.
30627
b0b13907
VS
306282010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30629
30630 Use flag-based instead of hook-based video mode selection and "auto"
30631 keyword.
30632
30633 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30634 (grub_video_set_mode): Changed prototype. All users updated.
30635 (grub_video_check_mode_flag): New inline function.
30636 * video/video.c (parse_modespec): New function.
30637 (grub_video_set_mode): Parse flags and keywords.
30638
ea379330 306392010-01-17 Carles Pina i Estany <carles@pina.cat>
30640
30641 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30642 fprintf call.
30643
e15c215e
FZ
306442010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30645
30646 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30647
409ae1c9 306482010-01-16 Carles Pina i Estany <carles@pina.cat>
30649
30650 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30651 string.
30652 * util/grub-emu.c (usage): Likewise.
30653 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30654 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30655 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30656 * util/i386/pc/grub-setup.c (usage): Likewise.
30657
70a14d3d 306582010-01-16 Carles Pina i Estany <carles@pina.cat>
30659
30660 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30661 the message.
30662 (grub_util_info): Likewise.
30663 (grub_util_error): Likewise.
30664 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30665 and/or new lines in `grub_util_warna', `grub_util_info',
30666 `grub_util_error' calls.
30667 * util/getroot.c: Likewise.
30668 * util/grub-editenv.c: Likewise.
30669 * util/grub-emu.c: Likewise.
30670 * util/grub-fstest.c: Likewise.
30671 * util/grub-mkdevicemap.c: Likewise.
30672 * util/grub-mkfont.c: Likewise.
30673 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30674 * util/grub-mkrelpath.c: Likewise.
30675 * util/grub-pe2elf.c: Likewise.
30676 * util/grub-probe.c: Likewise.
30677 * util/hostdisk.c: Likewise.
30678 * util/i386/efi/grub-mkimage.c: Likewise.
30679 * util/i386/pc/grub-mkimage.c: Likewise.
30680 * util/i386/pc/grub-setup.c: Likewise.
30681 * util/ieee1275/ofpath.c: Likewise.
30682 * util/mkisofs/eltorito.c: Likewise.
30683 * util/mkisofs/rock.c: Likewise.
30684 * util/mkisofs/write.c: Likewise.
30685 * util/raid.c: Likewise.
30686 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30687 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30688
a0b766fc
VS
306892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30690
30691 Enable multiboot on non-pc.
30692
30693 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30694 multiboot.mod and multiboot2.mod to ...
30695 * conf/i386.rmk (pkglib_MODULES): ... here.
30696 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30697 Moved to ...
30698 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30699 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30700 Moved to ...
30701 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30702 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30703 Moved to ...
30704 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30705 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30706 Moved to ...
30707 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30708 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30709 relocator.mod.
30710 (ata_mod_SOURCES): Removed.
30711 (ata_mod_CFLAGS): Likewise.
30712 (ata_mod_LDFLAGS): Likewise.
30713 (relocator_mod_SOURCES): Removed.
30714 (relocator_mod_CFLAGS): Likewise.
30715 (relocator_mod_ASFLAGS): Likewise.
30716 (relocator_mod_LDFLAGS): Likewise.
30717 Include i386.mk.
30718 * include/grub/x86_64/multiboot.h: New file.
30719 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30720 Terminate EFI.
30721
884ade56
VS
307222010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30723
30724 Video multiboot support.
30725
30726 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30727 New prototype.
30728 * include/multiboot.h: Resynced with multiboot specification.
30729 * include/multiboot2.h: Likewise.
30730 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30731 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30732 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30733 (HAS_VGA_TEXT): Likewise.
30734 (accepts_video): New variable.
30735 (grub_multiboot_set_accepts_video): New function.
30736 (grub_multiboot_get_mbi_size): Account for video structures.
30737 (set_video_mode): New function.
30738 (retrieve_video_parameters): Likewise.
30739 (grub_multiboot_make_mbi): Fill video fields.
30740
0d90e8a6
VS
307412010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30742
30743 Video driver ids.
30744
30745 * include/grub/video.h (grub_video_driver_id): New type.
30746 (grub_video_adapter): New member 'id'. All users updated.
30747 (grub_video_get_driver_id): New proto.
30748 * video/video.c (grub_video_get_driver_id): New function.
30749
5c71db1b 307502010-01-14 Carles Pina i Estany <carles@pina.cat>
30751
30752 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30753 `var=val'.
30754
cca15b52 307552010-01-14 Carles Pina i Estany <carles@pina.cat>
30756
30757 * normal/cmdline.c (print_completion): Gettextizze.
30758
c586fbb2 307592001-01-14 Carles Pina i Estany <carles@pina.cat>
30760
30761 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30762
ba2f6848 307632010-01-14 Carles Pina i Estany <carles@pina.cat>
30764
30765 * gettext/gettext.c (grub_gettext_translate): Push and pop
30766 grub_errno.
30767 (grub_gettext_delete_list): Change comment style.
30768 * kern/err.c (grub_error): Gettextizze.
30769 (grub_fatal): Gettextizze.
30770
0a46429a
RM
307712010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30772
30773 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30774 (grub_linux16_real_boot): ... this.
30775 * kern/i386/loader.S: Likewise.
30776 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30777 (grub_linux16_boot): New function. Switches to text mode and calls
30778 grub_linux16_real_boot().
30779
30780 * loader/i386/bsd.c: Include `<grub/video.h>'.
30781 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30782 text mode before calling grub_unix_real_boot().
30783
30784 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30785 (grub_multiboot_boot): Switch to text mode before calling
30786 grub_relocator32_boot().
30787
30788 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30789 (grub_chainloader_boot): Switch to text mode before calling
30790 grub_chainloader_real_boot().
30791
d6f93a66
RM
307922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
307932010-01-05 Colin Watson <cjwatson@ubuntu.com>
30794
30795 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30796 non-empty value.
30797
307982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
307992010-01-05 Colin Watson <cjwatson@ubuntu.com>
30800
30801 * util/grub.d/00_header.in: Define a "savedefault" function for use
30802 in menu entries.
30803 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30804
308052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
308062010-01-05 Colin Watson <cjwatson@ubuntu.com>
30807
30808 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30809 saved_entry if boot_once is unset.
30810 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30811 previous saved entry (i.e. grub-reboot).
30812
308132009-12-08 Colin Watson <cjwatson@ubuntu.com>
30814
30815 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30816
308172009-12-08 Colin Watson <cjwatson@ubuntu.com>
30818
30819 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30820 `var=val'.
30821 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30822
308232009-12-08 Colin Watson <cjwatson@ubuntu.com>
30824
30825 * util/grub-reboot.in: Fix --version output.
30826 * util/grub-set-default.in: Likewise.
30827
308282009-12-08 Colin Watson <cjwatson@ubuntu.com>
30829
30830 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30831 blocks.
30832
308332009-12-08 Colin Watson <cjwatson@ubuntu.com>
30834
30835 * util/grub.d/00_header.in: Quote the value assigned to `default',
30836 in case it contains spaces.
30837
308382009-12-08 Colin Watson <cjwatson@ubuntu.com>
30839
30840 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30841 `save_default_entry' call from the macosx case to the linux case.
30842
308432009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
308442009-10-25 Colin Watson <cjwatson@ubuntu.com>
30845
30846 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30847 in `chosen' environment variable.
30848 * normal/menu_text.c (get_entry_number): Check if the variable
30849 matches the title of a menu entry.
30850 (run_menu): Pass menu to get_entry_number.
30851
30852 * util/grub-reboot.in: New file.
30853 * util/grub-set-default.in: New file.
30854 * conf/common.rmk (grub-reboot): New utility.
30855 (grub-set-default): New utility.
30856
30857 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30858 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30859 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30860 move it to `saved_entry' for the next boot. Load environment on
30861 initialisation.
30862 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30863 * util/grub.d/10_hurd.in: Likewise.
30864 * util/grub.d/10_linux.in (linux_entry): Likewise.
30865 * util/grub.d/10_windows.in: Likewise.
30866 * util/grub.d/30_os-prober.in: Likewise.
30867
30868 * util/grub-install.in: Create environment block.
30869 * util/i386/efi/grub-install.in: Likewise.
30870 * util/ieee1275/grub-install.in: Likewise.
30871 * util/sparc64/ieee1275/grub-install.in: Likewise.
30872
0934d184
BC
308732010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30874
30875 Unit testing framework for GRUB.
30876
30877 * Makefile.in: Test framework build rules for 'make check'.
30878 * conf/tests.rmk: Build rules for individual tests and framework.
30879
30880 * include/grub/test.h: Header file for whitebox tests.
30881 * tests/lib/functional_test.c: Framework support for whitebox
30882 functional tests.
30883 * tests/lib/test.c: Common whitebox testing code for unit and
30884 functional tests.
30885 * tests/lib/unit_test.c: Framework support for whitebox unit
30886 tests.
30887
30888 * tests/util/grub-shell-tester.in: Support utility for grub-script
30889 tests.
30890 * tests/util/grub-shell.in: Utility to execute grub-script
30891 commands in a Qemu instance.
30892
30893 * tests/example_functional_test.c: Example whitebox functional
30894 test.
30895 * tests/example_grub_script_test.in: Example grub-script test.
30896 * tests/example_scripted_test.in: Example scripted test.
30897 * tests/example_unit_test.c: Example whitebox unit test.
30898
9c4ffeeb
VS
308992010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30900
30901 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30902 Add loader/i386/multiboot_mbi.c.
30903 (multiboot2_mod_SOURCES): Likewise.
30904 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30905 (multiboot2_mod_SOURCES): Likewise.
30906 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30907 (grub_multiboot_make_mbi): Likewise.
30908 (grub_multiboot_free_mbi): Likewise.
30909 (grub_multiboot_init_mbi): Likewise.
30910 (grub_multiboot_add_module): Likewise.
30911 (grub_multiboot_set_bootdev): Likewise.
30912 * loader/i386/multiboot.c (mbi): Removed.
30913 (mbi_dest): Likewise.
30914 (alloc_mbi): New variable.
30915 (grub_multiboot_payload_size): Removed. All users updated.
30916 (grub_multiboot_pure_size): New variable.
30917 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30918 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30919 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30920 (grub_fill_multiboot_mmap): Likewise.
30921 (grub_multiboot_get_bootdev): Likewise.
30922 (grub_multiboot): Use multiboot_mbi functions.
30923 * loader/i386/multiboot_mbi.c: New file.
30924
17383dfe
VS
309252010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30926
30927 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30928 it would result in module crash.
30929
c1f28820
VS
309302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30931
30932 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30933 (grub_ofconsole_getwh): Split to ...
30934 (grub_ofconsole_getwh): ... this.
30935 (grub_ofconsole_dimensions): ...and this.
30936 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30937
58655a16
RM
309382010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30939
30940 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30941
10891398
VS
309422010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30943
30944 * loader/i386/pc/multiboot2.c: Removed stalled file.
30945
0b8a223c
VS
309462010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30947
30948 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30949 Reported by: Grégoire Sutre
30950
92ab12b0
RM
309512010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 * util/misc.c (canonicalize_file_name): New function.
30954 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30955 instead of realpath().
30956
a788afb6
CW
309572010-01-11 Colin Watson <cjwatson@ubuntu.com>
30958
30959 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30960 and make it clearer that it's optional. Based on confusion
30961 witnessed on IRC.
30962
ffa8e3d2
VS
309632010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30964
30965 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30966 in premature implicit newline.
30967
e9060a9d
VS
309682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30969
30970 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30971 which resulted in garbled command line at the end of screen.
30972
f0d0c0b7
RM
309732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30974
30975 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30976 initialization with similar approach as with other Linux loaders.
30977
0e60bae7
RM
309782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30979
30980 Fix i386-ieee1275 build.
30981
30982 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30983 and grub_term_height() for video_{width,height} initialization.
30984
309852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30986
30987 Fix grub-emu build.
30988
30989 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30990
cdb3f378
RM
309912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
309922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30993
30994 Support for multiple terminals.
30995
30996 * Makefile.in (pkglib_DATA): terminal.lst.
30997 (terminal.lst): New target.
30998 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30999 (GRUB_MOD_INIT(handler)): Likewise.
31000 (GRUB_MOD_FINI(handler)): Likewise.
31001 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31002 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31003 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31004 (grub_cmd_sleep): Use grub_term_save_pos.
31005 * commands/terminal.c: New file.
31006 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31007 commands/terminal.c and lib/charset.c.
31008 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31009 (pkglib_MODULES): Add terminal.mod.
31010 (terminal_mod_SOURCES): New variable.
31011 (terminal_mod_CFLAGS): Likewise.
31012 (terminal_mod_LDFLAGS): Likewise.
31013 * genhandlerlist.sh: Don't handle terminals.
31014 * genmk.rb: Generate terminal-*.lst.
31015 * genterminallist.sh: New file.
31016 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31017 (grub_is_valid_utf8): Likewise.
31018 (grub_utf8_to_ucs4_alloc): Likewise.
31019 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31020 (grub_menu_register_viewer): Changed argument.
31021 (grub_menu_try_text): New proto.
31022 (grub_gfxmenu_try_hook): New declaration.
31023 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31024 (grub_menu_init_page): Additional argument term.
31025 (grub_normal_init_page): Likewise.
31026 (grub_cmdline_get): Arguments simplified.
31027 (grub_utf8_to_ucs4_alloc): Removed.
31028 (grub_print_ucs4): Additional argument term.
31029 (grub_getstringwidth): Likewise.
31030 (grub_print_message_indented): Likewise.
31031 (grub_menu_text_register_instances): New proto.
31032 (grub_show_menu): Likewise.
31033 (read_terminal_list): Likewise.
31034 (grub_set_more): Likewise.
31035 * include/grub/parser.h: Include handler.h.
31036 * include/grub/reader.h: Rewritten.
31037 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31038 (GRUB_TERM_WIDTH): Changed to function.
31039 (GRUB_TERM_HEIGHT): Likewise.
31040 (GRUB_TERM_BORDER_WIDTH): Likewise.
31041 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31042 (GRUB_TERM_NUM_ENTRIES): Likewise.
31043 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31044 (GRUB_TERM_CURSOR_X): Likewise.
31045 (grub_term_input_class): Likewise.
31046 (grub_term_output_class): Likewise.
31047 (grub_term_outputs_disabled): New declaration.
31048 (grub_term_inputs_disabled): Likewise.
31049 (grub_term_outputs): Likewise.
31050 (grub_term_inputs): Likewise.
31051 (grub_term_register_input): Rewritten.
31052 (grub_term_register_output): Likewise.
31053 (grub_term_unregister_input): Likewise.
31054 (grub_term_unregister_output): Likewise.
31055 (FOR_ACTIVE_TERM_INPUTS): New macro.
31056 (FOR_DISABLED_TERM_INPUTS): Likewise.
31057 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31058 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31059 * include/grub/terminfo.h: Add oterm argument to all protypes.
31060 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31061 Use grub_rescue_run.
31062 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31063 All users updated.
31064 * kern/reader.c: Removed. All users updated.
31065 * kern/rescue_reader.c (grub_rescue_init): Removed.
31066 (grub_rescue_reader): Likewise.
31067 (grub_register_rescue_reader): Likewise.
31068 (grub_rescue_run): New function based on kern/reader.c.
31069 * kern/term.c: Adapted for multiterm.
31070 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31071 (grub_is_valid_utf8): Likewise.
31072 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31073 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31074 right terminal.
31075 * loader/i386/linux.c (grub_linux_boot): Likewise.
31076 * normal/auth.c (grub_username_get): New function.
31077 (grub_auth_check_authentication): Use grub_username_get.
31078 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31079 * normal/color.c: Adapt for multiterm.
31080 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31081 (grub_normal_init_page): Additional argument term.
31082 (read_lists): Call read_terminal_lists.
31083 (grub_enter_normal_mode): Call grub_cmdline_run.
31084 Handle grub_normal_exit_level.
31085 (grub_cmd_normal): Make reentrant.
31086 (grub_cmd_normal_exit): New function.
31087 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31088 * normal/menu.c: Adapt for multiterm.
31089 * normal/menu_entry.c: Likewise.
31090 * normal/menu_text.c: Likewise.
31091 * normal/menu_viewer.c: Removed. All users updated.
31092 * normal/term.c: New file.
31093 * util/console.c: Change order of includes to workaround a bug in
31094 ncurses headers.
31095 * term/terminfo.c: New argument oterm on all exported functions.
31096 All users updated.
31097 * util/grub-editenv.c (grub_term_input_class): Removed.
31098 (grub_term_output_class): Likewise.
31099
1a064917
RM
311002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31101
31102 Make loader output a bit more user-friendly.
31103
31104 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31105 is being loaded. Likewise for the Hurd.
31106
31107 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31108 that kernel of FreeBSD ${version} is being loaded.
31109
31110 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31111 grub_dprintf().
31112 (grub_cmd_initrd): Likewise.
31113 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31114 that Linux ${version} is being loaded. Likewise for initrd.
31115
5ce0a83a 311162010-01-09 Carles Pina i Estany <carles@pina.cat>
31117
31118 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31119
809bbfeb 311202010-01-08 Carles Pina i Estany <carles@pina.cat>
31121
31122 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31123 (GRUB_MOD_INIT): Gettextizze.
31124 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31125 (GRUB_MOD_INIT): Gettextizze.
31126 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31127 (grub_cmd_linux): Capitalise Linux.
31128 (GRUB_MOD_INIT): Gettextizze.
31129 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31130 (grub_cmd_linux): Capitalise Linux.
31131 (GRUB_MOD_INIT): Gettextizze.
31132 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31133 (grub_cmd_linux): Capitalise Linux.
31134 (GRUB_MOD_INIT): Gettextizze.
31135 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31136 (GRUB_MOD_INIT): Gettextizze.
31137 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31138 (grub_cmd_linux): Capitalise Linux.
31139 (GRUB_MOD_INIT): Gettextizze.
31140 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31141 (grub_cpu_xnu_init): Gettextizze.
31142 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31143 (GRUB_MOD_INIT): Gettextizze.
31144 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31145 (GRUB_MOD_INIT): Gettextizze.
31146 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31147 (grub_linux_load64): Capitalise Linux.
31148 (GRUB_MOD_INIT): Gettextizze.
31149 * loader/xnu.c: Include `<grub/i18n.h>'.
31150 (GRUB_MOD_INIT): Gettextizze.
31151 * po/POTFILES: Add `loader/efi/appleloader.c',
31152 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31153 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31154 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31155 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31156 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31157 and `loader/xnu.c'.
31158
b394b2ca
RM
311592010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31160
31161 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31162
311632010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31164
31165 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31166 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31167 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31168
bc8b32b3
RM
311692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31170
31171 Reset Multiboot 2 support. New loader implements the draft in
31172 /branches/multiboot2 and shares as much code as possible with the
31173 production Multiboot 1 implementation.
31174
31175 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31176 * loader/multiboot2.c: Likewise.
31177 * loader/i386/multiboot_helper.S: Likewise.
31178 * include/multiboot2.h: Replace with latest version from the draft
31179 in /branches/multiboot2.
31180
31181 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31182 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31183 and `loader/multiboot2.c'.
31184 (pkglib_MODULES): Add `multiboot2.mod'.
31185 (multiboot2_mod_SOURCES): New variable.
31186 (multiboot2_mod_LDFLAGS): Likewise.
31187 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31188
31189 * conf/i386-pc.rmk: Likewise.
31190
31191 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31192 (multiboot_mod_SOURCES): Remove variable.
31193 (multiboot_mod_LDFLAGS): Likewise.
31194 (multiboot_mod_CFLAGS): Likewise.
31195
31196 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31197 `<multiboot2.h>' instead of `<multiboot.h>'.
31198 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31199 (MULTIBOOT_HEADER_MAGIC): New macros.
31200
31201 * loader/multiboot_loader.c (module_version_status): Remove variable.
31202 (find_multi_boot2_header): Remove function.
31203 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31204 logic. Always check for the Multiboot version we're compiling for.
31205 (grub_cmd_module_loader): Likewise.
31206 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31207 command instead of `multiboot'.
31208
5d2c52b8
RM
312092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31212 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31213 all users.
31214
53108d92
RM
312152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
312162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31217
31218 Fix breakage introduced with previous commit.
31219
31220 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31221 commands.
31222 * normal/handler.c (read_handler_list): Revert part of previous commit
31223 affecting this file.
31224 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31225 (grub_normal_execute): ... here.
31226
e2e936b2
RM
312272010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31228
31229 Merge prefix-redefinition-fix branch.
31230
31231 * normal/autofs.c (read_fs_list): Make function capable of being
31232 run multiple times, gracefuly replacing the previous data
31233 structures.
31234 * normal/dyncmd.c (read_command_list): Likewise.
31235 * normal/handler.c (read_handler_list): Likewise.
31236 * normal/main.c (read_lists): New function. Calls all the
31237 list reading functions.
31238 (grub_normal_execute): Use read_lists() instead of calling all
31239 list reading functions explicitly. Register read_lists() as a
31240 variable hook attached to ${prefix}.
31241
607a3701
VS
312422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31243
31244 Merge crypto branch.
31245
31246 * Makefile.in (pkglib_DATA): Add crypto.lst.
31247 (crypto.lst): New target.
31248 * commands/hashsum.c: New file.
31249 * commands/password.c (check_password): Use grub_crypto_memcmp.
31250 * commands/password_pbkdf2.c: New file.
31251 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31252 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31253 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31254 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31255 -I$(srcdir)/lib/libgcrypt_wrap.
31256 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31257 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31258 password_pbkdf2.mod.
31259 (crypto_mod_SOURCES): New variable.
31260 (crypto_mod_CFLAGS): Likewise.
31261 (crypto_mod_LDFLAGS): Likewise.
31262 (hashsum_mod_SOURCES): New variable.
31263 (hashsum_mod_CFLAGS): Likewise.
31264 (hashsum_mod_LDFLAGS): Likewise.
31265 (pbkdf2_mod_SOURCES): New variable.
31266 (pbkdf2_mod_CFLAGS): Likewise.
31267 (pbkdf2_mod_LDFLAGS): Likewise.
31268 (password_pbkdf2_mod_SOURCES): New variable.
31269 (password_pbkdf2_mod_CFLAGS): Likewise.
31270 (password_pbkdf2_mod_LDFLAGS): Likewise.
31271 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31272 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31273 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31274 Include conf/gcry.rmk.
31275 * include/grub/auth.h: Rewritten.
31276 * include/grub/crypto.h: New file.
31277 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31278 * include/grub/normal.h (read_crypto_list): New prototype.
31279 * lib/crypto.c: New file.
31280 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31281 * lib/pbkdf2.c: Likewise.
31282 * normal/auth.c (grub_auth_strcmp): Removed.
31283 (grub_iswordseparator): Likewise.
31284 (grub_auth_strword): Likewise.
31285 (is_authenticated): Use grub_strword.
31286 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31287 and grub_strword. Pass entered password to authentication callback.
31288 * normal/crypto.c: New file.
31289 * normal/main.c: Call read_crypto_list.
31290 * util/grub-mkpasswd-pbkdf2.c: New file.
31291 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31292
42841caa
VS
312932010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31294
31295 Fix descent and ascent calculation.
31296
31297 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31298 (options): New option "asce".
31299 (usage): Likewise.
31300 (add_char): Ignore invalid glyphs for descent calculation.
31301 Calculate ascent from actual content.
31302 (print_glyphs): Use 'asce'.
31303 (write_font): Likewise. Allow ascent override.
31304 (main): Handle "asce" option.
31305
e7730de7 313062010-01-06 Carles Pina i Estany <carles@pina.cat>
31307
31308 * kern/err.c: Include `<grub/i18n.h>'.
31309 (grub_print_error): Add full stop. Gettextizze.
31310 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31311 (grub_bsd_load_elf): Capitalise ELF.
31312 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31313 (grub_cmd_freebsd_module): Likewise.
31314 (grub_cmd_freebsd_module_elf): Likewise.
31315 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31316
40e3a41f 313172010-01-06 Carles Pina i Estany <carles@pina.cat>
31318
31319 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31320 * commands/search_file.c (HELP_MESSAGE): New macro.
31321 * commands/search_label.c (HELP_MESSAGE): Likewise.
31322 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31323 * po/POTFILES: Add `commands/search_file.c',
31324 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31325 `commands/search.c'.
31326
83507e68
RM
313272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31328
31329 * config.rpath: Update from Gnulib.
31330
465c787b
YB
313312010-01-05 Yves Blusseau <blusseau@zetam.org>
31332
31333 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31334
6581dd3a
YB
313352010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31336
31337 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31338
3bff18c5
CW
313392010-01-05 Colin Watson <cjwatson@ubuntu.com>
31340
31341 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31342 arguments to fread so that we get a return value in bytes, rather
31343 than something that will normally be rounded down to 0.
31344 Adjust error handling to avoid producing garbage when size_t is not
31345 the same size as long long.
31346
a1368118
CW
313472010-01-05 Colin Watson <cjwatson@ubuntu.com>
31348
31349 * util/mkisofs/write.c (padblock_write): Check return value of
31350 fread.
31351
7c302978
RM
313522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31353
31354 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31355 floppy images now.
31356
31357 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31358
e33ace06
RM
313592010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31360
31361 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31362 instead of manual alignment.
31363 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31364 verbose). Avoid attempts to read past end of the device
31365 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31366 but GRUB_DISK_CACHE_SIZE may exceed that).
31367
4b856776
RM
313682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31369
31370 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31371 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31372 it to upper layer.
31373
52c2d97f
VS
313742010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31375
31376 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31377 New constant.
31378 (grub_efi_piwg_device_path): New structure
31379 (grub_efi_piwg_device_path_t): New type.
31380 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31381 (devpath_1): Transform to a structure. All users updated.
31382 (devpath_2): Likewise.
31383 (devpath_3): Likewise.
31384 (devpath_4): Likewise.
31385 (devpath_5): Likewise.
31386
98ff6a54
VS
313872010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31388
31389 * loader/efi/appleloader.c: Restored. Update all users.
31390
3a73dcb6
RM
313912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31392
31393 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31394
31395 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31396 (struct boot_blocklist): Move from here ...
31397 * include/grub/i386/pc/boot.h [ASM_FILE]
31398 (struct grub_boot_blocklist): ... to here. Update all users.
31399 (setup): Only initialize `start' member of `first_block'
31400 structure. Add assert() calls to verify the other members.
31401
31402 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31403 (generate_image): Fix broken blocklist length initialization.
31404 Add assert() call to verify blocklist `segment' field.
31405
ab0eeb0c
RM
314062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31407
31408 * loader/efi/appleloader.c: Remove. Update all users.
31409
58bc8bd5
RM
314102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31411
31412 * boot/i386/pc/boot.S: Update copyright year.
31413 * boot/i386/pc/cdboot.S: Likewise.
31414 * boot/i386/pc/diskboot.S: Likewise.
31415 * boot/i386/pc/lnxboot.S: Likewise.
31416 * boot/i386/pc/pxeboot.S: Likewise.
31417 * bus/pci.c: Likewise.
31418 * commands/cmp.c: Likewise.
31419 * commands/help.c: Likewise.
31420 * commands/hexdump.c: Likewise.
31421 * commands/i386/pc/halt.c: Likewise.
31422 * commands/i386/pc/play.c: Likewise.
31423 * commands/i386/pc/vbeinfo.c: Likewise.
31424 * commands/ls.c: Likewise.
31425 * commands/test.c: Likewise.
31426 * disk/dmraid_nvidia.c: Likewise.
31427 * disk/i386/pc/biosdisk.c: Likewise.
31428 * disk/ieee1275/nand.c: Likewise.
31429 * disk/ieee1275/ofdisk.c: Likewise.
31430 * disk/lvm.c: Likewise.
31431 * disk/raid.c: Likewise.
31432 * disk/raid6_recover.c: Likewise.
31433 * disk/scsi.c: Likewise.
31434 * fs/affs.c: Likewise.
31435 * fs/cpio.c: Likewise.
31436 * fs/ext2.c: Likewise.
31437 * fs/hfs.c: Likewise.
31438 * fs/iso9660.c: Likewise.
31439 * fs/ntfs.c: Likewise.
31440 * fs/sfs.c: Likewise.
31441 * fs/udf.c: Likewise.
31442 * fs/ufs.c: Likewise.
31443 * fs/xfs.c: Likewise.
31444 * gencmdlist.sh: Likewise.
31445 * genmk.rb: Likewise.
31446 * include/grub/disk.h: Likewise.
31447 * include/grub/efi/api.h: Likewise.
31448 * include/grub/efi/efi.h: Likewise.
31449 * include/grub/efi/pe32.h: Likewise.
31450 * include/grub/elf.h: Likewise.
31451 * include/grub/fs.h: Likewise.
31452 * include/grub/i386/at_keyboard.h: Likewise.
31453 * include/grub/i386/pc/memory.h: Likewise.
31454 * include/grub/i386/pc/vbe.h: Likewise.
31455 * include/grub/i386/pci.h: Likewise.
31456 * include/grub/i386/tsc.h: Likewise.
31457 * include/grub/ieee1275/ieee1275.h: Likewise.
31458 * include/grub/ntfs.h: Likewise.
31459 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31460 * include/grub/sparc64/libgcc.h: Likewise.
31461 * include/grub/symbol.h: Likewise.
31462 * include/grub/types.h: Likewise.
31463 * include/multiboot2.h: Likewise.
31464 * io/gzio.c: Likewise.
31465 * kern/device.c: Likewise.
31466 * kern/disk.c: Likewise.
31467 * kern/efi/efi.c: Likewise.
31468 * kern/efi/mm.c: Likewise.
31469 * kern/elf.c: Likewise.
31470 * kern/file.c: Likewise.
31471 * kern/i386/dl.c: Likewise.
31472 * kern/i386/pc/init.c: Likewise.
31473 * kern/i386/pc/startup.S: Likewise.
31474 * kern/ieee1275/ieee1275.c: Likewise.
31475 * kern/ieee1275/init.c: Likewise.
31476 * kern/main.c: Likewise.
31477 * kern/mm.c: Likewise.
31478 * kern/powerpc/dl.c: Likewise.
31479 * kern/sparc64/dl.c: Likewise.
31480 * kern/x86_64/dl.c: Likewise.
31481 * lib/hexdump.c: Likewise.
31482 * loader/efi/appleloader.c: Likewise.
31483 * loader/i386/ieee1275/linux.c: Likewise.
31484 * loader/i386/pc/chainloader.c: Likewise.
31485 * loader/i386/pc/linux.c: Likewise.
31486 * loader/i386/pc/multiboot2.c: Likewise.
31487 * loader/ieee1275/multiboot2.c: Likewise.
31488 * loader/multiboot2.c: Likewise.
31489 * loader/multiboot_loader.c: Likewise.
31490 * loader/powerpc/ieee1275/linux.c: Likewise.
31491 * normal/completion.c: Likewise.
31492 * normal/menu_entry.c: Likewise.
31493 * partmap/apple.c: Likewise.
31494 * util/grub.d/10_hurd.in: Likewise.
31495 * util/hostfs.c: Likewise.
31496 * video/readers/png.c: Likewise.
31497
e2d70b5c
CW
314982010-01-03 Colin Watson <cjwatson@ubuntu.com>
31499
31500 * include/grub/misc.h (GNUC_PREREQ): New macro.
31501 (ATTRIBUTE_ERROR): New macro.
31502 * include/grub/list.h (grub_bad_type_cast_real): Use
31503 ATTRIBUTE_ERROR.
31504
a173283f 315052010-01-03 Carles Pina i Estany <carles@pina.cat>
31506
31507 * normal/menu_text.c (print_message): Change messages.
31508
7fa7ff74 315092010-01-03 Carles Pina i Estany <carles@pina.cat>
31510
31511 * normal/menu_entry.c (store_completion): Gettextizze.
31512
136d24f6 315132010-01-03 Carles Pina i Estany <carles@pina.cat>
31514
31515 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31516
f936862e 315172010-01-03 Carles Pina i Estany <carles@pina.cat>
31518
31519 * po/POTFILES: Sort correctly.
31520
29c44ad1 315212010-01-03 Carles Pina i Estany <carles@pina.cat>
31522
31523 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31524 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31525 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31526 full stop.
31527 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31528 summary. Gettextizze the strings.
31529 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31530 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31531 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31532 full stop.
31533 (GRUB_MOD_INIT): Remove command name from summary.
31534 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31535 summary.
31536 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31537 * term/i386/pc/serial.c (options): Add full stops.
31538 (GRUB_MOD_INIT): Remove command name from the summary.
31539
77a79592 315402010-01-03 Carles Pina i Estany <carles@pina.cat>
31541
31542 * commands/acpi.c: Gettextizze help strings and/or options. Include
31543 `grub/i18n.h' if needed.
31544 * commands/blocklist.c: Likewise.
31545 * commands/boot.c: Likewise.
31546 * commands/cat.c: Likewise.
31547 * commands/cmp.c: Likewise.
31548 * commands/configfile.c: Likewise.
31549 * commands/crc.c: Likewise.
31550 * commands/date.c: Likewise.
31551 * commands/echo.c: Likewise.
31552 * commands/efi/fixvideo.c: Likewise.
31553 * commands/efi/loadbios.c: Likewise.
31554 * commands/gptsync.c: Likewise.
31555 * commands/halt.c: Likewise.
31556 * commands/handler.c: Likewise.
31557 * commands/hdparm.c: Likewise.
31558 * commands/hexdump.c: Likewise.
31559 * commands/i386/cpuid.c: Likewise.
31560 * commands/i386/pc/drivemap.c: Likewise.
31561 * commands/i386/pc/halt.c: Likewise.
31562 * commands/i386/pc/pxecmd.c: Likewise.
31563 * commands/i386/pc/vbeinfo.c: Likewise.
31564 * commands/i386/pc/vbetest.c: Likewise.
31565 * commands/ieee1275/suspend.c: Likewise.
31566 * commands/keystatus.c: Likewise.
31567 * commands/loadenv.c: Likewise.
31568 * commands/ls.c: Likewise.
31569 * commands/lsmmap.c: Likewise.
31570 * commands/lspci.c: Likewise.
31571 * commands/memrw.c: Likewise.
31572 * commands/minicmd.c: Likewise.
31573 * commands/parttool.c: Likewise.
31574 * commands/password.c: Likewise.
31575 * commands/probe.c: Likewise.
31576 * commands/read.c: Likewise.
31577 * commands/reboot.c: Likewise.
31578 * commands/search.c: Likewise.
31579 * commands/sleep.c: Likewise.
31580 * commands/test.c: Likewise.
31581 * commands/true.c: Likewise.
31582 * commands/usbtest.c: Likewise.
31583 * commands/videotest.c: Likewise.
31584 * commands/xnu_uuid.c: Likewise.
31585 * disk/loopback.c: Likewise.
31586 * hello/hello.c: Likewise.
31587 * loader/i386/bsd.c: Likewise.
31588 * term/i386/pc/serial.c: Likewise.
31589 * po/POTFILES: Add new files.
31590
da8d5c53
CW
315912010-01-02 Colin Watson <cjwatson@ubuntu.com>
31592
31593 * term/i386/pc/at_keyboard.c
31594 (keyboard_controller_wait_untill_ready): Rename to ...
31595 (keyboard_controller_wait_until_ready): ... this. Update all users.
31596
33937904 315972010-01-01 Carles Pina i Estany <carles@pina.cat>
31598
31599 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31600 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31601 string using string width.
31602 * normal/menu_text.c (grub_print_message_indented): Use
31603 grub_print_spaces and not print_spaces.
31604 (print_timeout): Likewise.
31605 (print_spaces): Move to...
31606 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31607
3fd3b8d8
RM
316082010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31609
31610 Import from Gnulib.
31611
31612 * gnulib/getdelim.c: New file.
31613 * gnulib/getline.c: Likewise.
31614
33433555
VS
316152009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31616
31617 * include/grub/list.h (grub_assert_fail): Removed.
31618 (grub_bad_type_cast_real): New function.
31619 (grub_bad_type_cast): New macro.
31620 (GRUB_AS_LIST): Use grub_bad_type_cast.
31621 (GRUB_AS_LIST_P): Likewise.
e44721e8 31622 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31623 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31624 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31625 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31626 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31627
f5a51306
VS
316282009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31629
31630 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31631 Fix syntax error.
31632
90d1e879
RM
316332009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31634
31635 * configure.ac: Check for TARGET_CFLAGS initialization before we
31636 initialize it ourselves (sigh).
31637 Move a few modifications to TARGET_CFLAGS to be unconditional
31638 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31639 eh_frame)
31640
31641 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31642 * term/i386/pc/at_keyboard.c
31643 (keyboard_controller_wait_untill_ready): Likewise.
31644 (keyboard_controller_led): Rename `led_status' paramter to avoid
31645 name conflict.
31646
465b5a81 316472009-12-28 Carles Pina i Estany <carles@pina.cat>
31648
31649 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31650 quotes.
31651
c181849b
VS
316522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31653
31654 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31655
9c8739a4
VS
316562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31657
31658 * normal/menu_text.c (grub_print_message_indented): Prevent
31659 past-the-end-of-array dereference.
31660
3e74249c
VS
316612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31662
31663 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31664 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31665
64fd18ed 316662009-12-27 Carles Pina i Estany <carles@pina.cat>
31667
31668 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31669 * normal/main.c (grub_normal_read_line): Remove a space from the
31670 default prompt.
31671
714af9b9 316722009-12-27 Carles Pina i Estany <carles@pina.cat>
31673
31674 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31675 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31676 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31677 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31678 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31679 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31680 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31681
82f3e412 316822009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31683
31684 * video/readers/jpeg.c (cmd): Declare.
31685 (grub_cmd_jpegtest): Use `grub_command_t' type.
31686 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31687 Assign to `cmd'.
31688 (GRUB_MOD_FINI): Use `cmd' to unregister.
31689 * video/readers/png.c (cmd): Declare.
31690 (grub_cmd_pngtest): Use `grub_command_t' type.
31691 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31692 Assign to `cmd'.
31693 (GRUB_MOD_FINI): Use `cmd' to unregister.
31694 * video/readers/tga.c (cmd): Declare.
31695 (grub_cmd_tgatest): Use `grub_command_t' type.
31696 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31697 Assign to `cmd'.
31698 (GRUB_MOD_FINI): Use `cmd' to unregister.
31699
82f3e412 317002009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31701
31702 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31703 stops.
31704 * kern/corecmd.c (grub_register_core_commands): Likewise.
31705 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31706 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31707 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31708 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31709 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31710 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31711 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31712 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31713 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31714 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31715 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31716 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31717 * normal/handler.c (insert_handler): Likewise.
31718 * normal/main.c (GRUB_MOD_INIT): Likewise.
31719 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31720
fdcdbb66 317212009-12-26 Carles Pina i Estany <carles@pina.cat>
31722
31723 * commands/help.c (grub_cmd_help): Print the command name before the
31724 summary.
31725 (GRUB_MOD_INIT): Remove command name from the summary.
31726 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31727 string as summary.
fdcdbb66 31728 * lib/arg.c (find_long): Print the command name before the summary.
31729 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31730 summary.
31731 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31732 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31733 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31734 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31735 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31736 * commands/date.c (GRUB_MOD_INIT): Likewise.
31737 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31738 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31739 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31740 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31741 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31742 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31743 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31744 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31745 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31746 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31747 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31748 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31749 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31750 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31751 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31752 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31753 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31754 * commands/password.c (GRUB_MOD_INIT): Likewise.
31755 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31756 * commands/read.c (GRUB_MOD_INIT): Likewise.
31757 * commands/search.c (GRUB_MOD_INIT): Likewise.
31758 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31759 * commands/test.c (GRUB_MOD_INIT): Likewise.
31760 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31761 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31762 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31763 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31764 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31765 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31766 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31767 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31768 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31769 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31770 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31771 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31772 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31773 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31774
9c288be2
VS
317752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31776
31777 Use search command for preliminar UUID search.
31778
31779 * commands/search.c: Split into ...
31780 * commands/search_wrap.c: ...this
31781 * commands/search.c: ...and this.
31782 * commands/search_file.c: New file.
31783 * commands/search_label.c: New file.
31784 * commands/search_uuid.c: New file.
31785 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31786 Add commands/search_wrap.c, commands/search_file.c,
31787 commands/search_label.c and commands/search_uuid.c.
31788 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31789 (search_mod_SOURCES): Set to commands/search_wrap.c.
31790 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31791 search_label.mod.
31792 (search_fs_file_mod_SOURCES): New variable.
31793 (search_fs_file_mod_CFLAGS): Likewise.
31794 (search_fs_file_mod_LDFLAGS): Likewise.
31795 (search_label_mod_SOURCES): Likewise.
31796 (search_label_mod_CFLAGS): Likewise.
31797 (search_label_mod_LDFLAGS): Likewise.
31798 (search_fs_uuid_mod_SOURCES): New variable.
31799 (search_fs_uuid_mod_CFLAGS): Likewise.
31800 (search_fs_uuid_mod_LDFLAGS): Likewise.
31801 (fs_file_mod_SOURCES): Removed.
31802 (fs_file_mod_CFLAGS): Likewise.
31803 (fs_file_mod_LDFLAGS): Likewise.
31804 (fs_uuid_mod_SOURCES): Removed.
31805 (fs_uuid_mod_CFLAGS): Likewise.
31806 (fs_uuid_mod_LDFLAGS): Likewise.
31807 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31808 Set to util/grub-install.in.
31809 * disk/fs_file.c: Removed.
31810 * disk/fs_uuid.c: Likewise.
31811 * include/grub/search.h: New file.
31812 * util/grub-install.in: Handle sparc64.
31813 Create and use load.cfg.
31814 * util/sparc64/ieee1275/grub-install.in: Removed.
31815
db943399
VS
318162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31817
31818 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31819 Ignore return status if CF is cleared.
31820 (grub_biosdisk_get_diskinfo_standard): Likewise.
31821
3fdae612
RM
318222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31823
31824 * term/i386/pc/at_keyboard.c
31825 (keyboard_controller_wait_untill_ready): New function.
31826 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31827 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31828 for keyboard polling, rather than duplicate the same loop. This
31829 saves a few bytes in code size.
31830
7ebaa2b4
VS
318312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31832
31833 Support for (pxe[:server[:gateway]]) syntax and
31834 use environment variable for PXE.
31835
31836 * commands/i386/pc/pxecmd.c (options): Removed.
31837 (print_ip): Removed.
31838 (grub_cmd_pxe): Removed
31839 (grub_cmd_pxe_unload): New function.
31840 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31841 (grub_pxe_your_ip): Made static.
31842 (grub_pxe_default_server_ip): Likewise.
31843 (grub_pxe_default_gateway_ip): Likewise.
31844 (grub_pxe_blksize): Likewise.
31845 (parse_ip): New function.
31846 (grub_pxe_open): Support server and gateway specification.
31847 (grub_pxe_close): Free disk->data.
31848 (grub_pxefs_open): Use disk->data.
31849 (grub_pxefs_read): Likewise.
31850 (grub_env_write_readonly): New function.
31851 (set_mac_env): Likewise.
31852 (set_env_limn_ro): Likewise.
31853 (parse_dhcp_vendor): Likewise.
31854 (grub_pxe_detect): Set the environment variables.
31855 (set_ip_env): New function.
31856 (write_ip_env): Likewise.
31857 (grub_env_write_pxe_default_server): Likewise.
31858 (grub_env_write_pxe_default_gateway): Likewise.
31859 (grub_env_write_pxe_blocksize): Likewise.
31860 (GRUB_MOD_INIT(pxe)): Set environment variables.
31861 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31862 (grub_pxe_mac_addr_t): ... this. All users updated.
31863 (grub_pxe_your_ip): Removed.
31864 (grub_pxe_server_ip): Likewise.
31865 (grub_pxe_gateway_ip): Likewise.
31866 (grub_pxe_blksize): Likewise.
31867
ec5f98ab 318682009-12-25 Carles Pina i Estany <carles@pina.cat>
31869
31870 * commands/help.c: Include `<grub/i18n.h>'.
31871 (grub_cmd_help): Gettextizze.
31872 (GRUB_MOD_INIT): Likewise.
31873 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31874 (GRUB_MOD_INIT): Gettextizze.
31875 * commands/search.c: Include `<grub/i18n.h>'.
31876 (options): Gettextizze.
31877 (GRUB_MOD_INIT): Gettextizze.
31878 * lib/arg.c: Include `<grub/i18n.h>'.
31879 (help_options): Gettextizze.
31880 (find_long): Likewise.
31881 (grub_arg_show_help): Likewise.
31882 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31883 (read_command_list): Gettextizze.
31884 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31885 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31886
22815526
RM
318872009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31888
31889 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31890 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31891 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31892 (led_status): New variable.
31893 (keyboard_controller_led): New function.
31894 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31895 update led status for caps lock, num lock and scroll lock.
31896
0ad46fd7
FZ
318972009-12-25 Felix Zielcke <fzielcke@z-51.de>
31898
31899 * util/hostdisk.c (open_device): Fix a comment.
31900
d0e158c2
RM
319012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31902
31903 * util/grub-install.in (host_os): New variable.
31904 * util/i386/efi/grub-install.in (host_os): Likewise.
31905
401c0ad6
RM
319062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31907
31908 * util/mkisofs/write.c (padblock_write): Abort when given an
31909 excedingly large embed image, instead of silently truncating it.
31910
d14d3370
RM
319112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31912
31913 * include/multiboot.h: Indentation fixes.
31914
eeed10b4
RM
319152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 * include/multiboot.h (struct multiboot_aout_symbol_table)
31918 (struct multiboot_elf_section_header_table): New structure
31919 declarations (stolen from GRUB Legacy).
31920 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31921 table information.
31922
31923 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31924 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31925 type aliases.
31926
681c70ab
RM
319272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31928
31929 * include/multiboot.h: Make comments src2texi-friendly.
31930
e4d47d8d
RM
319312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31932
31933 For consistency with [multiboot]/docs/boot.S.
31934
31935 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31936 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31937 (MULTIBOOT_MAGIC2): Rename from this ...
31938 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31939
a0b70bda
RM
319402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31941
31942 * include/multiboot.h: Remove `<grub/types.h>'.
31943 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31944 types. Update all users.
31945
61ba42be 319462009-12-25 Carles Pina i Estany <carles@pina.cat>
31947
31948 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31949 `couldn't' and `can not' by `cannot'.
31950 * commands/i386/pc/drivemap.c: Likewise.
31951 * disk/ata.c: Likewise.
31952 * disk/ieee1275/nand.c: Likewise.
31953 * fs/affs.c: Likewise.
31954 * fs/fat.c: Likewise.
31955 * fs/hfs.c: Likewise.
31956 * fs/hfsplus.c: Likewise.
31957 * fs/iso9660.c: Likewise.
31958 * fs/jfs.c: Likewise.
31959 * fs/minix.c: Likewise.
31960 * fs/reiserfs.c: Likewise.
31961 * fs/sfs.c: Likewise.
31962 * fs/udf.c: Likewise.
31963 * fs/ufs.c: Likewise.
31964 * fs/xfs.c: Likewise.
31965 * loader/powerpc/ieee1275/linux.c: Likewise.
31966 * loader/sparc64/ieee1275/linux.c: Likewise.
31967 * util/grub-probe.c: Likewise.
31968 * util/misc.c: Likewise.
31969
7fd0baee 319702009-12-24 Carles Pina i Estany <carles@pina.cat>
31971
31972 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31973 grub_errno calls.
31974 * commands/acpi.c: Likewise.
31975 * commands/blocklist.c: Likewise.
31976 * commands/efi/loadbios.c: Likewise.
31977 * commands/i386/pc/drivemap.c: Likewise.
31978 * commands/loadenv.c: Likewise.
31979 * commands/memrw.c: Likewise.
31980 * commands/password.c: Likewise.
31981 * commands/videotest.c: Likewise.
31982 * disk/ata.c: Likewise.
31983 * disk/ata_pthru.c: Likewise.
31984 * disk/dmraid_nvidia.c: Likewise.
31985 * disk/ieee1275/nand.c: Likewise.
31986 * disk/ieee1275/ofdisk.c: Likewise.
31987 * disk/loopback.c: Likewise.
31988 * disk/lvm.c: Likewise.
31989 * disk/mdraid_linux.c: Likewise.
31990 * disk/raid.c: Likewise.
31991 * disk/raid6_recover.c: Likewise.
31992 * disk/scsi.c: Likewise.
31993 * efiemu/main.c: Likewise.
31994 * efiemu/mm.c: Likewise.
31995 * efiemu/pnvram.c: Likewise.
31996 * efiemu/symbols.c: Likewise.
31997 * font/font.c: Likewise.
31998 * fs/cpio.c: Likewise.
31999 * fs/hfsplus.c: Likewise.
32000 * fs/iso9660.c: Likewise.
32001 * fs/jfs.c: Likewise.
32002 * fs/minix.c: Likewise.
32003 * fs/ntfs.c: Likewise.
32004 * fs/ntfscomp.c: Likewise.
32005 * fs/reiserfs.c: Likewise.
32006 * fs/ufs.c: Likewise.
32007 * fs/xfs.c: Likewise.
32008 * gettext/gettext.c: Likewise.
32009 * include/grub/auth.h: Likewise.
32010 * kern/elf.c: Likewise.
32011 * kern/file.c: Likewise.
32012 * kern/ieee1275/init.c: Likewise.
32013 * kern/ieee1275/mmap.c: Likewise.
32014 * kern/ieee1275/openfw.c: Likewise.
32015 * kern/powerpc/dl.c: Likewise.
32016 * kern/sparc64/dl.c: Likewise.
32017 * lib/arg.c: Likewise.
32018 * loader/i386/bsd.c: Likewise.
32019 * loader/i386/bsdXX.c: Likewise.
32020 * loader/i386/efi/linux.c: Likewise.
32021 * loader/i386/efi/xnu.c: Likewise.
32022 * loader/i386/ieee1275/linux.c: Likewise.
32023 * loader/i386/linux.c: Likewise.
32024 * loader/i386/multiboot.c: Likewise.
32025 * loader/i386/pc/linux.c: Likewise.
32026 * loader/i386/pc/multiboot2.c: Likewise.
32027 * loader/i386/xnu.c: Likewise.
32028 * loader/ieee1275/multiboot2.c: Likewise.
32029 * loader/macho.c: Likewise.
32030 * loader/machoXX.c: Likewise.
32031 * loader/multiboot2.c: Likewise.
32032 * loader/multiboot_loader.c: Likewise.
32033 * loader/powerpc/ieee1275/linux.c: Likewise.
32034 * loader/sparc64/ieee1275/linux.c: Likewise.
32035 * loader/xnu.c: Likewise.
32036 * loader/xnu_resume.c: Likewise.
32037 * mmap/i386/pc/mmap.c: Likewise.
32038 * normal/menu_viewer.c: Likewise.
32039 * partmap/acorn.c: Likewise.
32040 * partmap/amiga.c: Likewise.
32041 * partmap/apple.c: Likewise.
32042 * script/lexer.c: Likewise.
32043 * term/gfxterm.c: Likewise.
32044 * term/i386/pc/serial.c: Likewise.
32045 * term/i386/pc/vga.c: Likewise.
32046 * term/ieee1275/ofconsole.c: Likewise.
32047 * term/terminfo.c: Likewise.
32048 * video/bitmap.c: Likewise.
32049 * video/efi_gop.c: Likewise.
32050 * video/efi_uga.c: Likewise.
32051 * video/fb/video_fb.c: Likewise.
32052 * video/i386/pc/vbe.c: Likewise.
32053 * video/readers/tga.c: Likewise.
32054 * video/video.c: Likewise.
32055
0ad46fd7 320562009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32057
32058 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32059 * commands/lspci.c: Likewise.
32060 * commands/probe.c: Likewise.
32061 * commands/xnu_uuid.c: Likewise.
32062 * conf/i386-coreboot.rmk: Likewise.
32063 * conf/i386-efi.rmk: Likewise.
32064 * conf/i386-ieee1275.rmk: Likewise.
32065 * conf/i386-pc.rmk: Likewise.
32066 * conf/powerpc-ieee1275.rmk: Likewise.
32067 * conf/sparc64-ieee1275.rmk: Likewise.
32068 * conf/x86_64-efi.rmk: Likewise.
32069 * fs/i386/pc/pxe.c: Likewise.
32070 * gettext/gettext.c: Likewise.
32071 * include/grub/efi/graphics_output.h: Likewise.
32072 * include/grub/i386/pc/memory.h: Likewise.
32073 * kern/env.c: Likewise.
32074 * kern/i386/qemu/startup.S: Likewise.
32075 * lib/i386/pc/biosnum.c: Likewise.
32076 * lib/i386/relocator.c: Likewise.
32077 * lib/i386/relocator_asm.S: Likewise.
32078 * lib/relocator.c: Likewise.
32079 * loader/i386/bsd.c: Likewise.
32080 * loader/i386/multiboot.c: Likewise.
32081 * loader/i386/pc/chainloader.c: Likewise.
32082 * loader/i386/xnu.c: Likewise.
32083 * loader/xnu.c: Likewise.
32084 * normal/main.c: Likewise.
32085 * normal/menu_text.c: Likewise.
32086 * util/getroot.c: Likewise.
32087 * util/grub-mkconfig_lib.in: Likewise.
32088 * util/grub.d/00_header.in: Likewise.
32089 * util/i386/pc/grub-mkimage.c: Likewise.
32090 * util/mkisofs/eltorito.c: Likewise.
32091 * util/mkisofs/exclude.h: Likewise.
32092 * util/mkisofs/hash.c: Likewise.
32093 * util/mkisofs/iso9660.h: Likewise.
32094 * util/mkisofs/joliet.c: Likewise.
32095 * util/mkisofs/mkisofs.c: Likewise.
32096 * util/mkisofs/mkisofs.h: Likewise.
32097 * util/mkisofs/multi.c: Likewise.
32098 * util/mkisofs/name.c: Likewise.
32099 * util/mkisofs/rock.c: Likewise.
32100 * util/mkisofs/tree.c: Likewise.
32101 * util/mkisofs/write.c: Likewise.
32102 * video/efi_gop.c: Likewise.
32103
009ec743
VS
321042009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32105
32106 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32107 size counting.
32108
0ad46fd7 321092009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32110
32111 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32112 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32113
d3d30ea0
VS
321142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32115
32116 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32117 (GRUB_MOD_INIT(memrw)): Update help line.
32118
a34f5c70
VS
321192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32120
32121 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32122 Use grub_extcmd_t. All users updated.
32123 (options): New variable.
32124 (grub_cmd_read): Restructure for readability. Support "-v" option.
32125 (grub_cmd_write): Restructure for readability.
32126
0ad46fd7 321272009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32128
32129 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32130
0ad46fd7 321312009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32132
32133 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32134 with the actual contents of the correspondending make variable.
32135 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32136 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32137 specifying `*.lst' and `efiemu??.o'
32138
0ad46fd7 321392009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32140
32141 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32142 after function name.
32143 Noticed by Rene Engelhard <rene@debian.org>.
32144
dc77a799
VS
321452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32146
32147 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32148 (options): New variable.
32149 (iospace): Likewise.
32150 (grub_lspci_iter): List IO spaces if "-i" was given.
32151 (grub_cmd_lspci): Parse options.
32152 (GRUB_MOD_INIT(lspci)): Use extcmd.
32153 (GRUB_MOD_FINI(lspci)): Likewise.
32154
0ad46fd7 321552009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32156
32157 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32158 `function' keyword.
32159 Patch by Tony Mancill <tmancill@debian.org>.
32160
b5d5993b
VS
321612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32162
32163 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32164 (grub_uhci_portstatus): Likewise.
32165 (grub_uhci_portstatus): Add necessary delay.
11d18281 32166 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32167
941903f2 321682009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32169
941903f2 32170 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32171 (GRUB_MOD_INIT): Likewise.
32172 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32173 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32174 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32175 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32176 (enable_rom_area): Likewise.
32177 (GRUB_MOD_INIT): Likewise.
32178 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32179 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32180 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32181 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32182 * commands/hexdump.c (options): Likewise.
32183 * commands/i386/cpuid.c (options): Likewise.
32184 (GRUB_MOD_INIT): Likewise.
32185 * commands/i386/pc/drivemap.c (options): Likewise.
32186 (GRUB_MOD_INIT): Likewise.
32187 * commands/i386/pc/halt (options): Likewise.
32188 (GRUB_MOD_INIT): Likewise.
32189 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32190 * commands/i386/pc/pxecmd.c (options): Likewise.
32191 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32192 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32193 * commands/keystatus.c (options): Likewise.
32194 (GRUB_MOD_INIT): Likewise.
32195 * commands/loadenv.c (options): Likewise.
32196 * commands/ls.c (options): Likewise.
32197 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32198 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32199 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32200 * commands/parttool.c (helpmsg): Likewise.
32201 * commands/probe.c (options): Likewise.
32202 * commands/read.c (GRUB_MOD_INIT): Likewise.
32203 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32204 * commands/search.c (options): Likewise.
32205 * commands/sleep.c (options): Likewise.
32206 * commands/test.c (GRUB_MOD_INIT): Likewise.
32207 * commands/true.c (GRUB_MOD_INIT): Likewise.
32208 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32209 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32210 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32211 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32212 `$(XGETTEXT)'.
98a50553 32213 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32214
0ad46fd7 322152009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32216
ef3c2c3a 32217 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32218 instead of specifying them explicit.
32219
7922f68b
RM
322202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32221
32222 * NEWS: Add grub-probe support for GNU/Hurd.
32223
537ce47f
RM
322242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32225
32226 * NEWS: gettext was added after 1.97.
32227
9b214e3a
RM
322282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32229
32230 * util/mkisofs/msdos_partition.h: New file (based on
32231 include/grub/msdos_partition.h).
32232 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32233 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32234 (ld_options, main): Recognize --protective-msdos-label.
32235 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32236 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32237 (padblock_write): If `use_protective_msdos_label' is set, patch a
32238 protective DOS-style label in the output image.
32239
32240 * util/grub-mkrescue.in: Use --protective-msdos-label.
32241
e9309813
RM
322422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32245 boot.
32246
0ae56929
RM
322472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32248
32249 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32250 variables.
32251 (ld_options, main): Recognize `--embedded-boot'.
32252 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32253 declarations.
32254 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32255 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32256 (padblock_write): Likewise. Rewrite to support embedded boot image.
32257
32258 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32259 for BIOS-based disk boot instead of only ElTorito.
32260
b15937b1
RM
322612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32262
32263 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32264 build (not needed for bootstrap).
32265
52cc3ce0
RM
322662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32267
32268 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32269 from i386-pc build (not needed for bootstrap).
32270 Rewrite a pair of strings.
32271
36f5ff04
RM
322722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32273
32274 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32275
973c6c85 322762009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32277
32278 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32279
05d21547
AB
322802009-12-21 Andreas Born <futur.andy@googlemail.com>
32281
32282 * kern/env.c (grub_env_context_open): Mark exported variable for
32283 reexport.
32284
0175d51f
AB
322852009-12-21 Andreas Born <futur.andy@googlemail.com>
32286
32287 * kern/env.c (grub_env_export): Create nonexistent variables before
32288 exporting.
32289
7f39d92f 322902009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32291
7f39d92f 32292 * include/grub/auth.h: Include `<grub/i18n.h>'.
32293 (GRUB_GET_PASSWORD): Gettextizze string.
32294 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32295 menu_text.c.
32296 (grub_utf8_to_ucs4_alloc): Fix indentation.
32297 (grub_print_ucs4): Likewise.
32298 (grub_getstringwidth): Likewise.
32299 (print_message_indented): New declaration.
32300 * normal/auth.c: Include `<grub/i18n.h>'.
32301 (grub_auth_check_authentication): Gettexttize string.
32302 * normal/cmdline.c: Include `<grub/i18n.h>'.
32303 (grub_cmdline_get): Gettextizze.
32304 * normal/color.c: Include `<grub/i18n.h>'.
32305 (grub_parse_color_name_pair): Gettexttize strings.
32306 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32307 string (use `print_message_indented').
32308 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32309 `include/grub/normal.h'.
32310 (print_message_indented): Renamed to ...
32311 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32312 used in normal/main.c).
32313 (print_message): Use `grub_print_message_indented' instead of
32314 `print_message_indented'.
32315 (print_timeout): Likewise.
32316 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32317 (grub_normal_print_device_info): Gettexttize strings.
32318 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32319
3041d898
VS
323202009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32321
32322 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32323 of arguments. Return number of tokens and not arguments. All users
32324 updated.
32325
de15bf8e
VS
323262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32327
32328 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32329 non-MSDOS paritions.
32330
e0a6ca52
VS
323312009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32332
32333 * include/grub/types.h (UNUSED): Removed since it conflicts with
32334 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32335 Reported by Grégoire Sutre.
32336
b99518d1 323372009-12-19 Carles Pina i Estany <carles@pina.cat>
32338
32339 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32340 (grub_print_ucs4_alloc): Likewise.
32341 (grub_getstringwidth): Likewise.
32342 * normal/main.c (grub_normal_init_page): Gettextize version string.
32343 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32344 (getstringwidth): Renamed to ...
32345 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32346 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32347 (grub_print_ucs4): Remove `static' qualifer (now used in
32348 normal/main.c).
32349 * po/POTFILES: Add normal/main.c.
32350
bfd5e52b 323512009-12-19 Carles Pina i Estany <carles@pina.cat>
32352
32353 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32354 (print_message_indented): Add `margin_left' and `margin_right'
32355 parameters.
32356 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32357 strings.
32358 (print_timeout): Use `print_message_indented' to print the message.
32359 Deletes `second_stage' parameter.
32360 (run_menu): Update `print_timeout' calls.
32361
5a1ad2b9
VS
323622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32363
32364 Fix console palette on OpenFirmware.
32365
32366 * term/ieee1275/ofconsole.c (MAX): Removed.
32367 (colors): Redone based on VGA palette.
32368 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32369 colors are supported.
32370 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32371
b045f00a
VS
323722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32373
32374 Fix potential EfiEmu double prepare.
32375
32376 * efiemu/main.c (prepared): New variable
32377 (grub_efiemu_unload): Set prepare to '0'.
32378 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32379
32380 set_virtual_address_map support.
32381
32382 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32383 prototype.
32384 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32385 prototype.
32386 (grub_efiemu_crc32): Likewise.
32387 (grub_efiemu_crc64): Likewise.
32388 (grub_efiemu_set_virtual_address_map): Likewise.
32389 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32390 New definition.
32391 (grub_autoefi_set_virtual_address_map): Likewise.
32392 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32393 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32394 Restructure flow to accomodate it.
32395 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32396 (grub_efiemu_crc): Recompute CRC32.
32397 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32398 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32399 * efiemu/symbols.c (relocated_handle): New variable.
32400 (grub_efiemu_free_syms): Free relocated_handle.
32401 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32402 (grub_efiemu_write_sym_markers): New function.
32403 (grub_efiemu_set_virtual_address_map): Likewise.
32404
32405 Newer XNU parameters.
32406
32407 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32408 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32409 (grub_xnu_fill_devicetree): New prototype.
32410 (grub_xnu_heap_real_start): New variable.
32411 * loader/xnu.c (get_name_ptr): New function.
32412 (grub_xnu_load_driver): Fill namelen and name.
32413
32414 64-bit xnu support.
32415
32416 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32417 and 'loader/macho64.c'.
32418 * conf/i386-pc.rmk: Likewise.
32419 * conf/x86_64-efi.rmk: Likewise.
32420 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32421 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32422 * include/grub/macho.h (grub_macho_segment64): New structure.
32423 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32424 (grub_macho_size32): ... to this.
32425 (grub_macho32_get_entry_point): Renamed from ...
32426 (grub_macho_get_entry_point32): ... to this.
32427 (grub_macho_contains_macho64): New prototype.
32428 (grub_macho_size64): Likewise.
32429 (grub_macho_get_entry_point64): Likewise.
32430 (grub_macho32_load): Renamed from ...
32431 (grub_macho_load32): ... to this.
32432 (grub_macho32_filesize): Renamed from ...
32433 (grub_macho_filesize32): ... to this.
32434 (grub_macho32_readfile): Renamed from ...
32435 (grub_macho_readfile32): ... to this.
32436 (grub_macho_filesize64): New prototype.
32437 (grub_macho_readfile64): Likewise.
32438 (grub_macho_parse32): Likewise.
32439 (grub_macho_parse64): Likewise.
32440 * loader/macho.c: Split into ...
32441 * loader/machoXX.c: ... and this. Replace 32 with XX.
32442 * loader/macho32.c: New file.
32443 * loader/macho64.c: Likewise.
32444 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32445 (grub_cmd_xnu_kernel): Make 32-bit only.
32446 (grub_cmd_xnu_kernel64): New function.
32447 (grub_xnu_load_driver): Support Mach-O 64.
32448 (grub_cmd_xnu_mkext): Likewise.
32449 * util/grub.d/30_os-prober.in (osx_entry): New function.
32450 Generate entries for 64-bit boot too.
32451
32452 Eliminate ad-hoc tree format in XNU and EfiEmu.
32453
32454 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32455 * efiemu/pnvram.c: Rewritten to use environment variables.
32456 All users updated.
32457
32458 Inline utf16_to_utf8.
32459
32460 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32461 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32462 All users updated.
32463 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32464
32465 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32466 * commands/usbtest.c (grub_usb_get_string): ... move here.
32467 (usb_print_str): Fix error handling.
32468 * include/grub/usb.h (grub_usb_get_string): Remove.
32469
32470 UTF-8 to UTF-16 transformation.
32471
32472 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32473 (charset_mod_SOURCES): New variable.
32474 (charset_mod_CFLAGS): Likewise.
32475 (charset_mod_LDFLAGS): Likewise.
32476 * include/grub/utf.h: New file.
32477 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32478
32479 Support for device properties.
32480
32481 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32482 (grub_xnu_devprop_device_header): Likewise.
32483 (grub_xnu_devprop_device_descriptor): Likewise.
32484 (grub_xnu_devprop_add_device): New prototype.
32485 (grub_xnu_devprop_remove_device): Likewise.
32486 (grub_xnu_devprop_remove_property): Likewise.
32487 (grub_xnu_devprop_add_property_utf8): Likewise.
32488 (grub_xnu_devprop_add_property_utf16): Likewise.
32489 (grub_cpu_xnu_init): Likewise.
32490 (grub_cpu_xnu_fini): Likewise.
32491 (grub_cpu_xnu_unload): Likewise.
32492 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32493 (property_descriptor): Likewise.
32494 (devices): New variable.
32495 (grub_xnu_devprop_remove_property): New function.
32496 (grub_xnu_devprop_add_device): Likewise.
32497 (grub_xnu_devprop_remove_device): Likewise.
32498 (grub_xnu_devprop_add_property): Likewise.
32499 (grub_xnu_devprop_add_property_utf8): Likewise.
32500 (grub_xnu_devprop_add_property_utf16): Likewise.
32501 (hextoval): Likewise.
32502 (grub_cpu_xnu_fill_devprop): Likewise.
32503 (grub_cmd_devprop_load): Likewise.
32504 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32505 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32506 (cmd_devprop_load): New variable.
32507 (grub_cpu_xnu_init): New function.
32508 (grub_cpu_xnu_fini): Likewise.
32509 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32510 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32511 (grub_cmd_xnu_devtree): Likewise.
32512 (hextoval): New function.
32513 (unescape): Likewise.
32514 (grub_xnu_fill_devicetree): Likewise.
32515
32516 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32517 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32518
0945f181
VS
325192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32520
32521 Workaround for broken ATI VBE.
32522
32523 * video/i386/pc/vbe.c (last_set_mode): New variable.
32524 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32525 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32526 (grub_video_vbe_setup): Don't check for reserved flag.
32527
0ad46fd7 325282009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32529
32530 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32531 the `find' command.
32532
c179ebe4
VS
325332009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32534
32535 UUID support for HFS.
32536
32537 * fs/hfs.c (grub_hfs_uuid): New function.
32538 (grub_hfs_fs): New value .uuid.
32539 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32540
0ad46fd7 325412009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32542
32543 Fix a segfault with parsing unknown long options.
32544
32545 * util/grub-mkrelpath.c (options): Zero terminate it.
32546
c4a3e41a
CPE
325472009-12-13 Carles Pina i Estany <carles@pina.cat>
32548
32549 * include/grub/misc.h (grub_puts): New declaration.
32550 (grub_puts_): Likewise.
a22008a6 32551 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32552 (grub_puts_): Likewise.
32553
2e8a7602
RM
325542009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32555
32556 * util/grub-probe.c (probe): Improve error message.
32557
b50b77b9
RM
325582009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32559
32560 * loader/i386/multiboot_elfxx.c
32561 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32562 initialization.
32563
325642009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32565
32566 Relocator framework
32567
32568 * loader/i386/xnu_helper.S: Removed. All users updated.
32569 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32570 (relocator_mod_SOURCES): New variable.
32571 (relocator_mod_CFLAGS): Likewise.
32572 (relocator_mod_LDFLAGS): Likewise.
32573 (relocator_mod_ASFLAGS): Likewise.
32574 * conf/x86_64.rmk: Likewise.
32575 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32576 (grub_multiboot_payload_entry_offset): Likewise.
32577 (grub_multiboot_forward_relocator): Likewise.
32578 (grub_multiboot_forward_relocator_end): Likewise.
32579 (grub_multiboot_backward_relocator): Likewise.
32580 (grub_multiboot_backward_relocator_end): Likewise.
32581 (grub_multiboot_payload_eip): New variable.
32582 (grub_multiboot_payload_orig): Likewise.
32583 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32584 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32585 * include/grub/i386/memory.h
32586 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32587 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32588 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32589 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32590 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32591 * include/grub/i386/relocator.h: New file.
32592 * include/grub/x86_64/relocator.h: Likewise.
32593 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32594 (XNU_RELOCATOR): New macro.
32595 (grub_xnu_launcher_start): Remove.
32596 (grub_xnu_launcher_end): Likewise.
32597 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32598 (grub_xnu_heap_real_start): Remove.
32599 (grub_xnu_heap_start): Change to void *. All users updated.
32600 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32601 * lib/i386/relocator.c: New file.
32602 * lib/i386/relocator_asm.S: Likewise.
32603 * lib/i386/relocator_backward.S: Likewise.
32604 * lib/mips/relocator.c: Likewise.
32605 * lib/mips/relocator_asm.S: Likewise.
32606 * lib/relocator.c: Likewise.
32607 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32608 (entry): Removed.
32609 (playground): Likewise.
32610 (grub_multiboot_payload_orig): New variable.
32611 (grub_multiboot_payload_dest): Likewise.
32612 (grub_multiboot_payload_size): Likewise.
32613 (grub_multiboot_payload_eip): Likewise.
32614 (grub_multiboot_payload_esp): Likewise.
32615 (grub_multiboot_boot): Use grub_relocator32_boot.
32616 (grub_multiboot_unload): Free relocators.
32617 (grub_multiboot): Setup stack. Use relocators.
32618 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32619 (grub_multiboot_load_elfXX): Use relocators.
32620 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32621 (grub_multiboot_payload_size): Likewise.
32622 (grub_multiboot_payload_dest): Likewise.
32623 (grub_multiboot_payload_entry_offset): Likewise.
32624 (grub_multiboot_forward_relocator): Likewise.
32625 (grub_multiboot_backward_relocator): Likewise.
32626 (grub_multiboot_real_boot): Likewise.
32627 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32628 (grub_xnu_entry_point): Likewise.
32629 (grub_xnu_arg1): Likewise.
32630 (grub_xnu_stack): Likewise.
32631 (grub_xnu_launch): Removed.
32632 (grub_xnu_boot_resume): New function.
32633 (grub_xnu_boot): Use relocators.
32634 * loader/i386/xnu_helper.S: Removed.
32635 * loader/xnu.c (grub_xnu_heap_start): New variable.
32636 (grub_xnu_heap_size): Likewise.
32637 (grub_xnu_heap_malloc): Use relocators.
32638 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32639
29eb90c6
VS
326402009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32641
32642 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32643 anything.
32644
31027430
CPE
326452009-12-13 Carles Pina i Estany <carles@pina.cat>
32646
32647 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32648 GRUB_ERR_NONE before calling grub_env_set.
32649
dc0c71d9
RM
326502009-12-12 Robert Millan <rmh@aybabtu.com>
32651
32652 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32653 * genmk.rb (video): New variable.
32654 (CLEANFILES, VIDEOFILES): Add #{video}.
32655 (#{video}): New target rule.
32656 * genvideolist.sh: New file.
32657 * Makefile.in (pkglib_DATA): Add video.lst.
32658 (video.lst): New target rule.
32659 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32660 `video.lst'.
32661 * util/grub.d/30_os-prober.in: Replace `vbe' with
32662 ${GRUB_VIDEO_BACKEND}.
32663
2a4bfcf0
RM
326642009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32665
32666 * THANKS: Add David Miller.
32667
2a3aa4d5
RM
326682009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32669
32670 libpciaccess support.
32671
32672 * Makefile.in (LIBPCIACCESS): New variable.
32673 (enable_grub_emu_pci): Likewise.
32674 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32675 util/pci.c and commands/lspci.c.
32676 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32677 * configure.ac (grub-emu-pci): New option.
32678 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32679 (grub_pci_device_unmap_range): Likewise.
32680 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32681 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32682 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32683 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32684 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32685 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32686 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32687 * include/grub/pciutils.h: New file.
32688 * util/pci.c: Likewise.
32689
0ad46fd7 326902009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32691
32692 * util/misc.c: Don't include <errno.h> twice.
32693
0ad46fd7 326942009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32695
32696 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32697 name in an error message.
32698 (grub_biosdisk_rw): Likewise.
32699
2e59983c
VS
327002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32701
32702 Eliminate NTFS 4Gib barrier.
32703
32704 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32705 (read_run_data): Likewise.
32706 (grub_ntfs_read_run_list): Likewise.
32707 (grub_ntfs_read_block): Likewise.
32708 (grub_ntfs_iterate_dir): Likewise.
32709 (read_mft): Likewise.
32710 (read_data): Likewise.
32711 Use COM_LOG_LEN.
32712 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32713 to avoid 64-bit division
32714 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32715 (grub_ntfs_rlst): Use grub_disk_addr_t.
32716
71ee178a
VS
327172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32718
32719 Eliminate grub-fstest 4Gib barrier.
32720
32721 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32722 (read_file): Fix error reporting.
32723
2520d4b8
VS
327242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32725
32726 Eliminate hexdump 4Gib barrier.
32727
32728 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32729 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32730
e1f27065
VS
327312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32732
32733 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32734 Fixes amarsh bug.
32735
1a0f7f45
RM
327362009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32737
32738 Remove miscellaneous files in distclean target.
32739
32740 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32741
c631d9fb
CW
327422009-12-09 Colin Watson <cjwatson@ubuntu.com>
32743
32744 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32745 if they're already set. This resolves the conflict between my
32746 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32747 fixing the --grub-probe option again.
32748 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32749 change on 2009-10-06, so that we now once again source
32750 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32751
7c7b6106
RM
327522009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32753
32754 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32755 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32756 `util/devicemap.c'.
32757
e3069ec1
CPE
327582009-12-08 Carles Pina i Estany <carles@pina.cat>
32759
32760 * include/grub/misc.h (grub_printf_): New declaration.
32761 * kern/misc.c (grub_printf_): New definition.
32762 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32763 instead of `grub_printf' and `_'.
32764 * normal/menu_entry.c (store_completion): Likewise.
32765 (run): Likewise.
32766 (grub_menu_entry_run): Likewise.
32767 * normal/menu_text.c (grub_wait_after_message): Likewise.
32768 (notify_booting): Likewise.
32769 (notify_fallback): Likewise.
32770 (notify_execution_failure): Likewise.
32771
d6ceebf1
CW
327722009-12-07 Colin Watson <cjwatson@ubuntu.com>
32773
32774 * configure.ac: Check for vasprintf.
32775 * util/misc.c (asprintf): Move allocation from here ...
32776 (vasprintf): ... to here. New function.
32777 (xasprintf): New function.
32778 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32779 prototypes.
32780 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32781 * util/grub-mkfont.c (write_font): Likewise.
32782 * util/grub-probe.c (probe): Likewise.
32783 * util/hostdisk.c (make_device_name): Likewise.
32784
de6daa8b
DM
327852009-12-06 David S. Miller <davem@sunset.davemloft.net>
32786
32787 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32788 anything even prefixed with 'cdrom' as a cdrom.
32789
0ad46fd7 327902009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32791
32792 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32793 mount points.
32794
98d3dc02
CPE
327952009-12-05 Carles Pina i Estany <carles@pina.cat>
32796
32797 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32798 grub_gettext_msg_list.
32799 (grub_gettext_gettranslation_from_position): Return const char *
32800 and not char *.
a2c1332b 32801 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32802 returns from the list if existing there.
32803 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32804 (grub_gettext_delete_list): Delete the list.
32805 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32806 lang environment variable is changed.
32807 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32808
b283f108
VS
328092009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32810
32811 Rename kernel.mod to kernel.img.
32812
32813 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32814 (kernel_mod_EXPORTS): Rename to ...
32815 (kernel_img_EXPORTS): ... this.
32816 (kernel_mod_SOURCES): Rename to ...
32817 (kernel_img_SOURCES): ... this.
32818 (kernel_mod_HEADERS): Rename to ...
32819 (kernel_img_HEADERS): ... this. All users updated.
32820 (kernel_mod_CFLAGS): Rename to ...
32821 (kernel_img_CFLAGS): ... this.
32822 (kernel_mod_ASFLAGS): Rename to ...
32823 (kernel_img_ASFLAGS): ... this.
32824 (kernel_mod_LDFLAGS): Rename to ...
32825 (kernel_img_LDFLAGS): ... this.
32826 * conf/x86_64-efi.rmk: Likewise.
32827 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32828 (read_kernel_image): ... this. All users updated.
32829 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32830
69055f8a
CPE
328312009-12-05 Carles Pina i Estany <carles@pina.cat>
32832
32833 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32834 (print_spaces): New function.
32835 (grub_print_ucs4): New function.
32836 (getstringwidth): New function.
32837 (print_message_indented): New function.
32838 (print_message): Gettexttize strings using print_message_indented.
32839 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32840 width.
32841 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32842 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32843 Gettextize.
32844 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32845 string.
32846 (run): Likewise.
32847 (grub_menu_entry_run): Likewise.
32848 * PO/POTFILES: Add normal/menu_entry.c.
32849
f616f51c
VS
328502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32851
32852 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32853
57bbe3be
CPE
328542009-12-05 Carles Pina i Estany <carles@pina.cat>
32855
32856 * util/grub-install.in: Install gettext .mo files.
32857 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32858
013d67a1
CPE
328592009-12-05 Carles Pina i Estany <carles@pina.cat>
32860
32861 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32862 grub_dprintf.
32863
fb954db0
RM
328642009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32865
32866 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32867 non-firmware-dependant one in realmode.S takes precedence.
32868
6b8474f8
RM
328692009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 * commands/halt.c: Replace misc arch-specific headers with
32872 `<grub/misc.h>'.
32873 * commands/reboot.c: Likewise.
32874 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32875 `<grub/misc.h>'.
32876 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32877 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32878 (kernel_img_SOURCES): ... to here.
32879
32880 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32881 * include/grub/i386/pc/init.h: Likewise.
32882 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32883 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32884
32885 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32886
32887 * include/grub/i386/halt.h: Remove.
32888 * include/grub/i386/reboot.h: Likewise.
32889
32890 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32891
4b2e6ca2
DM
328922009-12-03 David S. Miller <davem@sunset.davemloft.net>
32893
32894 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32895 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32896 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32897 "progname.h"
32898 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32899 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32900 (usage): Add missing comma in printf.
32901
5239348f
RM
329022009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32903
32904 Use the same reboot approach on i386 coreboot and qemu as we do on
32905 BIOS.
32906
32907 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32908 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32909 * kern/i386/reboot.c: Remove.
32910 * include/grub/i386/reboot.h (grub_reboot): Export function.
32911 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32912 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32913 0xf000:0xfff0 instead of 0xffff:0x0000.
32914 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32915 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32916
ef34cbd4
RM
329172009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32918
32919 Fix $srcdir != $objdir build.
32920
32921 * Makefile.in (po/%.po): Rewrite as ...
32922 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32923
dc9837ea
ST
329242009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32925
32926 Fix GNU/Hurd grub-install crash.
32927 * util/grub-probe.c (probe): Try to access `path' only when it is not
32928 NULL.
32929
2f857f98
VS
329302009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32931
32932 Correct module naming.
32933
32934 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32935 (GRUB_MOD_INIT(efi_uga)): ... to this
32936 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32937 (GRUB_MOD_FINI(efi_uga)): ... to this
32938 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32939 (GRUB_MOD_INIT(efi_gop)): ... to this
32940 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32941 (GRUB_MOD_FINI(efi_gop)): ... to this
32942
c5448046
RM
329432009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32946 translatable.
32947 (usage): Translate `arg' strings using gettext().
32948 Thanks to Jordi Mallach for the suggestion.
32949
c85184ad
VS
329502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32951
32952 GOP support. Based on patch from Bean
32953 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32954
32955 * video/efi_gop.c: New file.
32956 * include/grub/efi/graphics_output.h: Likewise.
32957 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32958 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32959 variables.
32960 * conf/x86_64-efi.rmk: Likewise.
32961
8a4c48d8
VS
329622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32963
32964 Rename efi_fb to efi_uga.
32965
32966 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32967 'efi_uga.mod'.
32968 (efi_fb_mod_SOURCES): Rename this ...
32969 (efi_uga_mod_SOURCES): ... to this.
32970 (efi_fb_mod_CFLAGS): Rename this ...
32971 (efi_uga_mod_CFLAGS): ... to this.
32972 (efi_fb_mod_LDFLAGS): Rename this ...
32973 (efi_uga_mod_LDFLAGS): ... to this.
32974 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32975 'efi_uga.mod'.
32976 (efi_fb_mod_SOURCES): Rename this ...
32977 (efi_uga_mod_SOURCES): ... to this.
32978 (efi_fb_mod_CFLAGS): Rename this ...
32979 (efi_uga_mod_CFLAGS): ... to this.
32980 (efi_fb_mod_LDFLAGS): Rename this ...
32981 (efi_uga_mod_LDFLAGS): ... to this.
32982 * video/efi_fb.c: Move this ...
32983 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32984
fb6c1a7b
RM
329852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32986
32987 * po/README: New file. Explain our PO file workflow.
32988
3bc7896c
RM
329892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32990
32991 * po/ChangeLog: Remove. Move relevant entries back to ...
32992 * ChangeLog: ... here.
32993 * po/ca.po: Remove (now handled by TLP).
32994 * po/id.po: Likewise.
32995 * po/zh_CN.po: Likewise.
32996 * Makefile.in (LINGUAS): Initialize in a way that supports
32997 empty set.
32998
9ed4841d
RM
329992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33000
33001 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33002 reliing on po/LINGUAS.
33003 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33004 (po/%.po): ... this.
33005
0ad46fd7 330062009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33007
33008 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33009 (main): Use `program_name' instead of nonexistent `progname'.
33010
e30dd392
FZ
330112009-11-26 Felix Zielcke <fzielcke@z-51.de>
33012
33013 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33014 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33015
7656de4f
RM
330162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33017
33018 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33019 commit.
33020 * conf/i386-efi.rmk: Likewise.
33021 * conf/i386-ieee1275.rmk: Likewise.
33022 * conf/powerpc-ieee1275.rmk: Likewise.
33023 * conf/sparc64-ieee1275.rmk: Likewise.
33024 * conf/x86_64-efi.rmk: Likewise.
33025
db77c4d4
FZ
330262009-11-26 Felix Zielcke <fzielcke@z-51.de>
33027
33028 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33029
a755bb04
FZ
330302009-11-26 Felix Zielcke <fzielcke@z-51.de>
33031
33032 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33033
8a4c07fd
RM
330342009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33035
33036 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33037 (grub_mkdevicemap_SOURCES): New variable.
33038 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33039 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33040 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33041 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33042 (grub_mkdevicemap_SOURCES): Remove.
33043 * conf/i386-efi.rmk: Likewise.
33044 * conf/i386-ieee1275.rmk: Likewise.
33045 * conf/i386-pc.rmk: Likewise.
33046 * conf/powerpc-ieee1275.rmk: Likewise.
33047 * conf/sparc64-ieee1275.rmk: Likewise.
33048 * conf/x86_64-efi.rmk: Likewise.
33049 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33050 (usage): Fix strings to use `program_name'.
33051 (main): Initialize gettext.
33052 * util/grub-editenv.c: Likewise.
33053 * util/grub-emu.c: Likewise.
33054 * util/grub-fstest.c: Likewise.
33055 * util/grub-mkdevicemap.c: Likewise.
33056 * util/grub-mkfont.c: Likewise.
33057 * util/grub-mkrelpath.c: Likewise.
33058 * util/grub-pe2elf.c: Likewise.
33059 * util/grub-probe.c: Likewise.
33060 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33061 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33062 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33063
33064 * util/misc.c: Include `"progname.h"'.
33065 (progname): Remove variable.
33066 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33067
6f61ed55
FZ
330682009-11-25 Felix Zielcke <fzielcke@z-51.de>
33069
33070 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33071 printf and print a newline after the menuentry header line.
33072 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33073
f022876b
FZ
330742009-11-25 Felix Zielcke <fzielcke@z-51.de>
33075
33076 autoconf >= 2.60 support $(localedir).
33077
33078 * INSTALL: Note that autoconf 2.60 is required.
33079 * configure.ac (AC_PREREQ): Bump to 2.60.
33080 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33081 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33082
6717926e
YB
330832009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33084
33085 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33086 aclocal is run.
33087
08806a54
RM
330882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33089
33090 * normal/main.c (grub_normal_read_line): Fix off-by-one
33091 buffer overflow.
33092
13b33fba
RM
330932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33094
33095 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33096 "parser.grub" in grub_command_execute() call.
33097
4a8572e9
CPE
330982009-11-24 Carles Pina i Estany <carles@pina.cat>
33099
33100 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33101 * conf/i386-efi.rmk: Likewise.
33102 * conf/i386-ieee1275.rmk: Likewise.
33103 * conf/i386-pc.rmk: Likewise.
33104 * conf/powerpc-ieee1275.rmk: Likewise.
33105 * conf/sparc64-ieee1275.rmk: Likewise.
33106 * conf/x86_64-efi.rmk: Likewise.
33107 * gettext/gettex.c: Include <grub/i18n.h>.
33108 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33109 here ...
33110 * include/grub/i18n.h: ... to here
33111 * include/grub/i18n.h: ... to here.
33112 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33113 (grub_gettext_dummy): Move above user.
4a8572e9 33114
bee48093
FZ
331152009-11-24 Felix Zielcke <fzielcke@z-51.de>
33116
33117 * util/Makefile.in (install-local): Convert a `for' into a normal
33118 shell expansion.
33119
a031e91c
RM
331202009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33121
33122 * autogen.sh: Add automake call.
33123 * config.guess: Remove.
33124 * config.sub: Likewise.
33125 * install-sh: Likewise.
33126
26bec39d
FZ
331272009-11-24 Felix Zielcke <fzielcke@z-51.de>
33128
33129 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33130
8e2532fd
FZ
331312009-11-24 Felix Zielcke <fzielcke@z-51.de>
33132
33133 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33134 function to a normal shell `for'.
33135
fefa1b7d
FZ
331362009-11-24 Felix Zielcke <fzielcke@z-51.de>
33137
33138 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33139
4501250b
FZ
331402009-11-24 Felix Zielcke <fzielcke@z-51.de>
33141
33142 * util/grub-mkrelpath.c: New file.
33143 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33144 (grub_mkrelpath_SOURCES): New variable.
33145 * include/grub/util/misc.h: New function prototype.
33146 * util/misc.c (make_system_path_relative_to_its_root): New function.
33147
33148 * util/grub-mkconfig_lib.in (bindir): New variable.
33149 (grub_mkrelpath): Likewise.
33150 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33151
33152 * util/probe.c (probe): Make the file path relative to its root.
33153 Change a info message to use the GRUB path. Enable again the
33154 check if we can read the file with GRUB facilities.
33155
33156 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33157 to its root.
33158
11d9778b
FZ
331592009-11-24 Felix Zielcke <fzielcke@z-51.de>
33160
33161 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33162 platform.
33163
4465287d
FZ
331642009-11-24 Felix Zielcke <fzielcke@z-51.de>
33165
33166 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33167 strncmp().
33168
62b47f22
FZ
331692009-11-24 Felix Zielcke <fzielcke@z-51.de>
33170
33171 * util/getroot.c (grub_util_is_dmraid): New function.
33172 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33173 devices as normal ones, not as LVM.
33174
1eafb9b9 331752009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33176
33177 * conf/common.rmk: Add grub-gettext_lib target and updates
33178 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33179 LDFLAGS.
33180 * gettext/gettext.c: New file. (Reads mo files).
33181 * include/grub/file.h (grub_file_pread): New prototype.
33182 * include/grub/i18n.h (_): New prototype.
33183 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33184 prototypes.
33185 * kern/misc.c (grub_gettext_dummy): New function.
33186 * normal/menu_text.c: Include <grub/i18n.h>.
33187 * normal/menu_text.c (print_timeout): Gettexttize string.
33188 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33189 * po/POTFILES: Add `normal/menu_text.c'.
33190 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33191 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33192 gettext module and defines locale_dir and lang in grub.cfg.
33193 * NEWS: Add gettext support.
33194
0fdb2568
RM
331952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33196
33197 * util/hostdisk.c: Include `<grub/i18n.h>'.
33198 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33199 (make_device_name): Rewrite using asprintf.
33200 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33201 (find_system_device): If a device is not found, generate one just
33202 by reusing the OS path name.
33203 (read_device_map): Make it permissible for device.map not to exist.
33204
f515aa62
RM
332052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33206
33207 * script/sh/execute.c: Move from here ...
33208 * script/execute.c: ... to here. Update all users.
33209 * script/sh/function.c: Move from here ...
33210 * script/function.c: ... to here. Update all users.
33211 * script/sh/lexer.c: Move from here ...
33212 * script/lexer.c: ... to here. Update all users.
33213 * script/sh/main.c: Move from here ...
33214 * script/main.c: ... to here. Update all users.
33215 * script/sh/parser.y: Move from here ...
33216 * script/parser.y: ... to here. Update all users.
33217 * script/sh/script.c: Move from here ...
33218 * script/script.c: ... to here. Update all users.
33219
f84b481b
RM
332202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33221
33222 * configure.ac: Detect all `emu' platforms. Define
33223 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33224 --enable-grub-emu logic. Disable include/grub/machine
33225 symlink on `emu' platforms.
33226
33227 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33228 * gensymlist.sh.in: Likewise.
33229
33230 * include/grub/i386/coreboot/machine.h: Remove file.
33231 * include/grub/i386/efi/machine.h: Likewise.
33232 * include/grub/i386/ieee1275/machine.h: Likewise.
33233 * include/grub/i386/pc/machine.h: Likewise.
33234 * include/grub/i386/qemu/machine.h: Likewise.
33235 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33236 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33237 * include/grub/x86_64/efi/machine.h: Likewise.
33238
33239 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33240 * commands/halt.c: Likewise.
33241 * commands/reboot.c: Likewise.
33242 * include/grub/autoefi.h: Likewise.
33243 * include/grub/i386/at_keyboard.h: Likewise.
33244 * include/grub/i386/kernel.h: Likewise.
33245 * include/grub/i386/loader.h: Likewise.
33246 * include/grub/i386/pc/memory.h: Likewise.
33247 * kern/dl.c: Likewise.
33248 * kern/i386/coreboot/init.c: Likewise.
33249 * loader/i386/bsd.c: Likewise.
33250 * loader/i386/linux.c: Likewise.
33251 * loader/multiboot_loader.c: Likewise.
33252 * term/i386/pc/serial.c: Likewise.
33253 * term/usb_keyboard.c: Likewise.
33254
33255 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33256 `<grub/machine/machine.h>'
33257 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33258 * util/misc.c: Remove `<grub/machine/machine.h>' and
33259 `<grub/machine/time.h>'.
33260
33261 * Makefile.in (enable_grub_emu): Remove variable.
33262 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33263
33264 * conf/any-emu.rmk: New file.
33265 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33266 (grub_emu_init.c): Move from here ...
33267 * conf/any-emu.rmk: ... to here.
33268
33269 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33270 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33271 * conf/any-emu.rmk: ... to here.
33272
4efeab03
RM
332732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33274
33275 * include/grub/parser.h (grub_parser_register): Document need
33276 of `name' parameter.
33277 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33278 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33279 "sh" to "grub".
33280
ea1dd8bf
RM
332812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33282
33283 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33284 `$(XGETTEXT)'.
33285 * include/grub/i18n.h (N_): New macro.
33286 * util/mkisofs/mkisofs.h: Likewise.
33287 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33288 around N_().
33289 (usage): Use gettext() to translate help strings when printing them.
33290
0c140626
RM
332912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33292
33293 Based on patch from Bean
33294 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33295
33296 * video/efi_fb.c: New file.
33297 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33298 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33299 variables.
33300 * conf/x86_64-efi.rmk: Likewise.
33301
87d58298
RM
333022009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33303
33304 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33305 * util/i386/pc/grub-setup.c: Likewise.
33306
994cc3a3
ST
333072009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33308
33309 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33310 <hurd/fs.h>
33311 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33312 file_get_storage_info to implement grub_guess_root_device.
33313
26a61d6a
FZ
333142009-11-21 Felix Zielcke <fzielcke@z-51.de>
33315
33316 * Makefile.in (target): Use make's builtin $(shell) function
33317 instead of calling directly $(SHELL) to create the locale directories,
33318 inside the $(foreach) function.
33319
74ff1dd5
FZ
333202009-11-21 Felix Zielcke <fzielcke@z-51.de>
33321
33322 * util/grub-mkrescue.in: Print an error and usage if output option
33323 has not been given.
33324
0b787d0e
FZ
333252009-11-21 Felix Zielcke <fzielcke@z-51.de>
33326
33327 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33328 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33329 root and /boot are on different devices.
33330
1164b270
RM
333312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33332
33333 Fix build for srcdir != objdir.
33334
33335 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33336 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33337 $(srcdir).
33338 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33339 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33340 reference for input.
33341
13774a2f
RM
333422009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33343
33344 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33345 or hardlinking it). Remove -J option, Joliet is not compatible with
33346 multiple source directories.
33347
efda854e
RM
333482009-11-21 Carles Pina i Estany <carles@pina.cat>
333492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33350
33351 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33352 (process_input_dir): New function. Process an arbitrary input
33353 directory.
33354 Misc adjustments to support both "override mode" and system-wide mode.
33355
6c09890c
FZ
333562009-11-20 Felix Zielcke <fzielcke@z-51.de>
33357
33358 * configure.ac (UNIFONT_BDF): Rename to ...
33359 (FONT_SOURCE): ... this. Update all users.
33360
a797824f
FZ
333612009-11-20 Felix Zielcke <fzielcke@z-51.de>
33362
33363 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33364 to the list of unifont files to look for.
33365
cd4f42b0
RM
333662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33367
33368 Patch from Joe Auricchio <jauricchio@gmail.com>
33369 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33370 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33371 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33372
393c783d
FZ
333732009-11-19 Felix Zielcke <fzielcke@z-51.de>
33374
33375 * Makefile.in (install-local): Add a missing backslash.
33376
b2f1e327
FZ
333772009-11-19 Felix Zielcke <fzielcke@z-51.de>
33378
33379 * include/grub/x86_64/io.h: New file.
33380
f577f7a0
RM
333812009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33382
33383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33384 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33385 Include `"progname.h"'.
33386 (main): Initialize gettext.
33387 * util/i386/pc/grub-setup.c: Gettexttize.
33388 * util/i386/pc/grub-mkimage.c: Likewise.
33389
33390 * Makefile.in (po/*.po): Redefine as ...
33391 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33392
3bc7896c
RM
33393 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33394
c37943b6
RM
333952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33396
33397 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33398 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33399 (program_name): Remove.
33400 (main): Initialize gettext support.
6323f705
RM
33401 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33402 Include `<libintl.h>'.
33403 (_): New macro.
c37943b6
RM
33404
33405 * util/mkisofs/eltorito.c: Gettexttize.
33406 * util/mkisofs/joliet.c: Likewise.
33407 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33408 * util/mkisofs/multi.c: Likewise.
33409 * util/mkisofs/rock.c: Likewise.
33410 * util/mkisofs/tree.c: Likewise.
33411 * util/mkisofs/write.c: Likewise.
33412
3bc7896c
RM
33413 * po/POTFILES: Update with new files.
33414
5ce77c6e
RM
334152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33416
33417 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33418 * util/mkisofs/iso9660.h: Likewise.
33419 * util/mkisofs/joliet.c: Likewise.
33420 * util/mkisofs/mkisofs.c: Likewise.
33421 * util/mkisofs/mkisofs.h: Likewise.
33422 * util/mkisofs/rock.c: Likewise.
33423 * util/mkisofs/tree.c: Likewise.
33424 * util/mkisofs/write.c: Likewise.
33425
33426 * util/mkisofs/eltorito.c (rcsid): Remove.
33427 * util/mkisofs/hash.c: Likewise.
33428 * util/mkisofs/joliet.c: Likewise.
33429 * util/mkisofs/name.c: Likewise.
33430 * util/mkisofs/rock.c: Likewise.
33431 * util/mkisofs/tree.c: Likewise.
33432 * util/mkisofs/write.c: Likewise.
33433
1dabbc77
RM
334342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33435
33436 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33437 instead of static allocation.
33438 * util/mkisofs/match.h: Likewise.
33439
633877cb
RM
334402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33441
3bc7896c
RM
33442 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33443 and `util/grub.d/10_linux.in'.
633877cb
RM
33444 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33445 translatable Shell files.
33446
af1c0c85
RM
334472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33448
33449 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33450
769ae37b
RM
334512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33452
33453 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33454 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33455 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33456 Add gettext initialization.
33457 (kfreebsd_entry): Make menuentry output translatable.
33458
334592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33460
33461 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33462 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33463 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33464 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33465 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33466 * po/LINGUAS: New file.
769ae37b
RM
33467
334682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33469
33470 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33471 other things).
33472 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33473 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33474 bindtextdomain() calls for gettext initialization.
33475
334762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33477
33478 * gnulib/progname.c: New file (imported from Gnulib).
33479 * gnulib/progname.h: Likewise.
33480 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33481 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33482 (usage): Replace `progname' with `program_name'.
33483 (main): Use set_program_name() for program name initialization.
33484
334852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33486
33487 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33488 from here ...
33489 * Makefile.in (CPPFLAGS): ... to here.
33490
334912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33492
33493 * aclocal.m4: Move from here ...
33494 * acinclude.m4: ... to here.
33495 * autogen.sh: Add call to `aclocal'.
33496 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33497
334982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33499
33500 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33501 (LINGUAS): New variable.
33502 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33503 (install-local): Install MO files.
33504 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33505 * include/grub/i18n.h: New file.
3bc7896c
RM
33506 * po/POTFILES: New file.
33507 * po/ca.po: New file.
769ae37b
RM
33508 * util/grub.d/10_linux.in (bindir): New variable.
33509 Add gettext initialization.
33510 (linux_entry): Make menuentry output translatable.
33511 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33512 (usage): Make --help output translatable.
33513 (main): Initialize gettext.
33514
02c0a6ad
RM
335152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 * import_gcry.py: New file (written by Vladimir with minor
33518 adjustments).
33519 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33520 ciphers.
33521 * INSTALL: Document that Python is required for bootstrap.
33522
335232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33524
33525 Import ciphers from libgcrypt 1.4.4.
33526
33527 * lib/libgcrypt/cipher/ChangeLog
33528 * lib/libgcrypt/cipher/ac.c
33529 * lib/libgcrypt/cipher/arcfour.c
33530 * lib/libgcrypt/cipher/bithelp.h
33531 * lib/libgcrypt/cipher/blowfish.c
33532 * lib/libgcrypt/cipher/camellia-glue.c
33533 * lib/libgcrypt/cipher/camellia.c
33534 * lib/libgcrypt/cipher/camellia.h
33535 * lib/libgcrypt/cipher/cast5.c
33536 * lib/libgcrypt/cipher/cipher.c
33537 * lib/libgcrypt/cipher/crc.c
33538 * lib/libgcrypt/cipher/des.c
33539 * lib/libgcrypt/cipher/dsa.c
33540 * lib/libgcrypt/cipher/ecc.c
33541 * lib/libgcrypt/cipher/elgamal.c
33542 * lib/libgcrypt/cipher/hash-common.c
33543 * lib/libgcrypt/cipher/hash-common.h
33544 * lib/libgcrypt/cipher/hmac-tests.c
33545 * lib/libgcrypt/cipher/md.c
33546 * lib/libgcrypt/cipher/md4.c
33547 * lib/libgcrypt/cipher/md5.c
33548 * lib/libgcrypt/cipher/primegen.c
33549 * lib/libgcrypt/cipher/pubkey.c
33550 * lib/libgcrypt/cipher/rfc2268.c
33551 * lib/libgcrypt/cipher/rijndael-tables.h
33552 * lib/libgcrypt/cipher/rijndael.c
33553 * lib/libgcrypt/cipher/rmd.h
33554 * lib/libgcrypt/cipher/rmd160.c
33555 * lib/libgcrypt/cipher/rsa.c
33556 * lib/libgcrypt/cipher/seed.c
33557 * lib/libgcrypt/cipher/serpent.c
33558 * lib/libgcrypt/cipher/sha1.c
33559 * lib/libgcrypt/cipher/sha256.c
33560 * lib/libgcrypt/cipher/sha512.c
33561 * lib/libgcrypt/cipher/tiger.c
33562 * lib/libgcrypt/cipher/twofish.c
33563 * lib/libgcrypt/cipher/whirlpool.c
33564
af2f93ac
RM
335652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33566
33567 Fix build for systems without error().
33568
33569 * gnulib/error.c: New file (imported from Gnulib).
33570 * gnulib/error.h: Likewise.
33571 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33572 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33573 (this variable is now used by error()).
33574
73fb3dd5
FZ
335752009-11-16 Felix Zielcke <fzielcke@z-51.de>
33576
814f5e96
FZ
33577 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33578 instead of relying that char is signed.
73fb3dd5 33579
a691ca33
VS
335802009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33581
33582 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33583 blocksize different from specified.
33584 (grub_pxefs_read): Likewise.
33585
2af8f0f4
FZ
335862009-11-16 Felix Zielcke <fzielcke@z-51.de>
33587
33588 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33589
33590 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33591 (grub_ata_readwrite): Likewise. Update 2 format strings.
33592 (grub_atapi_read): Likewise.
33593
33594 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33595 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33596 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33597 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33598 (ata_mod_LDFLAGS): Move from here ...
33599 * conf/i386.rmk: ... to here ...
33600 * conf/x86_64-efi.rmk: ... and here.
33601 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33602 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33603
83bdecaf
RM
336042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33605
33606 Relicense multiboot.h, with RMS' blessing.
33607
33608 * include/multiboot.h: Change to X11 license.
33609
fd6fd3d7
RM
336102009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33611
33612 Support --version in grub-mkisofs.
33613
33614 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33615 (OPTION_VERSION): New macro.
33616 (ld_options): Recognize --version.
33617 (usage): Move `program_name' from here ...
33618 (program_name): ... to here. Add `static' qualifier.
33619 (main): Recognize `OPTION_VERSION'.
33620
16a88c49
FZ
336212009-11-15 Felix Zielcke <fzielcke@z-51.de>
33622
33623 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33624 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33625
a4158476
RM
336262009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 Fix help2man generation for mkisofs.
33629
33630 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33631 (usage): Send output to stdout (rather than stderr).
33632
fc2208b0
RM
336332009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33634
33635 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33636 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33637 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33638 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33639 (bin_SCRIPTS): Add `grub-mkfloppy'.
33640 (grub_mkfloppy_SOURCES): New variable.
33641
33642 * util/grub-mkrescue.in: New file.
33643 * util/i386/pc/grub-mkfloppy.in: New file.
33644
33645 * util/i386/coreboot/grub-mkrescue.in: Remove.
33646 * util/i386/pc/grub-mkrescue.in: Remove.
33647
8d0edf4a
RM
336482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33649
33650 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33651 from here ...
33652 * include/multiboot.h (struct multiboot_header): ... to here. Update
33653 all users.
33654 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33655 from here ...
33656 * include/multiboot.h (struct multiboot_info): ... to here. Update
33657 all users.
33658 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33659 from here ...
33660 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33661 Update all users.
33662 * include/grub/multiboot.h (struct grub_mod_list): Move
33663 from here ...
33664 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33665 Update all users.
33666
a73f5969
RM
336672009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33668
33669 * include/multiboot2.h (multiboot_word): Rename from this ...
33670 (multiboot2_word): ... to this. Update all users.
33671 (multiboot_header): Rename from this ...
33672 (multiboot2_header): ... to this. Update all users.
33673 (multiboot_tag_header): Rename from this ...
33674 (multiboot2_tag_header): ... to this. Update all users.
33675 (multiboot_tag_start): Rename from this ...
33676 (multiboot2_tag_start): ... to this. Update all users.
33677 (multiboot_tag_name): Rename from this ...
33678 (multiboot2_tag_name): ... to this. Update all users.
33679 (multiboot_tag_module): Rename from this ...
33680 (multiboot2_tag_module): ... to this. Update all users.
33681 (multiboot_tag_memory): Rename from this ...
33682 (multiboot2_tag_memory): ... to this. Update all users.
33683 (multiboot_tag_unused): Rename from this ...
33684 (multiboot2_tag_unused): ... to this. Update all users.
33685 (multiboot_tag_end): Rename from this ...
33686 (multiboot2_tag_end): ... to this. Update all users.
33687
1c8927f0
RM
336882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33689
33690 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33691 this platform we should support Multiboot1 first.
33692
33693 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33694 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33695 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33696
6e1e0d89
RM
336972009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33698
33699 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33700 of write calls (converting them to fwrite() if they aren't already).
33701 (get_torito_desc): Likewise.
33702 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33703
7f2b34d8
RM
337042009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33705
33706 * util/i386/pc/grub-install.in: Move from here ...
33707 * util/grub-install.in: ... to here. Update all users.
33708
c0ef3311
CW
337092009-11-11 Colin Watson <cjwatson@ubuntu.com>
33710
33711 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33712
e1f240ff
RM
337132009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33714
33715 Support for El Torito without floppy emulation.
33716
33717 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33718 (init_boot_catalog): Improve error handling.
33719 (get_torito_desc): Don't use floppy emulation unless requested by
33720 user. Patch boot information table when requested via
33721 `-boot-info-table'.
33722 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33723 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33724 (use_boot_info_table): New variables.
33725 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33726 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33727 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33728 `--eltorito-emul-floppy'.
33729 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33730 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33731 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33732 (use_boot_info_table, get_731): New prototypes.
33733 * util/mkisofs/write.c (get_731): New function.
33734
af7d4de5
FZ
337352009-11-11 Felix Zielcke <fzielcke@z-51.de>
33736
33737 Fix the generation of the man page.
33738
33739 * util/pc/i386/grub-install.in: Source
33740 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33741
2c55dbc0
RM
337422009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33743
33744 Large file support for grub-mkisofs.
33745
33746 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33747 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33748 (session_start): Upgrade type to `uint64_t'. Update all users.
33749 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33750 (struct directory_entry): Upgrade type of `starting_block' and
33751 `size' to `uint64_t'. Update all users.
33752 (struct deferred): Remove unused structure.
33753 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33754 Update all users.
33755 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33756 file is larger than `UINT32_MAX'.
33757 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33758 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33759 return value.
33760 (struct deferred_write): Upgrade type of `extent' and `size' to
33761 `uint64_t'. Update all users.
33762 (last_extent_written): Upgrade type to `uint64_t'. Update all
33763 users.
33764 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33765 Update all users. Upgrade type of `remain' to `int64_t' and
33766 `use' to `size_t'. Use error() to handle fread() errors.
33767 (write_files): Rely on write_one_file() rather than calling
33768 xfwrite() directly.
33769
6a9cead5
FZ
337702009-11-09 Felix Zielcke <fzielcke@z-51.de>
33771
33772 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33773
4825d790
RM
337742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33775
33776 * util/mkisofs/fnmatch.c: Remove.
33777 * util/mkisofs/getopt1.c: Likewise.
33778 * util/mkisofs/getopt.c: Likewise.
33779 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33780 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33781 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33782 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33783 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33784
33785 * configure.ac: Detect `mingw32msvc' host_os.
33786 Check for lstat(), getuid() and getgid().
33787
33788 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33789 instances of `u_char' with `uint8_t'.
33790
33791 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33792 [!HAVE_GETUID] (getuid): New function (stub).
33793 [!HAVE_GETGID] (getgid): Likewise.
33794 [!HAVE_LSTAT] (lstat): Likewise.
33795 [!S_IROTH] (S_IROTH): New macro (dummy).
33796 [!S_IRGRP] (S_IRGRP): Likewise.
33797
84b860d8
RM
337982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33799
33800 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33801 conditional expression).
33802
66e9b712
RM
338032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33804
33805 Import from Gnulib.
33806
33807 * gnulib/fnmatch.c: New file.
33808 * gnulib/fnmatch.h: Likewise.
33809 * gnulib/fnmatch_loop.c: Likewise.
33810 * gnulib/getopt.c: Likewise.
33811 * gnulib/getopt.h: Likewise.
33812 * gnulib/getopt1.c: Likewise.
33813 * gnulib/getopt_int.h: Likewise.
33814 * gnulib/gettext.h: Likewise.
33815
34f4a5b0
RM
338162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33817
33818 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33819 * normal/handler.c (read_handler_list): Likewise.
33820
ac451143
RM
338212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33822
33823 Misc cleanup.
33824
33825 * kern/command.c (grub_register_command_prio): Use
33826 grub_zalloc() instead of explicitly zeroing data.
33827 * kern/list.c: Include `<grub/mm.h>'.
33828 (grub_named_list_find): Replace `0' with `NULL'.
33829 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33830 (fs_module_list): Change type to `grub_named_list_t'. Update all
33831 users.
33832 * normal/dyncmd.c (read_command_list): Add space between function
33833 call and parenthesis.
33834 * normal/handler.c (read_handler_list): Likewise.
33835
4089b167
RM
338362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33837
33838 * normal/auth.c (punishment_delay): Moved from here ...
33839 (grub_auth_strcmp): ... to here (inside function).
33840
325f5037
RM
338412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33842
33843 * include/grub/list.h (struct grub_named_list): Remove `const'
33844 qualifier from `name'.
33845 (struct grub_prio_list): Likewise.
33846
7aea29a3
RM
338472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33848
33849 * normal/auth.c: Include `<grub/time.h>'.
33850 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33851
3fd6f044
RM
338522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33853
33854 * normal/auth.c (punishment_delay): New variable.
33855 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33856 (grub_auth_check_authentication): Punish failed login attempts with
33857 an incremental (2^N) delay.
33858
a4cd68e4
RM
338592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33860
33861 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33862 path with $(srcdir).
33863
7ad12f43
VS
338642009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33865
33866 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33867
c1129f03
RM
338682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33869
33870 * util/i386/coreboot/grub-mkrescue.in: New file.
33871 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33872 variables.
33873
33874 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33875 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33876 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33877 requirements.
33878 * util/mkisofs/defaults.h: New file.
33879 * util/mkisofs/eltorito.c: Likewise.
33880 * util/mkisofs/exclude.h: Likewise.
33881 * util/mkisofs/fnmatch.c: Likewise.
33882 * util/mkisofs/getopt.c: Likewise.
33883 * util/mkisofs/getopt1.c: Likewise.
33884 * util/mkisofs/hash.c: Likewise.
33885 * util/mkisofs/include/fctldefs.h: Likewise.
33886 * util/mkisofs/include/mconfig.h: Likewise.
33887 * util/mkisofs/include/prototyp.h: Likewise.
33888 * util/mkisofs/include/statdefs.h: Likewise.
33889 * util/mkisofs/iso9660.h: Likewise.
33890 * util/mkisofs/joliet.c: Likewise.
33891 * util/mkisofs/match.c: Likewise.
33892 * util/mkisofs/match.h: Likewise.
33893 * util/mkisofs/mkisofs.c: Likewise.
33894 * util/mkisofs/mkisofs.h: Likewise.
33895 * util/mkisofs/multi.c: Likewise.
33896 * util/mkisofs/name.c: Likewise.
33897 * util/mkisofs/rock.c: Likewise.
33898 * util/mkisofs/tree.c: Likewise.
33899 * util/mkisofs/write.c: Likewise.
33900
ec8bb77d
VS
339012009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33902
33903 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33904 being insecure.
33905
3716b12c
RM
339062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33907
33908 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33909 `grub-mkimage' (and use $0 when possible).
33910
b97b7b91
RM
339112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33912
33913 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33914 error message for excessively large memory map.
33915
04114812
RM
339162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33917
33918 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33919 executable bit.
33920
e4eb2373
RM
339212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33922
33923 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33924 message for coreboot users.
33925
c926e1d5 339262009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33927
33928 Fix build with GNU gold.
33929
33930 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33931 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33932 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33933 link addresses.
33934 * aclocal.m4: Likewise.
33935
86e5b1db 339362009-11-04 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * configure.ac (AC_PREREQ): Bump to 2.59d.
33939 * INSTALL: Make it more clear when Autoconf and Ruby are
33940 needed and when to run `./autogen.sh'.
33941
246cd78f 339422009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33943
33944 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33945 OSes.
33946
4f9dfb37 339472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33948
33949 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33950
b82bd5e1 339512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33952
33953 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33954 giving it to GNU Mach.
33955
ff1a9bca 339562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33957
33958 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33959 GNU partition number to get internal GRUB partition number.
33960
61697d9c 339612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33962
33963 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33964 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33965
a50569e1 339662009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33967
33968 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33969 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33970 case.
33971
5b153867 339722009-11-01 Felix Zielcke <fzielcke@z-51.de>
33973
33974 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33975
d9e2cd70 339762009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33977
33978 Fix build problem.
33979
33980 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33981 `-isystem=$(srcdir)/include'.
33982
805111a4 339832009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33984
33985 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33986 checked (grub-install doesn't currently rely on it).
33987
fa6e945f 339882009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33989
33990 Revert SVN r2660.
33991
33992 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33993 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33994 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33995 * conf/i386-ieee1275.rmk: Likewise.
33996 * conf/i386-pc.rmk: Likewise.
33997 * conf/powerpc-ieee1275.rmk: Likewise.
33998 * conf/sparc64-ieee1275.rmk: Likewise.
33999 * conf/x86_64-efi.rmk: Likewise.
34000
cee15086 340012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34002
34003 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34004
95b9239e 340052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34006
34007 * include/grub/misc.h: Stop checking for APPLE_CC.
34008
2ed19dfd 340092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34010
34011 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34012 doesn't cause an infinite call loop.
34013
fdcdde19 340142009-10-28 Felix Zielcke <fzielcke@z-51.de>
34015
34016 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34017 strings.
34018
cefabfe1 340192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34022 variable.
34023 * Makefile.in: Likewise.
34024
ed96ab6d 340252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34026
34027 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34028
0579b753 340292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34030
34031 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34032
478df409 340332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34034
34035 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34036
083d1679 340372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34038
34039 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34040 from here ...
34041 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34042
5947ae32 340432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34044
34045 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34046 in $(MAKEINFO) invocation. This makes it clear in output that
34047 errors are being ignored.
34048
94180ff6 340492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34050
34051 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34052 from here ...
34053 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34054 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34055 * conf/i386-ieee1275.rmk: Likewise.
34056 * conf/i386-pc.rmk: Likewise.
34057 * conf/powerpc-ieee1275.rmk: Likewise.
34058 * conf/sparc64-ieee1275.rmk: Likewise.
34059 * conf/x86_64-efi.rmk: Likewise.
34060
9031b03a 340612009-10-26 Colin Watson <cjwatson@ubuntu.com>
34062
34063 * util/grub-editenv.c (main): If only a command is given, use
34064 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34065 (usage): FILENAME is now optional and has a default.
34066
e4f6809b 340672009-10-26 Colin Watson <cjwatson@ubuntu.com>
34068
34069 Improve grub-mkconfig performance when there are several menu
34070 entries on a single filesystem.
34071
34072 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34073 prepare_grub_to_access_device.
34074 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34075 * util/grub.d/30_os-prober.in: Likewise.
34076
67937d4d 340772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34078
34079 * util/grub.d/10_freebsd.in: Remove.
34080 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34081 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34082
ee3756cc 340832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34084
5c35048e 34085 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34086
4dea1c6f 340872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34088
34089 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34090 grub_util_error() call.
34091
042484d7 340922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34093
34094 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34095 `reserved_first_sector' member.
34096 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34097 `reserved_first_sector' to 1.
34098 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34099 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34100 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34101 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34102 filesystems which begin at first sector.
34103 (options): New option --skip-fs-probe.
34104 (main): Handle --skip-fs-probe and pass it to setup().
34105
d64448a7 341062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34107
34108 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34109 (memset): Fix function prototype.
34110
508d42ec 341112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
341122009-10-25 Vasily Averin <vvs@parallels.com>
34113
34114 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34115 `dirent.direntlen == 0'.
34116
b240e30c 341172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34118
34119 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34120 `cpio'.
34121 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34122
346e7fbe 341232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34124
34125 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34126 `__trampoline_setup' and `__ucmpdi2'.
34127 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34128 that libgcc provides.
34129
cdb308b0 341302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34131
34132 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34133 * include/grub/sparc64/libgcc.h (memset): Likewise.
34134 * include/grub/misc.h (memset, memcmp): New function prototypes.
34135
fb26abc2 341362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34137
34138 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34139 `cpio'.
34140 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34141
f6693890 341422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34143
34144 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34145 * docs/grub.cfg: Compensate for recent change in multiboot
34146 loader (since 2009-08-14 it won't pass filename to payload).
34147 * util/grub.d/10_hurd.in: Likewise.
34148
0933cdc0 341492009-10-21 Felix Zielcke <fzielcke@z-51.de>
34150
34151 * config.guess: Update to latest version from config git
34152 repository.
34153 * config.sub: Likewise.
34154
3b2fe8c2 341552009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34156
34157 Fix build on sparc64.
34158
34159 * configure.ac: Perform checks for libgcc symbols before
34160 adding `-nostdlib' to LDFLAGS.
34161
46695a62 341622009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34163
34164 Let user specify OpenBSD root device.
34165
34166 * loader/i386/bsd.c (openbsd_root): New variable.
34167 (openbsd_opts): New option 'root'.
34168 (OPENBSD_ROOT_ARG): New macro.
34169 (grub_openbsd_boot): Use 'openbsd_root'.
34170 (grub_cmd_openbsd): Fill 'openbsd_root'.
34171
d2b6b7fc 341722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34173
34174 * NEWS: Misc adjustments.
34175
421bd7ac 341762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34177
34178 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34179
f1d29d87 341802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34181
34182 * configure.ac: Bump version to 1.97.
34183
6f3cd880 341842009-10-16 Colin Watson <cjwatson@ubuntu.com>
34185
34186 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34187 -mno-3dnow on x86 architectures. Some toolchains enable these
34188 features by default, but they rely on registers that aren't enabled
34189 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34190
035f7122 341912009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34192
34193 Make entry text a bit more readable.
34194
34195 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34196
44998e58 341972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34198
34199 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34200
cd2851b3 342012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34202
34203 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34204 operations.
34205
c6f3b249 342062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34207
34208 * configure.ac: Add missing dollar.
34209
6b5886ba 342102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34211
34212 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34213
34214 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34215 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34216 exports.
34217 * include/grub/sparc64/libgcc.h: Likewise. Use
34218 preprocessor conditionals.
34219
e9d66f6d 342202009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34221
34222 * conf/common.rmk (grub-dumpbios): Remove rule.
34223 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34224 * util/grub-dumpbios.in: Remove file.
34225
9155bc17 342262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34227
34228 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34229 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34230
34231 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34232 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34233 users.
34234
34235 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34236 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34237 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34238 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34239 users.
34240
bf7f7a18 342412009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 * term/tparm.c: Switch to GPLv3.
34244
86564c26 342452009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34246
34247 * include/grub/i386/cpuid.h: Add header protection.
34248
5c936493 342492009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34250
34251 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34252
34253 * include/grub/i386/cpuid.h: New file.
34254 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34255 (has_longmode): Rename to ...
34256 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34257 `static' attribute.
34258 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34259 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34260 on a CPU that doesn't implement AMD64 instruction set.
34261
186e7cf2 342622009-10-06 Colin Watson <cjwatson@ubuntu.com>
34263
34264 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34265 that version.texi is rebuilt on version number changes.
34266
83b65c4a 342672009-10-06 Colin Watson <cjwatson@ubuntu.com>
34268
34269 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34270 Fixes bug #27602.
34271
d244281c 342722009-10-06 Colin Watson <cjwatson@ubuntu.com>
34273
34274 * util/i386/pc/grub-install.in: Source
34275 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34276 that the --grub-probe option will work.
34277 * util/sparc64/ieee1275/grub-install.in: Likewise.
34278
da25306d 342792009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34280
34281 * configure.ac: Bump version to 1.97~beta4.
34282
e8ee83c0 342832009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34284
34285 Resync grub-mkdevicemap in x86_64-efi.
34286
34287 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34288 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34289 `util/devicemap.c'.
34290
50dcabcf 342912009-10-01 Colin Watson <cjwatson@ubuntu.com>
34292
34293 * util/grub-editenv.c (create_envblk_file): Write new block with a
34294 .new suffix and then rename it into place, to ensure atomic
34295 creation.
34296
0e51c3a7 342972009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34298
34299 Do not automatically install headers.
34300
34301 * Makefile.in (include_DATA): Remove. Update all users.
34302
31299a95 343032009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34304
34305 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34306 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34307
34308 * util/osdetect.lua: Remove.
34309 * script/lua/lauxlib.c: Likewise.
34310 * script/lua/ldebug.c: Likewise.
34311 * script/lua/grub_main.c: Likewise.
34312 * script/lua/lauxlib.h: Likewise.
34313 * script/lua/ldebug.h: Likewise.
34314 * script/lua/ltablib.c: Likewise.
34315 * script/lua/liolib.c: Likewise.
34316 * script/lua/lstrlib.c: Likewise.
34317 * script/lua/lualib.h: Likewise.
34318 * script/lua/ldo.c: Likewise.
34319 * script/lua/ldump.c: Likewise.
34320 * script/lua/ldo.h: Likewise.
34321 * script/lua/loslib.c: Likewise.
34322 * script/lua/lundump.c: Likewise.
34323 * script/lua/grub_lib.c: Likewise.
34324 * script/lua/ldblib.c: Likewise.
34325 * script/lua/lundump.h: Likewise.
34326 * script/lua/lmem.c: Likewise.
34327 * script/lua/grub_lib.h: Likewise.
34328 * script/lua/lmathlib.c: Likewise.
34329 * script/lua/lstate.c: Likewise.
34330 * script/lua/ltm.c: Likewise.
34331 * script/lua/lvm.c: Likewise.
34332 * script/lua/lmem.h: Likewise.
34333 * script/lua/lstate.h: Likewise.
34334 * script/lua/ltm.h: Likewise.
34335 * script/lua/ltable.c: Likewise.
34336 * script/lua/lvm.h: Likewise.
34337 * script/lua/llex.c: Likewise.
34338 * script/lua/lgc.c: Likewise.
34339 * script/lua/grub_lua.h: Likewise.
34340 * script/lua/loadlib.c: Likewise.
34341 * script/lua/lfunc.c: Likewise.
34342 * script/lua/lopcodes.c: Likewise.
34343 * script/lua/lparser.c: Likewise.
34344 * script/lua/ltable.h: Likewise.
34345 * script/lua/llex.h: Likewise.
34346 * script/lua/lgc.h: Likewise.
34347 * script/lua/lfunc.h: Likewise.
34348 * script/lua/lbaselib.c: Likewise.
34349 * script/lua/lopcodes.h: Likewise.
34350 * script/lua/lparser.h: Likewise.
34351 * script/lua/lzio.c: Likewise.
34352 * script/lua/linit.c: Likewise.
34353 * script/lua/lobject.c: Likewise.
34354 * script/lua/llimits.h: Likewise.
34355 * script/lua/lstring.c: Likewise.
34356 * script/lua/lzio.h: Likewise.
34357 * script/lua/lapi.c: Likewise.
34358 * script/lua/lcode.c: Likewise.
34359 * script/lua/lua.h: Likewise.
34360 * script/lua/lobject.h: Likewise.
34361 * script/lua/lstring.h: Likewise.
34362 * script/lua/lapi.h: Likewise.
34363 * script/lua/lcode.h: Likewise.
34364 * script/lua/luaconf.h: Likewise.
34365
cb8a2c38 343662009-09-26 Colin Watson <cjwatson@ubuntu.com>
34367
34368 * docs/grub.texi (Command-line and menu entry commands): Document
34369 date and echo commands.
34370
6b9b6276 343712009-09-24 Pavel Roskin <proski@gnu.org>
34372
34373 * include/grub/kernel.h (struct grub_module_header): Remove
34374 `grub_module_header_types'. Make `type' unsigned. Make `size'
34375 32-bit on all platforms.
34376 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34377 8-bit field. Use grub_host_to_target32() for `size'.
34378 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34379 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34380 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34381
4e5a02a7 343822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34383
34384 Fix "lost keypress" bug in at_keyboard.
34385
34386 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34387 Checks for readyness of input buffer (without flushing it).
34388 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34389 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34390
c6dcedf6 343912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34392
34393 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34394 size check within GRUB_MACHINE_PCBIOS section.
34395
74c958b1 343962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34397
34398 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34399 return value.
34400 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34401 KEYBOARD_ISREADY check.
34402 (grub_at_keyboard_checkkey): Rename to ...
34403 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34404 Remove gratuitous cast.
34405
ff420223 344062009-09-23 Colin Watson <cjwatson@ubuntu.com>
34407
34408 * configure.ac: Call AC_PROG_MKDIR_P.
34409 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34410 version.texi in $(builddir) rather than $(srcdir).
34411 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34412 to makeinfo's @include search path.
34413
d96875df 344142009-09-23 Felix Zielcke <fzielcke@z-51.de>
34415
34416 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34417
9b3f8365 344182009-09-23 Felix Zielcke <fzielcke@z-51.de>
34419
34420 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34421 for `*.dpkg-new'.
34422
c44c90db 344232009-09-21 Colin Watson <cjwatson@ubuntu.com>
34424
34425 Build info documentation. Some code borrowed from Automake.
34426
34427 * configure.ac: Check for makeinfo.
34428 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34429 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34430 docs/version.texi.
34431 (MOSTLYCLEANFILES): Add vti.tmp.
34432 (docs/version.texi, docs/stamp-vti): Update automatically.
34433 (docs/grub.info): Build info documentation. Use --force and ignore
34434 errors for now.
34435 (all-local): Add $(INFOS).
34436 (install-local): Install info files.
34437 (uninstall): Uninstall info files.
34438 * docs/version.texi: Remove from revision control. This file is
34439 automatically generated on build now.
34440 * gendistlist.sh: Add `*.info'.
34441
e0b37bb5 344422009-09-21 Felix Zielcke <fzielcke@z-51.de>
34443
34444 * kern/term.c: Fix indentation.
34445
5a78865b 344462009-09-21 Felix Zielcke <fzielcke@z-51.de>
34447
34448 * util/hostdisk.c: Fix a comment.
34449
dace7e8a 344502009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34451
34452 Fix regression introduced in r2539.
34453
34454 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34455 to 0xA1.
34456
a83d079b 344572009-09-19 Colin Watson <cjwatson@ubuntu.com>
34458
34459 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34460 os-prober. Under normal operation, it does not print anything to
34461 stderr; if it does, we need to debug it, and throwing away stderr
34462 makes that excessively difficult.
a83d079b 34463
be94a509 344642009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34465
34466 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34467
63f745e8 344682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34469
34470 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34471 AC_LANG_PROGRAM from autoconf.
34472 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34473 prototypes (fixes warning).
34474
34475 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34476 `--disable-werror' was used.
34477
bbb2a70f 344782009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34479
34480 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34481 uninitialized `lastaddr'.
34482
77c24f1d 344832009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34484
0f0b8c87 34485 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34486
07197f23 344872009-09-14 Colin Watson <cjwatson@ubuntu.com>
34488
34489 * commands/test.c (get_fileinfo): Return immediately if
34490 grub_fs_probe fails.
34491
dabf1798 344922009-09-14 José Martínez <xosemp@gmail.com>
34493
34494 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34495
d52109a7 344962009-09-14 Colin Watson <cjwatson@ubuntu.com>
34497
34498 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34499 output.
34500
56532179 345012009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34502
34503 * configure.ac: Remove --enable-grub-pe2elf. Only build
34504 grub-pe2elf when needed by the build system itself.
34505 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34506
8ef070f5 345072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34508
34509 * configure.ac: Bump version to 1.97~beta3.
34510 * docs/version.texi: Likewise.
34511
61229557 345122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34515 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34516 from here ...
34517 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34518 (grub_linux_setup_video): ... to here (with some adjustments).
34519
5c9f8d84 345202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34521
34522 Fix memory corruption issue (spotted by Colin Watson).
34523
34524 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34525 causing returned size to be stored in an incorrect memory location.
34526 Fix use of uninitialized value when storing the returned size.
34527
e8f5d6e9 345282009-09-12 Yves Blusseau <blusseau@zetam.org>
34529
34530 Change clean rules to properly remove files
34531
34532 * genmk.rb: add new clean rules
34533 * Makefile.in (clean): add the new targets
34534 (mostlyclean): likewise
34535
cda2a409 345362009-09-11 Colin Watson <cjwatson@ubuntu.com>
34537
34538 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34539 to grub_uint64_t.
34540 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34541 non-resident files.
34542
86695375 345432009-09-11 Colin Watson <cjwatson@ubuntu.com>
34544
34545 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34546 part of bug #27349.
34547
8aa1541a 345482009-09-10 Felix Zielcke <fzielcke@z-51.de>
34549
34550 * util/grub-mkconfig.in: Make the created config mode 400 and
34551 print a warning if it fails.
34552
48d9bb0a 345532009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34554
34555 * util/grub.d/40_custom.in: Ask user to type custom entries below
34556 comment, rather than below 'exec tail' line.
34557
3b0521be 345582009-09-10 Colin Watson <cjwatson@ubuntu.com>
34559
34560 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34561 visible in grub.cfg.
34562
50051d55 345632009-09-10 Colin Watson <cjwatson@ubuntu.com>
34564
34565 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34566 file.
34567
c0d34387 345682009-09-10 Felix Zielcke <fzielcke@z-51.de>
34569
34570 * docs/grub.cfg: Add an example menu entry for memtest86+.
34571
80a608f3 345722009-09-09 Felix Zielcke <fzielcke@z-51.de>
34573
a2094832 34574 * config.guess: Update to latest version from config git.
80a608f3 34575 * config.sub: Likewise.
34576
99423078 345772009-09-08 Colin Watson <cjwatson@ubuntu.com>
34578
34579 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34580 unknown-command case. Fixes bug #27320.
34581
44454e4c 345822009-09-08 Felix Zielcke <fzielcke@z-51.de>
34583
34584 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34585 `help' if the command exists.
34586
e30d87ad 345872009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34588
34589 * INSTALL: Require GCC 4.1.3 or later.
34590
9a86f1ec 345912009-09-06 Yves Blusseau <blusseau@zetam.org>
34592
34593 * Makefile.in (RMKFILES): add i386-qemu.rmk
34594 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34595 $(srcdir)/stamp-h.in
34596
7f26d466 345972009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34598
34599 * util/grub-probe.c (probe): Comment out buggy codepath, which
34600 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34601 should be re-enabled after 1.97.
34602
3a613259 346032009-09-05 Felix Zielcke <fzielcke@z-51.de>
34604
34605 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34606 find searches for.
34607
197f76c7 346082009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34609
34610 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34611 unnecessary calls to grub_error.
34612
70ba68ce 346132009-09-04 Colin Watson <cjwatson@ubuntu.com>
34614
34615 * NEWS: Mention `keystatus' and Unicode fonts.
34616
4ff0d7a4 346172009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34618
34619 * configure.ac: Bump version to 1.97~beta2.
34620 * docs/version.texi: Likewise.
34621
77c55a87 346222009-09-03 Colin Watson <cjwatson@ubuntu.com>
34623
34624 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34625 containing unwind information in some cases where it previously did
34626 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34627 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34628 discussion.
34629
f79572cd 346302009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34631
34632 Embedding loadenv module into grub-emu
34633
34634 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34635 commands/loadenv.c
34636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34637 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34640 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34641 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34642
93a81088 346432009-09-03 Magnus Granberg <zorry@ume.nu>
34644
34645 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34646 include -fPIE in the default specs.
34647 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34648 to TARGET_CFLAGS.
34649
160034b2 346502009-09-03 Felix Zielcke <fzielcke@z-51.de>
34651
34652 * INSTALL: Note that GNU Bison 2.3 or later is required.
34653
087c07c4 346542009-09-03 Colin Watson <cjwatson@ubuntu.com>
34655
34656 * kern/i386/pc/startup.S: Fix typo.
34657
cbf978c0 346582009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34659
34660 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34661 according to GCS.
34662
346632009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34664
34665 * docs/grub.texi (Naming convention): Describe one-based partition
34666 numbering.
34667 (Device syntax): Likewise.
34668 (File name syntax): Likewise.
34669 (Block list syntax): Likewise.
34670 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34671 menu.lst.
34672 (File name syntax): Likewise.
34673 (Command-line and menu entry commands): Document acpi, blocklist,
34674 crc, export, insmod, keystatus, ls, set, and unset commands.
34675
f3e8cdfd 346762009-09-02 Colin Watson <cjwatson@ubuntu.com>
34677
34678 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34679 to avoid implying that only one of --shift, --ctrl, or --alt may be
34680 used.
34681
c0bc232b 346822009-09-02 Colin Watson <cjwatson@ubuntu.com>
34683
34684 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34685 rather than comparing against S_IFREG, which will almost never work.
34686
aa0f752d 346872009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34688
34689 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34690 (write_blocklists): Likewise.
34691
ecb3166a 346922009-09-01 Colin Watson <cjwatson@ubuntu.com>
34693
34694 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34695 argument to grub_printf.
34696
c403a125 346972009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34698
34699 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34700 non GNU test.
31aba781 34701
b5e7312c 347022009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34703
34704 * kern/file.c (grub_file_read): Spelling fix
34705
fe00f472 347062009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34707
34708 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34709 loading of headers in some cases.
34710
cc55302e 347112009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34712
34713 * configure.ac: Bump version to 1.97~beta1.
34714 * docs/version.texi: Likewise.
34715
5c90cdd2 347162009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34717
34718 * include/grub/i386/xnu.h: Add license header.
34719 include grub/err.h explicitly.
34720
c90edae4 347212009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34722
34723 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34724 to `ufs' in the vfs.root.mountfrom kernel parameter.
34725
d8888b5c 347262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34727
34728 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34729
34730 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34731 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34732
34733 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34734 `ARRAY_SIZE' macro.
34735
6f07b921 347362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34737
34738 * kern/file.c (grub_file_read): Check offset.
34739 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34740 * fs/jfs.c (grub_jfs_read_file): Likewise.
34741 * fs/ntfs.c (grub_ntfs_read): Likewise.
34742 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34743 * fs/minix.c (grub_minix_read_file): Correct offset check.
34744 * fs/ufs.c (grub_ufs_read_file): Likewise.
34745
b4f34077 347462009-08-28 Colin Watson <cjwatson@ubuntu.com>
34747
34748 * term/i386/pc/console.c (bios_data_area): Cast
34749 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34750
e7c69859 347512009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34752
34753 1-bit optimised blitters.
34754
34755 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34756 prototype.
34757 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34758 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34759 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34760 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34761 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34762 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34763 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34764 function.
34765 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34766 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34767 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34768 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34769 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34770 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34771 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34772 when possible.
34773 * video/video.c (grub_video_get_blit_format): Return
34774 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34775
a57da43f 347762009-08-28 Colin Watson <cjwatson@ubuntu.com>
34777
34778 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34779 the first argument to grub_printf.
34780
4cbe67e5 347812009-08-28 Colin Watson <cjwatson@ubuntu.com>
347822009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34783
34784 Add `getkeystatus' terminal method. Add a new `keystatus' command
34785 to query it.
34786
34787 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34788 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34789 modifier key bitmasks.
34790 (struct grub_term_input): Add `getkeystatus' member.
34791 (grub_getkeystatus): Add prototype.
34792 * kern/term.c (grub_getkeystatus): New function.
34793
34794 * include/grub/i386/pc/memory.h
34795 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34796 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34797 Data Area layout.
34798 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34799 (grub_console_term_input): Set `getkeystatus' member.
34800 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34801 constants.
34802 (grub_usb_keyboard_getreport): Likewise.
34803 (grub_usb_keyboard_checkkey): Likewise.
34804 (grub_usb_keyboard_getkeystatus): New function.
34805 (grub_usb_keyboard_term): Set `getkeystatus' member.
34806
34807 * commands/keystatus.c: New file.
34808 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34809 (keystatus_mod_SOURCES): New variable.
34810 (keystatus_mod_CFLAGS): Likewise.
34811 (keystatus_mod_LDFLAGS): Likewise.
34812 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34813 commands/keystatus.c.
34814 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34815 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34816 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34818 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34819 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34820
6e2a9085 348212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34822
34823 Split befs.mod and afs.mod into *_be.mod and *.mod
34824
34825 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34826 (grub_fstest_SOURCES): Likewise.
34827 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34828 (afs_be_mod_SOURCES): New variable.
34829 (afs_be_mod_CFLAGS): Likewise.
34830 (afs_be_mod_LDFLAGS): Likewise.
34831 (befs_be_mod_SOURCES): Likewise.
34832 (befs_be_mod_CFLAGS): Likewise.
34833 (befs_be_mod_LDFLAGS): Likewise.
34834 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34837 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34838 (grub_emu_SOURCES): Likewise.
34839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34840 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34841 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34842 * fs/afs_be.c: New file.
34843 * fs/befs_be.c: New file.
34844 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34845 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34846 (U16): Replaced with ...
34847 (grub_afs_to_cpu16): ...this. All users updated.
34848 (U32): Replaced with ...
34849 (grub_afs_to_cpu32): ...this. All users updated.
34850 (U64): Replaced with ...
34851 (grub_afs_to_cpu64): ...this. All users updated.
34852 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34853 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34854 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34855 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34856 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34857 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34858 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34859 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34860 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34861 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34862 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34863
32a71655 348642009-08-26 Bean <bean123ch@gmail.com>
34865
34866 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34867 64-bit number.
34868 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34869 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34870 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34871
552bf6c5 348722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34873
34874 NetBSD memory map support.
34875
34876 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34877 (grub_netbsd_btinfo_mmap_header): New structure.
34878 (grub_netbsd_btinfo_mmap_entry): Likewise.
34879 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34880
1ae2078c 348812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34882
34883 Enable bsd.mod on coreboot.
34884
34885 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34886 (bsd_mod_SOURCES): New variable.
34887 (bsd_mod_CFLAGS): Likewise.
34888 (bsd_mod_LDFLAGS): Likewise.
34889 (bsd_mod_ASFLAGS): Likewise.
34890 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34891 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34892
beefc598 348932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34894
34895 Cleanup NetBSD root support.
34896
34897 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34898 grub_bsd_get_device.
34899 Fix typo.
34900
3b76e68b 349012009-08-25 Felix Zielcke <fzielcke@z-51.de>
34902
34903 * util/grub.d/00_header.in: Move check for the video backend of
34904 gfxterm from here ...
34905 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34906 a suitable video backend.
34907
aea664ea 349082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34909
34910 Fix breakage in grub-setup.
34911
34912 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34913 "msdos_partition_map".
34914
ff747d50 349152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34916
34917 Fix breakage in normal/auth.c.
34918
34919 * normal/auth.c (grub_iswordseparator): New function.
34920
e7e1f93f 349212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34922
34923 Authentication support.
34924
34925 * commands/password.c: New file.
34926 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34927 (password_mod_SOURCES): New variable.
34928 (password_mod_CFLAGS): Likewise.
34929 (password_mod_LDFLAGS): Likewise.
34930 (normal_mod_SOURCES): Add normal/auth.c.
34931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34932 normal/auth.c.
34933 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34934 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34935 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34937 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34938 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34939 * include/grub/auth.h: New file.
34940 * include/grub/err.h (grub_err_t): New enum value
34941 GRUB_ERR_ACCESS_DENIED.
34942 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34943 'users'.
34944 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34945 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34946 users updated.
34947 * normal/auth.c: New file.
34948 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34949 (grub_cmdline_run): Don't allow to go to command line without
34950 authentication.
34951 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34952 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34953 menuentry without superuser rights.
34954 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34955 user isn't a superuser.
34956
70f1161d 349572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34958
34959 Save space by inlining misc.c functions.
34960
34961 * kern/misc.c (grub_iswordseparator): Made static.
34962 * kern/misc.c (grub_strcat): Moved from here ...
34963 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34964 * kern/misc.c (grub_strncat): Moved from here ...
34965 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34966 * kern/misc.c (grub_strcasecmp): Moved from here ...
34967 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34968 * kern/misc.c (grub_strncasecmp): Moved from here ...
34969 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34970 * kern/misc.c (grub_isalpha): Moved from here ...
34971 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34972 * kern/misc.c (grub_isdigit): Moved from here ...
34973 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34974 * kern/misc.c (grub_isgraph): Moved from here ...
34975 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34976 * kern/misc.c (grub_tolower): Moved from here ...
34977 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34978
48e40bff 349792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34980
34981 * script/sh/function.c (grub_script_function_find): Cut error message
34982 not to flood terminal.
34983 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34984 limit.
34985 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34986
c385bfc3 349872009-08-24 Colin Watson <cjwatson@ubuntu.com>
34988
34989 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34990 `report' grub_uint8_t *.
34991 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34992 Use a 50-millisecond timeout rather than just repeating
34993 grub_usb_keyboard_getreport 50 times.
34994 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34995
2d21e3e8 349962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34997
34998 Rename *_partition_map to part_*
34999
35000 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35001 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35002 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35003 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35004 All users updated.
35005 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35006 All users updated.
35007 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35008 * util/grub-probe.c (probe_partmap): Don't transform partition name
35009 to get module name.
35010
dd103c4e 350112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35012
35013 Fix OpenBSD and NetBSD support.
35014
35015 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35016 memory address conflict.
35017 (OPENBSD_MMAP_ACPI): New definition.
35018 (OPENBSD_MMAP_NVS): Likewise.
35019 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35020 and OPENBSD_MMAP_NVS.
35021 Add memory map terminator
35022 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35023 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35024
16c84d74 350252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35026
35027 Let user specify NetBSD root device.
35028
35029 * loader/i386/bsd.c (netbsd_root): New variable.
35030 (netbsd_opts): New option 'root'.
35031 (NETBSD_ROOT_ARG): New macro.
35032 (grub_netbsd_boot): Use 'netbsd_root'.
35033 (grub_bsd_unload): Free 'netbsd_root'.
35034 (grub_cmd_netbsd): Fill 'netbsd_root'.
35035
adb29902 350362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35037
35038 Support for 64-bit NetBSD.
35039
35040 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35041 point when booting non-FreeBSD.
35042
f5ae9f74 350432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35044
35045 Support --no-smp and --no-acpi for NetBSD.
35046
35047 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35048 (NETBSD_AB_NOACPI): Likewise.
35049 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35050 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35051
de74f136 350522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35053
35054 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35055 errors.
35056 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35057 errors. Call grub_error when needed.
35058
e9a925da 350592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35060
35061 * commands/search.c (search_fs): Try searching without autoload first.
35062 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35063 filesystem module explicitly for faster booting.
35064
5174302b 350652009-08-23 Colin Watson <cjwatson@ubuntu.com>
35066
35067 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35068
c8c80635 350692009-08-23 Colin Watson <cjwatson@ubuntu.com>
35070
35071 * util/grub.d/30_os-prober.in: Disable os-prober if
35072 `GRUB_DISABLE_OS_PROBER' was set to true.
35073
71acf5e5 350742009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35075
35076 * partmap/pc.c: Rename to ...
35077 * partmap/msdos.c: ... this. Update all users.
35078 (grub_pc_partition_map): Rename to ...
35079 (grub_msdos_partition_map): ... this. Update all users.
35080
35081 * parttool/pcpart.c: Rename to ...
35082 * parttool/msdospart.c: ... this. Update all users.
35083
35084 * include/grub/pc_partition.h: Rename to ...
35085 * include/grub/msdos_partition.h: ... this. Update all users.
35086 (grub_pc_partition_bsd_entry): Rename to ...
35087 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35088 (grub_pc_partition_disk_label): Rename to ...
35089 (grub_msdos_partition_disk_label): ... this. Update all users.
35090 (grub_pc_partition_entry): Rename to ...
35091 (grub_msdos_partition_entry): ... this. Update all users.
35092 (grub_pc_partition_mbr): Rename to ...
35093 (grub_msdos_partition_mbr): ... this. Update all users.
35094 (grub_pc_partition): Rename to ...
35095 (grub_msdos_partition): ... this. Update all users.
35096 (grub_pc_partition_is_empty): Rename to ...
35097 (grub_msdos_partition_is_empty): ... this. Update all users.
35098 (grub_pc_partition_is_extended): Rename to ...
35099 (grub_msdos_partition_is_extended): ... this. Update all users.
35100 (grub_pc_partition_is_bsd): Rename to ...
35101 (grub_msdos_partition_is_bsd): ... this. Update all users.
35102
35103 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35104 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35105 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35106 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35107 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35108 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35109 (gpt_mod_LDFLAGS): Rename to ...
35110 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35111 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35112 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35113 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35114 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35115 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35116 (part_gpt_mod_LDFLAGS): ... this.
35117 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35118 `pcpart.mod' to `msdospart.mod'.
35119 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35120 to ...
35121 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35122 (msdospart_mod_LDFLAGS): ... this.
35123
c11fded5 351242009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35125
35126 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35127 (openbsd_opts): Likewise.
35128 (netbsd_opts): Likewise.
35129 (freebsd_flags): Added 0 terminator.
35130 (openbsd_flags): Likewise.
35131 (netbsd_flags): Likewise.
35132 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35133 (grub_cmd_freebsd): Transformed into extended command.
35134 (grub_cmd_openbsd): Likewise.
35135 (grub_cmd_netbsd): Likewise.
35136 (cmd_freebsd): Changed type to grub_extcmd_t.
35137 (cmd_openbsd): Likewise.
35138 (cmd_netbsd): Likewise.
35139 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35140 grub_cmd_openbsd as extended commands.
35141 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35142 cmd_netbsd and cmd_openbsd
35143
11d1c769 351442009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35145
35146 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35147
7a9094e5 351482009-08-21 Pavel Roskin <proski@gnu.org>
35149
5496c37e 35150 * Makefile.in (install-local): When checking if a file is in the
35151 build directory, use "test -e" to detect symlinks.
35152
7a9094e5 35153 * Makefile.in (install-local): Remove all files in
35154 $(DESTDIR)$(pkglibdir) before installing new files there.
35155
e53cea11 351562009-08-18 Felix Zielcke <fzielcke@z-51.de>
35157
35158 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35159 grub-mkelfimage.
35160
9aced544 351612009-08-18 Felix Zielcke <fzielcke@z-51.de>
35162
35163 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35164 explicitly specified by the user.
35165
b7da6bab 351662009-08-18 Pavel Roskin <proski@gnu.org>
35167
35168 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35169 grub_uint8_t pointer for data.
35170 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35171 Likewise.
35172 * video/fb/fbutil.c: Remove unnecessary casts.
35173
19f1b335 351742009-08-17 Michal Suchanek <hramrach@centrum.cz>
35175
35176 VBE cleanup.
35177
35178 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35179 (grub_vbe_set_video_mode): Save active mode info
35180 only after setting the mode.
35181 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35182 second argument.
35183
2f467aa9 351842009-08-17 Michal Suchanek <hramrach@centrum.cz>
35185
35186 Rename variables for clarity.
35187
35188 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35189 (active_vbe_mode_info): ... this. All users updated.
35190 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35191 All users updated.
35192 (initial_mode): Rename to ...
35193 (initial_vbe_mode): ... this. All users updated.
35194 (mode_in_use): Rename to ..
35195 (vbe_mode_in_use): ... this. All users updated.
35196 (mode_list): Rename to ..
35197 (vbe_mode_list): ... this. All users updated.
35198 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35199 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35200 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35201 'mode_list_size' to 'vbe_mode_list_size'.
35202 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35203 'best_mode_info' to 'best_vbe_mode_info' and
35204 'best_mode' to 'best_vbe_mode'
35205
6025fcd7 352062009-08-17 Michal Suchanek <hramrach@centrum.cz>
35207
35208 Remove duplicate grub_video_fb_get_video_ptr.
35209
35210 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35211 (grub_video_fb_get_video_ptr): ... this.
35212 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35213 * video/fb/fbutil.c: Add comment about addressing.
35214 (get_data_ptr): Rename to ...
35215 (grub_video_fb_get_video_ptr): ... this. All users updated.
35216 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35217
cc8c6faf 352182009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35219
35220 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35221 grub_dprintf() that was just added.
35222
08aa61f0 352232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35224
35225 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35226 (DEFAULT_VIDEO_MODE): Remove macros.
35227 (grub_linux_boot): Remove assumption that Linux has FB support,
35228 and use "text" as default video mode.
35229
7cef4f75 352302009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35231
35232 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35233 grub_dprintf.
35234 * fs/fat.c (grub_fat_read_data): Likewise.
35235
e1f39873 352362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35237
35238 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35239 payload.
35240 (grub_module): Likewise.
35241
c166d79e 352422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35243
35244 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35245 mbi->cmdline but free playground.
35246
c60cee8e 352472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35248
35249 Handle group offset on UFS1.
35250
35251 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35252 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35253
c0d8b5d4 352542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35255
35256 Split ufs.mod into ufs1.mod and ufs2.mod.
35257
35258 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35259 (grub_fstest_SOURCES): Likewise.
35260 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35261 (ufs_mod_SOURCES): Remove.
35262 (ufs_mod_CFLAGS): Likewise.
35263 (ufs_mod_LDFLAGS): Likewise.
35264 (ufs1_mod_SOURCES): New variable.
35265 (ufs1_mod_CFLAGS): Likewise.
35266 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35267 (ufs2_mod_SOURCES): New variable.
35268 (ufs2_mod_CFLAGS): Likewise.
35269 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35270 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35271 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35272 Likewise.
35273 (grub_emu_SOURCES): Likewise.
35274 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35275 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35276 (grub_setup_SOURCES): Likewise.
35277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35278 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35279 (grub_setup_SOURCES): Likewise.
35280 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35281 Likewise.
35282 * fs/ufs2.c: New file.
35283 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35284
d3539132 352852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35286
35287 Framebuffer split.
35288
35289 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35290 subsystem at the end.
35291 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35292 (video_fb_mod_SOURCES): New variable.
35293 (video_fb_mod_CFLAGS): Likewise.
35294 (video_fb_mod_LDFLAGS): Likewise.
35295 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35296 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35297 * video/i386/pc/vbeblit.c: Moved from here ...
35298 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35299 * video/i386/pc/vbefill.c: Moved from here ...
35300 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35301 * video/i386/pc/vbeutil.c: Moved from here ...
35302 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35303 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35304 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35305 * include/grub/i386/pc/vbefill.h: Moved from here ...
35306 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35307 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35308 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35309 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35310 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35311 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35312 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35313 (grub_video_adapter): Added 'get_info_and_fini'.
35314 (grub_video_get_info_and_fini): New prototype.
35315 (grub_video_set_mode): make modestring const char *.
35316 * loader/i386/linux.c (grub_linux_setup_video): Use
35317 grub_video_get_info_and_fini.
35318 (grub_linux_boot): Move modesetting just before booting.
35319 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35320 grub_video_get_info_and_fini.
35321 * video/i386/pc/vbe.c: Moved framebuffer part ...
35322 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35323 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35324 grub_video_fbstd_colors and grub_video_fb_set_palette.
35325 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35326 grub_video_fb_init.
35327 (grub_video_vbe_fini): Use grub_video_fb_fini.
35328 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35329 render_target and use grub_video_fb_set_active_render_target and
35330 grub_video_fb_set_palette.
35331 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35332 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35333 (grub_video_vbe_adapter): Use framebuffer.
35334 * video/video.c (grub_video_get_info_and_fini): New function.
35335 (grub_video_set_mode): Make modestring const char *.
35336 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35337 values are already initialised.
35338
d404ee56 353392009-08-14 Pavel Roskin <proski@gnu.org>
35340
35341 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35342 ABS and APPLE_CC.
35343 * boot/i386/pc/diskboot.S: Likewise.
35344 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35345 sectors allow compilation on MacOSX.
35346 * conf/i386-pc.rmk: Enable unconditional compilation of
35347 lnxboot.img.
35348
9a10df16 353492009-08-13 Colin Watson <cjwatson@ubuntu.com>
35350
35351 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35352 * util/grub.d/00_header.in: Enter interruptible sleep if
35353 GRUB_HIDDEN_TIMEOUT is set.
35354
be3c9ca7 353552009-08-13 Yves Blusseau <blusseau@zetam.org>
35356
35357 * include/grub/symbol.h: Add the LOCAL macro.
35358 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35359 starting with "L_".
35360
1f9e557e 353612009-08-13 Pavel Roskin <proski@gnu.org>
35362
9ca62843 35363 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35364 any modern compilers we support.
35365
1f9e557e 35366 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35367 Use local labels starting with "L_" so that Apple assembler
35368 knows they are local.
35369
81623db6 353702009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35371
35372 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35373 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35374 (bsd_kernel_types): ... this enum.
35375
35376 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35377 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35378 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35379
35380 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35381 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35382 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35383 messages.
35384
f5d35e7a 353852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35386
35387 * util/grub-dumpdevtree: Moved from here ...
35388 * util/i386/efi/grub-dumpdevtree: ... to here.
35389 (hexify): New function. Converts a string to its hex version.
35390 Generate hex versions of "efi" and "device-properties" by calling
35391 hexify() on the ASCII strings rather than by hardcoding numbers.
35392
d1e1d527 353932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35394
35395 * fs/jfs.c: Update copyright year.
35396
1ebbe064 353972009-08-08 Felix Zielcke <fzielcke@z-51.de>
35398
35399 * util/grub.d/00_header.in: Fix a comment.
35400 * util/grub.d/10_linux.in: Likewise.
35401 * util/grub.d/10_windows.in: Likewise.
35402 * util/grub.d/10_hurd.in: Likewise.
35403
a78c8d24 354042009-08-08 Felix Zielcke <fzielcke@z-51.de>
35405
35406 * util/grub-mkconfig.in: Allow the user to specify the used font
35407 with GRUB_FONT.
35408
29a6b9e8 354092009-08-08 Pavel Roskin <proski@gnu.org>
35410
b5f16cc4 35411 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35412 available, xfs.mod needs it now.
35413
2f5cb827 35414 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35415 the "g" modifier in sed when the intention is to strip something
35416 once. This fixes comparison of kernels with multiple dashes.
35417
29a6b9e8 35418 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35419 on it. Add missing space before closing bracket. Fix
35420 misleading formatting.
35421
892a3d98 354222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35423
35424 * docs/grub.texi: Major overhaul. Remove all sections that are
35425 specific to GRUB Legacy, or mostly composed of Legacy-specific
35426 information.
35427
ed94253f 354282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35429
35430 * docs/version.texi: New file. Provides version information for
35431 grub.texi.
35432
126d6628 354332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35434
35435 * docs/grub.texi: Update CVS information to SVN.
35436 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35437
998b5aa9 354382009-08-07 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * util/grub-mkconfig.in: Remove a wrong `fi'.
35441
818e094a 354422009-08-07 Felix Zielcke <fzielcke@z-51.de>
35443
35444 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35445 (grub_jfs_uuid): New function.
35446 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35447
b969c52f 354482009-08-07 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35451 of it to ...
35452 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35453 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35454
7a4894cc 354552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35456
35457 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35458 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35459 Update all users.
35460
35461 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35462 not just "vmlinu[zx]".
35463 Moved from here ...
35464 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35465 all users.
35466
35467 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35468 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35469 all users.
35470
4e2171f8 354712009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35472
35473 * util/grub.d/10_freebsd.in: Use an absolute device path for
35474 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35475
6dcfcb32 354762009-08-06 Felix Zielcke <fzielcke@z-51.de>
35477
35478 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35479 handling of multiple abstraction modules.
35480
f56a8756 354812009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35482
35483 Fix a bug resulting in black screen when loading Linux using a
35484 packed video mode.
35485
35486 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35487 function.
35488
35489 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35490 (grub_vbe_bios_getset_dac_palette_width): New function.
35491 (grub_vbe_bios_get_dac_palette_width)
35492 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35493 grub_vbe_bios_getset_dac_palette_width()).
35494
35495 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35496 check for return status.
35497 (grub_vbe_get_video_mode_info): When getting information for a packed
35498 mode (<= 8 bpp), obtain DAC palette width using
35499 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35500 {red,green,blue}_mark_size.
35501
222671b2 355022009-08-04 Felix Zielcke <fzielcke@z-51.de>
35503
ecb1a6d9 35504 * commands/search.c (options): Fix help output to match actual code.
222671b2 35505
f84114f5 355062009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35507
35508 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35509 of homegrown code.
35510
bd288a20 355112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35512
35513 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35514 on XFS or ReiserFS.
35515
8aab5e25 355162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35517
35518 Support Apple partition map with sector size different from 512 bytes.
35519
35520 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35521 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35522 and 'apart.partmap_size'.
35523
6ad6258a 355242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
355252009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35526
35527 Fix cpuid command.
35528
35529 * commands/i386/cpuid.c (options): New variable.
35530 (grub_cmd_cpuid): Return real error.
35531 (GRUB_MOD_INIT(cpuid)): Declare options.
35532
67459bc6 355332009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35534
35535 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35536 valid.
35537
fbc6ab54 355382009-07-31 Bean <bean123ch@gmail.com>
35539
35540 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35541 log2_inode.
35542 (grub_fshelp_node): Move inode field to the end.
35543 (grub_xfs_data): Remove inode field.
35544 (grub_xfs_inode_block): Calculate inode size using sblock.
35545 (grub_xfs_inode_offset): Likewise.
35546 (grub_xfs_read_inode): Calculate inode size using sblock.
35547 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35548 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35549 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35550 to match inode size.
35551 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35552 not accessible when data is null.
35553 (grub_xfs_open): Likewise.
35554
f45d6cfc 355552009-07-31 Bean <bean123ch@gmail.com>
35556
35557 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35558 Don't change pv->disk if it's already set.
35559
35560 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35561 (grub_raid_register): ... here.
35562 (grub_raid_rescan): Removed.
35563
35564 * include/grub/raid.h (grub_raid_rescan): Removed.
35565
35566 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35567 (fstest): Replace grub_raid_rescan with module fini function followed
35568 by init function.
35569
35570 * util/grub-probe.c: Add include file <grub/raid.h>.
35571 (probe_raid_level): New function.
35572 (probe): Detect abstraction by walking the disk device, support two
35573 level of abstraction (LVM on RAID) when detecting partition map.
35574
24443b5a 355752009-07-31 Pavel Roskin <proski@gnu.org>
35576
35577 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35578 to grub_zalloc(), it was erroneous.
35579 Reported by Bean <bean123ch@gmail.com>
35580
a275d9e7 355812009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35582
35583 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35584 embedding zone, not only the first one.
a275d9e7 35585
56c5a47f 355862009-07-29 Joe Auricchio <jauricchio@gmail.com>
35587
35588 * term/gfxterm.c (clear_char): New function.
35589 (grub_virtual_screen_setup): Use clear_char.
35590 (scroll_up): Likewise.
35591 (grub_virtual_screen_cls): Likewise.
35592
67bb323a 355932009-07-29 Felix Zielcke <fzielcke@z-51.de>
35594
35595 * util/deviceiter.c (get_acceleraid_disk_name): New static
35596 function.
35597 (grub_util_iterate_devices): Handle Accelraid devices.
35598 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35599
388a7c75 356002009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35601
35602 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35603 separator for the suggested gfxpayload string (';' collides with the
35604 parser and needs escaping).
35605
3bb7abcf 356062009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35607
35608 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35609 Clear direction flag before jumping to OS.
35610 (grub_multiboot2_real_boot): Likewise.
35611
2ddd36d7 356122009-07-28 Felix Zielcke <fzielcke@z-51.de>
35613
35614 * util/i386/pc/grub-install: Fix parsing of --disk-module
35615 option.
35616
c521b62b 356172009-07-28 Felix Zielcke <fzielcke@z-51.de>
35618
35619 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35620 when embedding.
35621
880e0a0c 356222009-07-26 Felix Zielcke <fzielcke@z-51.de>
35623
35624 * util/grub-mkconfig.in (package_version): New variable.
35625 Use it do display the version.
35626
2366e356 356272009-07-25 Felix Zielcke <fzielcke@z-51.de>
35628
35629 * kern/file.c (grub_file_open): Revert to previous check with
35630 grub_errno.
35631
7ad8c80e 356322009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35633
35634 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35635 from help line. It's out of sync with code.
35636
72b9658b 356372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35638
35639 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35640 entries on failed boot.
35641
77435277 356422009-07-25 Felix Zielcke <fzielcke@z-51.de>
35643
35644 * kern/file.c (grub_file_open): Fix an error check.
35645
fcaa8b21 356462009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35647
35d16c74 35648 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35649 partition map couldn't be identified.
fcaa8b21 35650
48904cd1 356512009-07-23 Pavel Roskin <proski@gnu.org>
35652
ef3c317f 35653 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35654 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35655 case of little endian words becomes just an optimization.
35656 Respect const modifier.
ad8ea1f4 35657 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35658
48904cd1 35659 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35660 to avoid loss of upper bits if align is unsigned and shorter
35661 than addr.
35662
260c9a89 356632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35664
35665 UUID support for UFS
35666
35667 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35668 (grub_ufs_uuid): New function.
35669 (grub_ufs_fs): add .uuid
35670
f76ce889 356712009-07-21 Pavel Roskin <proski@gnu.org>
35672
35673 * kern/dl.c (grub_dl_check_header): Make static.
35674
6a6cbcaf 356752009-07-21 Felix Zielcke <fzielcke@z-51.de>
35676
35677 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35678 add drivemap for Vista. It breaks Windows 7.
35679
cffcddb2 356802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35681
35682 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35683 128 bytes
35684
1ef44b80 356852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35686
35687 Add BFS support
35688
35689 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35690 (grub_fstest_SOURCES): Likewise.
35691 (pkglib_MODULES): Add befs.mod.
35692 (befs_mod_SOURCES): New variable.
35693 (befs_mod_CFLAGS): Likewise.
35694 (befs_mod_LDFLAGS): Likewise.
35695 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35699 (grub_setup_SOURCES): Likewise.
35700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35701 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35702 (grub_setup_SOURCES): Likewise.
35703 * fs/befs.c: New file.
35704 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35705 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35706 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35707 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35708 (B_KEY_INDEX_ALIGN): New declaration.
35709 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35710 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35711 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35712 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35713 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35714 (grub_afs_mount) [MODE_BFS]: Likewise.
35715 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35716 (grub_afs_fs): Use GRUB_AFS_FSNAME
35717 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35718 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35719 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35720 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35721
4f253044 357222009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35723
35724 * util/getroot.c (find_root_device): Add support for MacOSX.
35725 * util/hostdisk.c: Likewise.
35726
57a55913 357272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35728
35729 * font/font.c (find_glyph): Check whether a font is present to avoid
35730 segmentation fault.
75421ca9 35731
357322009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35733
35734 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35735
e98cd0c2 357362009-07-20 Pavel Roskin <proski@gnu.org>
35737
35738 * configure.ac: Trim excessively wordy excuses.
35739
1d2d169a 357402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35741
35742 Add symlink, mtime and label support to AtheFS.
35743
35744 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35745 (grub_afs_iterate_dir): Handle symlinks.
35746 (grub_afs_open): Use grub_afs_read_symlink.
35747 (grub_afs_dir): Likewise.
35748 Pass mtime.
35749 (grub_afs_label): New function.
35750 (grub_afs_fs): Add grub_afs_label.
35751 (grub_afs_read_symlink): New function.
35752
186f3189 357532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 Fix AtheFS support.
35756
35757 * fs/afs.c: Fix comments style.
35758 (grub_afs_blockrun): Declare as packed.
35759 (grub_afs_datastream): Likewise.
35760 (grub_afs_bnode): Likewise.
35761 (grub_afs_btree): Likewise.
35762 (grub_afs_sblock): Likewise.
35763 Declare `name' as char.
35764 (grub_afs_inode): Declare as packed.
35765 Change void *vnode to grub_uint32_t unused.
35766 (grub_afs_iterate_dir): Check that key_size is positive.
35767 (grub_afs_mount): Don't read superblock twice.
75421ca9 35768 (grub_afs_dir): Don't free node in case of error,
186f3189 35769 grub_fshelp_find_file already handles this.
35770 (grub_afs_open): Likewise.
35771
5680109e 357722009-07-19 Pavel Roskin <proski@gnu.org>
35773
35774 * Makefile.in: Remove LIBLZO and enable_lzo.
35775 * conf/i386-pc.rmk: Remove lzo support.
35776 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35777 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35778 support.
35779 * kern/i386/pc/lzo1x.S: Remove.
35780 * kern/i386/pc/startup.S: Remove lzo support.
35781 * util/i386/pc/grub-mkimage.c: Likewise.
35782
ac70fa32 357832009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35784
35785 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35786 * fs/xfs.c (grub_xfs_dir): Likewise.
35787 * fs/afs.c (grub_afs_dir): Likewise.
35788 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35789 (grub_iso9660_open): Likewise.
35790 * fs/jfs.c (grub_jfs_open): Likewise.
35791 * fs/ext2.c (grub_ext2_dir): Likewise.
35792 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35793 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35794
eab58da2 357952009-07-16 Pavel Roskin <proski@gnu.org>
35796
d2838156 35797 * configure.ac: Never add "-c" to CFLAGS.
35798
55c70904 35799 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35800
43e6200c 35801 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35802 grub_cv_cc_efiemu should be used.
35803
ce7a733d 35804 * configure.ac: Typo fixes.
35805
eab58da2 35806 * kern/mm.c (grub_zalloc): New function.
35807 (grub_debug_zalloc): Likewise.
35808 * include/grub/mm.h: Declare grub_zalloc() and
35809 grub_debug_zalloc().
35810 * util/misc.c (grub_zalloc): New function.
35811 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35812 instead of grub_malloc(), remove unneeded initializations.
35813 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35814 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35815 * commands/parttool.c (grub_cmd_parttool): Likewise.
35816 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35817 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35818 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35819 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35820 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35821 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35822 (grub_cmd_efiemu_pnvram): Likewise.
35823 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35824 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35825 (grub_iso9660_iterate_dir): Likewise.
35826 * fs/jfs.c (grub_jfs_opendir): Likewise.
35827 * fs/ntfs.c (list_file): Likewise.
35828 (grub_ntfs_mount): Likewise.
35829 * kern/disk.c (grub_disk_open): Likewise.
35830 * kern/dl.c (grub_dl_load_core): Likewise.
35831 * kern/elf.c (grub_elf_file): Likewise.
35832 * kern/env.c (grub_env_context_open): Likewise.
35833 (grub_env_set): Likewise.
35834 (grub_env_set_data_slot): Likewise.
35835 * kern/file.c (grub_file_open): Likewise.
35836 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35837 * loader/i386/multiboot.c (grub_module): Likewise.
35838 * loader/xnu.c (grub_xnu_create_key): Likewise.
35839 (grub_xnu_create_value): Likewise.
35840 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35841 (read_config_file): Likewise.
35842 * normal/menu_entry.c (make_screen): Likewise.
35843 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35844 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35845 * script/sh/script.c (grub_script_parse): Likewise.
35846 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35847 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35848 * video/readers/png.c (grub_png_output_byte): Likewise.
35849 (grub_video_reader_png): Likewise.
35850
830afef7 358512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35852
35853 Enable all targets that can be built by default
35854
830afef7 35855 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35856 grub-mkfont and grub-fstest if they can be built
35857
ee293aee 358582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35859
35860 Fix hang and segmentation fault in grub-emu-usb
35861
35862 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35863 * util/usb.c (grub_libusb_devices): likewise
35864 (grub_libusb_init): rename to ...
35865 (GRUB_MOD_INIT (libusb)):...this
35866 (grub_libusb_fini): rename to ..
35867 (GRUB_MOD_FINI (libusb)):...this
35868 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35869 * include/grub/disk.h (grub_raid_init): removed, it's useless
35870 (grub_raid_fini): likewise
35871 (grub_lvm_init): likewise
35872 (grub_lvm_fini): likewise
35873 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35874 by grub_init_all
35875
94414221 358762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35877
35878 Fix libusb
35879
35880 * Makefile.in (LIBUSB): new macro
35881 * genmk.rb (Utility/print_tail): new method
35882 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35883 (top level): call util.print_tail at the end.
35884
59ade63d 358852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35886
35887 Make FreeBSD accept zpool.cache
35888
35889 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35890 type is /boot/zfs/zpool.cache
35891
a58da8c7 358922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35893
35894 Fix 64-bit efiemu
35895
35896 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35897 correct wrong typedef
35898 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35899
20591577 359002009-07-15 Pavel Roskin <proski@gnu.org>
35901
560ca572 35902 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35903 * kern/disk.c (struct grub_disk_cache): Likewise.
35904
e8e8e4fd 35905 * commands/probe.c (options): Typo fix.
35906
fde24e10 35907 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35908 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35909 accordingly.
35910 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35911
379c54c1 35912 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35913 the end of "Error" to make the message more readable.
35914
7bd8f5bf 35915 * boot/i386/pc/boot.S (kernel_segment): Remove.
35916 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35917 for destination.
35918
40b132c5 35919 * boot/i386/pc/boot.S (boot_version): Remove.
35920 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35921 Remove.
35922
20591577 35923 * include/grub/i386/pc/boot.h: Sort all offsets.
35924 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35925 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35926 * boot/i386/pc/boot.S: Assert location of every offset listed in
35927 include/grub/i386/pc/boot.h.
35928
2df32b2c 359292009-07-13 Pavel Roskin <proski@gnu.org>
35930
44b5d879 35931 * include/grub/i386/coreboot/machine.h: Rename
35932 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35933 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35934 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35935
17dc3751 35936 * kern/dl.c: Force native word size to suppress warnings when
35937 compiling grub-emu.
35938
2df32b2c 35939 * kern/device.c (grub_device_iterate): Change struct part_ent to
35940 hold the name, not a pointer to it. Use one grub_malloc() per
35941 partition, not two. Free partition_name if grub_malloc() fails.
35942 Set ents to NULL only before grub_partition_iterate() is called.
35943
75c59f59 359442009-07-11 Bean <bean123ch@gmail.com>
35945
35946 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35947 childname.
35948
0ae1bf88 359492009-07-10 Bean <bean123ch@gmail.com>
359502009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35951
35952 * kern/ieee1275/openfw.c (grub_children_iterate)
35953 (grub_devalias_iterate): Fix size evaluation for property or path
35954 strings, which was broken since r2132.
35955
8279cade 359562009-07-07 Pavel Roskin <proski@gnu.org>
35957
7d8a52d3 35958 * commands/search.c (search_file): Merge into ...
35959 (search_fs): ... this. Accept search type as argument.
35960 (grub_cmd_search): Pass search type to search_fs().
35961
25f9a05a 35962 * include/grub/util/console.h: New file.
35963 * util/console.c: Use it instead of grub/machine/console.h.
35964 * util/grub-emu.c: Likewise.
35965
8279cade 35966 * lib/arg.c (find_long_option): Remove.
35967 (find_long): Add `len' argument, make `s' const char *.
35968 (grub_arg_parse): Parse long options in place, not in a
35969 temporary buffer.
35970
4a11b60f 359712009-07-06 Pavel Roskin <proski@gnu.org>
35972
99f68041 35973 * commands/search.c (search_fs): Fix potential NULL pointer
35974 dereference.
35975
4a11b60f 35976 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35977 function pointer.
35978
e110f4de 359792009-07-06 Daniel Mierswa <impulze@impulze.org>
35980
35981 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35982 comparison.
35983
46eeb6a2 359842009-07-05 Pavel Roskin <proski@gnu.org>
35985
bab74958 35986 * include/grub/i386/linux.h (struct linux_kernel_params):
35987 Restore padding3, it's still needed.
35988
46eeb6a2 35989 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35990 FreeBSD.
35991 * util/osdetect.lua: Likewise.
35992
b4a1dc79 359932009-07-05 Bean <bean123ch@gmail.com>
35994
35995 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35996
35997 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35998 (grub_lua_getenv): Likewise.
35999 (grub_lua_setenv): Likewise.
36000 (save_errno): New function.
36001 (push_result): Likewise.
36002 (grub_lua_enum_device): Likewise.
36003 (grub_lua_enum_file): Likewise.
36004 (grub_lua_file_open): Likewise.
36005 (grub_lua_file_close): Likewise.
36006 (grub_lua_file_seek): Likewise.
36007 (grub_lua_file_read): Likewise.
36008 (grub_lua_file_getline): Likewise.
36009 (grub_lua_file_getsize): Likewise.
36010 (grub_lua_file_getpos): Likewise.
36011 (grub_lua_file_eof): Likewise.
36012 (grub_lua_file_exist): Likewise.
36013 (grub_lua_add_menu): Likewise.
36014
36015 * script/lua/grub_lua.h (isupper): New inline function.
36016 (islower): Likewise.
36017 (ispunct): Likewise.
36018 (isxdigit): Likewise.
36019 (strcspn): Change to normal function.
36020 (strpbkr): New function declaration.
36021 (memchr): Likewise.
36022
36023 * script/lua/grub_main.c (scan_str): New function.
36024 (strcspn): Likewise.
36025 (strpbrk): Likewise.
36026 (memchr): Likewise.
36027
36028 * script/lua/linit.c (lualibs): Enable the string library.
36029
36030 * util/osdetect.lua: New file.
36031
2da92295 360322009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36033
36034 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36035 `capabilities' member.
36036
b2582ec9 360372009-07-02 Pavel Roskin <proski@gnu.org>
36038
36039 * genparttoollist.sh: Add missing newline at the end.
36040
32622956 360412009-07-01 Pavel Roskin <proski@gnu.org>
36042
87a7339e 36043 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36044
d23af54e 36045 * util/hostdisk.c (open_device): Remove `const' from
36046 `sysctl_size', as sysctlbyname() can change it (in this case it
36047 doesn't actually happen).
36048
c94b18a9 36049 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36050 using signed long int constants.
36051
c6cd3ef0 36052 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36053 constant to avoid a warning on FreeBSD.
36054
0df63420 36055 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36056 where it's needed.
36057
999577f1 36058 * Makefile.in: Install include/grub/machine symlink.
36059
6f41557f 36060 * Makefile.in: When installing symlinks, use "cp -fR", which
36061 works on FreeBSD and MacOSX.
36062 From Yves Blusseau <cl7m42e02@sneakemail.com>
36063
c8d22988 36064 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36065 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36066
1b96e952 36067 * util/misc.c: Move grub_reboot() and grub_halt() ...
36068 * util/grub-emu.c: ... here. Make main_env static.
36069 * include/grub/util/misc.h: Remove main_env.
36070
2ef0084d 36071 * kern/mm.c: Use correct format to print size_t.
36072
32622956 36073 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36074 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36075 * kern/powerpc/dl.c: Likewise.
36076 * kern/sparc64/dl.c: Likewise.
36077 * kern/x86_64/dl.c: Likewise.
36078
3f7f0cd0 360792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36080
36081 Fix grub-emu build on sparc64-ieee1275.
36082
75421ca9 36083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36085
211d06b5 360862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36087
36088 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36089 (grub_reboot, grub_halt): New functions.
36090
36091 * util/i386/pc/misc.c: Delete. Update all users.
36092 * util/sparc64/ieee1275/misc.c: Likewise.
36093 * util/powerpc/ieee1275/misc.c: Likewise.
36094
aaf53e3c 360952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36096
36097 * conf/i386.rmk (setjmp_mod_SOURCES)
36098 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36099 * conf/common.rmk (setjmp_mod_SOURCES)
36100 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36101 to use $(target_cpu).
36102 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36103 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36104 * conf/powerpc-ieee1275.rmk: Likewise.
36105 * conf/sparc64-ieee1275.rmk: Likewise.
36106
36107 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36108 $(target_cpu) for kern/$(target_cpu)/dl.c.
36109 * conf/i386-efi.rmk: Likewise.
36110 * conf/i386-ieee1275.rmk: Likewise.
36111 * conf/x86_64-efi.rmk: Likewise.
36112 * conf/i386-coreboot.rmk: Likewise.
36113 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36114 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36115 kern/$(target_cpu)/cache.S.
36116 * conf/sparc64-ieee1275.rmk: Likewise.
36117
a337130b 361182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36119
36120 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36121 type to `grub_uint8_t', and adjust `padding9' accordingly.
36122
c6fe4d53 361232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36124
b09db61d 36125 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36126
c6fe4d53 36127 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36128 assembly in final jump, using register constraints.
36129
b09db61d 36130 (grub_linux_boot): For text mode, initialize `have_vga' using
36131 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36132
36133 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36134 right before the final jump.
36135
36136 Set `video_mode' to 0x3.
36137
36138 Document initialization of `video_page', `video_mode' and
36139 `video_ega_bx'.
36140
28333ad0 361412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36142
36143 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36144 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36145 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36146
02164e1b 361472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36148
36149 Fix build on Debian / sparc.
36150
36151 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36152
18b6c557 361532009-06-28 Pavel Roskin <proski@gnu.org>
36154
85f2aab6 36155 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36156 fix a warning.
36157
18b6c557 36158 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36159
ad760f81 361602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36161
36162 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36163 `err'.
36164
87a4623b 361652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36166
36167 Revert r2338.
36168
36169 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36170 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36171 grub_errno / grub_errmsg appropriately.
87a4623b 36172 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36173
8231fb77 361742009-06-27 Pavel Roskin <proski@gnu.org>
361752009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36176
36177 * include/grub/dl.h: Include grub/elf.h.
36178 (struct grub_dl): Add symtab field.
36179 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36180 GRUB_MODULES_MACHINE_READONLY.
36181 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36182 of the header for read-only modules.
36183 (grub_dl_unload): Free mod->symtab for read-only modules.
36184 * kern/i386/dl.c: Use mod->symtab.
36185 * kern/powerpc/dl.c: Likewise.
36186 * kern/sparc64/dl.c: Likewise.
36187 * kern/x86_64/dl.c: Likewise.
36188
36189 * conf/i386-qemu.rmk: New file.
36190 * kern/i386/qemu/startup.S: Likewise.
36191 * kern/i386/qemu/mmap.c: Likewise.
36192 * boot/i386/qemu/boot.S: Likewise.
36193 * include/grub/i386/qemu/time.h: Likewise.
36194 * include/grub/i386/qemu/serial.h: Likewise.
36195 * include/grub/i386/qemu/kernel.h: Likewise.
36196 * include/grub/i386/qemu/console.h: Likewise.
36197 * include/grub/i386/qemu/boot.h: Likewise.
36198 * include/grub/i386/qemu/init.h: Likewise.
36199 * include/grub/i386/qemu/machine.h: Likewise.
36200 * include/grub/i386/qemu/loader.h: Likewise.
36201 * include/grub/i386/qemu/memory.h: Likewise.
36202
36203 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36204 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36205 [qemu] (pkglib_IMAGES): Add `boot.img'.
36206 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36207 [qemu] (boot_img_FORMAT): New variables.
36208 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36209 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36210 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36211 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36212 [qemu] (kernel_img_FORMAT): New variables.
36213
36214 * configure.ac: Recognise `i386-qemu'.
36215
36216 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36217 (for no compression).
36218 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36219 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36220 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36221 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36222 ifdefs).
36223
97fe384e 362242009-06-27 Pavel Roskin <proski@gnu.org>
36225
36226 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36227 read.
36228 * efiemu/prepare32.c: Likewise.
36229 * efiemu/prepare64.c: Likewise.
36230
c402ab17 362312009-06-26 Pavel Roskin <proski@gnu.org>
36232
36233 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36234 * include/grub/elf.h: Define symbols without "32" or "64" based
36235 on GRUB_TARGET_WORDSIZE.
36236 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36237 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36238 ELF definitions.
36239 * efiemu/loadcore64.c: Likewise.
36240 * loader/i386/bsd32.c: Likewise.
36241 * loader/i386/bsd64.c: Likewise.
36242 * kern/dl.c: Remove own ELF definitions.
36243 * util/i386/efi/grub-mkimage.c: Likewise.
36244
9bbdfd4d 362452009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36246
36247 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36248 segment 0x0 unconditionally, because the reference generated by
36249 GAS is an absolute address.
36250
a42ce6e9 362512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36252
36253 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36254 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36255
c952cf92 362562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36257
36258 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36259 indexes. Check for -f explicitly.
cc3752ad 36260 (search_file): Improve error message.
36261 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36262
132a0a59 362632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36264
36265 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36266 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36267
387a140c 362682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36269
36270 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36271 * conf/i386-ieee1275.rmk: Likewise.
36272 * conf/i386-coreboot.rmk: Likewise.
36273
36274 * kern/i386/pc/startup.S (grub_stop): Remove function.
36275 * kern/i386/ieee1275/startup.S: Likewise.
36276 * kern/i386/coreboot/startup.S: Likewise.
36277 * kern/i386/misc.S (grub_stop): New function.
36278
41da9665 362792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36280
36281 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36282 * kern/i386/realmode.S (real_to_prot): ... to here.
36283
bf337234 362842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36285
36286 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36287 with `kernel.img'.
36288 (kernel_elf_SOURCES): Rename to ...
36289 (kernel_img_SOURCES): ... this.
36290 (kernel_elf_HEADERS): Rename to ...
36291 (kernel_img_HEADERS): ... this. Update all users.
36292 (kernel_elf_ASFLAGS): Rename to ...
36293 (kernel_img_ASFLAGS): ... this.
36294 (kernel_elf_CFLAGS): Rename to ...
36295 (kernel_img_CFLAGS): ... this.
36296 (kernel_elf_LDFLAGS): Rename to ...
36297 (kernel_img_LDFLAGS): ... this.
36298 * conf/i386-coreboot.rmk: Likewise.
36299 * conf/powerpc-ieee1275.rmk: Likewise.
36300
36301 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36302 with "kernel.img".
36303
f52196ff 363042009-06-21 Pavel Roskin <proski@gnu.org>
36305
c3cee413 36306 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36307 to match nested functions.
36308 * loader/sparc64/ieee1275/linux.c: Likewise.
36309
f52196ff 36310 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36311
58750afc 363122009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36313
36314 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36315 all i386 platforms.
36316
15355c7d 363172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36318
36319 Fix asm file handling on ELF, and remove workarounds.
36320
36321 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36322 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36323 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36324 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36325
3f3ec72b 363262009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36327
36328 Load BSD ELF modules
36329
36330 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36331 and loader/i386/bsd64.c
36332 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36333 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36334 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36335 (grub_freebsd_load_elfmodule32): New declaration
36336 (grub_freebsd_load_elfmoduleobj64): Likewise
36337 (grub_freebsd_load_elf_meta32): Likewise
36338 (grub_freebsd_load_elf_meta64): Likewise
36339 (grub_freebsd_add_meta): Likewise
36340 (grub_freebsd_add_meta_module): Likewise
36341 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36342 (grub_freebsd_add_meta_module): Likewise and move module-specific
36343 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36344 (grub_cmd_freebsd): Add elf-kernel specific parts
36345 based on grub_freebsd_add_meta_module
36346 (grub_cmd_freebsd_module): Add type parsing moved from
36347 grub_freebsd_add_meta_module
36348 (grub_cmd_freebsd_module_elf): New function
36349 (cmd_freebsd_module_elf): New variable
36350 (GRUB_MOD_INIT): Register freebsd_module_elf
36351 * loader/i386/bsd32.c: New file
36352 * loader/i386/bsd64.c: Likewise
36353 * loader/i386/bsdXX.c: Likewise
36354 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36355 (grub_elf64_load): Likewise
36356 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36357 All users updated
36358 (grub_elf64_load_hook_t): Likewise
36359
0db15301 363602009-06-21 Colin Watson <cjwatson@ubuntu.com>
36361
36362 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36363 variable.
36364 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36365 don't write a menu entry for recovery mode.
36366
546796c1 363672009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36368
36369 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36370 after it's no longer needed.
36371
cd7310d5 363722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36373
36374 * include/grub/i386/loader.h (grub_linux_prot_size)
36375 (grub_linux_tmp_addr, grub_linux_real_addr)
36376 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36377 GRUB_MACHINE_PCBIOS.
36378 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36379 common grub_util_info() call to ...
36380 (generate_image): ... here.
36381 Fix use of uninitialized memory, comparison of signed with
36382 unsigned integers and memory leak.
36383 Remove bogus module address message.
36384
ab32d3b5 363852009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36386
36387 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36388 grub_raid_register
36389 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36390
024ef597 363912009-06-19 Pavel Roskin <proski@gnu.org>
36392
36393 * configure.ac: Remove stray AC_MSG_CHECKING.
36394
3ac72b51 363952009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36396
36397 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36398
e14cd814 363992009-06-18 Pavel Roskin <proski@gnu.org>
36400
36401 * conf/common.rmk: Add fs_file.mod.
36402 * disk/fs_file.c: New file.
36403 * include/grub/disk.h (enum grub_disk_dev_id): Add
36404 GRUB_DISK_DEVICE_FILE_ID.
36405
26586d98 364062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36407
36408 Fix build with Apple's toolchain. Part 2
36409
36410 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36411 a fake start
36412
26de2bcd 364132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36414
36415 Fix build with Apple's toolchain. Part 1
36416
36417 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36418 for long calls
36419 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36420 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36421 Apple's toolchain
36422
09b3490b 364232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36424
36425 Fix warnings
36426
36427 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36428 (decomp_block): initialize ch
36429 use grub_memcpy instead of memcpy
36430
c22a006a 364312009-06-17 Pavel Roskin <proski@gnu.org>
36432
d3638678 36433 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36434 version, use declarations needed to use vga_text as the startup
36435 console.
36436
c22a006a 36437 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36438 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36439 the kernel.
36440 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36441 and grub_at_keyboard_fini(), it's done on module load and
36442 unload.
36443
05b129e0 364442009-06-17 Felix Zielcke <fzielcke@z-51.de>
36445
36446 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36447 file can't be found.
36448 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36449
cf24ed9e 364502009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36451
36452 Fix newline handling
36453
36454 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36455 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36456 (grub_script_yylex): don't segfault on unterminated script
36457 newline terminates command and variable
36458
74aa8e4b 364592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36460
36461 avoid double grub_adjust_range call. Bug reported by David Simner
36462
36463 * kern/disk.c (grub_disk_write): change to raw disk access before
36464 calling disk_read
36465
1bd265f3 364662009-06-17 Colin Watson <cjwatson@ubuntu.com>
36467
36468 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36469 spaces, for the benefit of help2man.
36470 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36471
a2d08c06 364722009-06-16 Pavel Roskin <proski@gnu.org>
36473
36474 * kern/i386/halt.c: Include grub/machine/init.h.
36475 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36476
b97bcb19 364772009-06-16 Felix Zielcke <fzielcke@z-51.de>
36478
36479 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36480 drivemap menuentry.
36481
0644f96c 364822009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36483
36484 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36485 `echo' command.
36486
3ef17a2e 364872009-06-16 Pavel Roskin <proski@gnu.org>
36488
36489 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36490 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36491 save %dx, we only need %dl and we never change it.
36492 * boot/i386/pc/cdboot.S: Don't set the root drive.
36493 * boot/i386/pc/pxeboot.S: Likewise.
36494 * include/grub/i386/pc/boot.h: Remove
36495 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36496 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36497 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36498 * kern/i386/pc/init.c (make_install_device): Remove references
36499 to grub_root_drive.
36500 * kern/i386/pc/startup.S: Likewise.
36501 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36502
693fe637 365032009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36504
36505 xnu_uuid command
36506
36507 * commands/xnu_uuid.c: new file
36508 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36509 (xnu_uuid_mod_SOURCES): new variable
36510 (xnu_uuid_mod_CFLAGS): likewise
36511 (xnu_uuid_mod_LDFLAGS): likewise
36512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36513 * conf/i386-ieee1275.rmk: likewise
36514 * conf/i386-pc.rmk: likewise
36515 * conf/powerpc-ieee1275.rmk: likewise
36516 * conf/sparc64-ieee1275.rmk: likewise
36517 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36518
c9da87d0 365192009-06-16 Pavel Roskin <proski@gnu.org>
36520
36521 * configure.ac: Avoid '==' in test command, it's not portable.
36522
9c6f4596 365232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36524
36525 Probe command
36526
36527 * commands/probe.c: new file
36528 * conf/common.rmk (pkglib_MODULES): add probe.mod
36529 (probe_mod_SOURCES): new variable
36530 (probe_mod_CFLAGS): likewise
36531 (probe_mod_LDFLAGS): likewise
36532 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36533 * conf/i386-ieee1275.rmk: likewise
36534 * conf/i386-pc.rmk: likewise
36535 * conf/powerpc-ieee1275.rmk: likewise
36536 * conf/sparc64-ieee1275.rmk: likewise
36537
70b7f9fd 365382009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36539
36540 Fix handling of string like \"hello\" and "a
36541 b"
36542
36543 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36544 (grub_script_yylex): fix parsing of quoting, escaping and newline
36545
71c79a6b 365462009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36547
dd74360c 36548 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36549 handling
dd74360c 36550
0644f96c 365512009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36552
36553 * util/grub-mkconfig.in: Fix parsing of --output option.
36554
e40893c3 365552009-06-12 Pavel Roskin <proski@gnu.org>
36556
36557 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36558 genmk.rb don't need to be generated or installed.
36559
3a1acfe2 365602009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36561
36562 * commands/i386/pc/drivemap_int13h.S: add more comments
36563
3a4575d4 365642009-06-11 Pavel Roskin <proski@gnu.org>
36565
0658e928 36566 * Makefile.in (uninstall): Uninstall manuals.
36567
ca0388f0 36568 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36569 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36570 and update-grub_lib in two places.
36571 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36572
e3b27c39 36573 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36574 a compiler warning.
36575
3a4575d4 36576 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36577 `entry_lo' to fix variable shadowing.
36578
af1f4f55 365792009-06-11 Christian Franke <franke@computer.org>
36580
36581 * kern/misc.c (__enable_execute_stack): Add missing return type
36582 to prevent gcc warning.
36583
5225e649 365842009-06-11 Felix Zielcke <fzielcke@z-51.de>
36585
36586 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36587
7d83bd47 365882009-06-11 Pavel Roskin <proski@gnu.org>
36589
c1cb63ba 36590 * Makefile.in: Don't rely on any scripts being executable.
36591 Always use $(SHELL) to run shell scripts.
36592
7d83bd47 36593 * configure.ac: Always define ___main if using -nostdlib. This
36594 fixes tests on Cygwin.
36595
948f48e7 365962009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36597
36598 UDF fix
36599
7d83bd47 36600 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36601 is in bytes and not in blocks
7d83bd47 36602
8ada9bc1 366032009-06-11 Pavel Roskin <proski@gnu.org>
36604
36605 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36606 warning.
36607
25ad2323 366082009-06-11 Felix Zielcke <fzielcke@z-51.de>
36609
36610 * util/grub.d/30_os-prober.in: Fix a comment. Source
36611 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36612 to set the root device. Place drivemap command in the generated
36613 chain entry.
36614
e65acb0c 366152009-06-11 Pavel Roskin <proski@gnu.org>
36616
36617 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36618 have long been resolved.
36619
f285fe2d 366202009-06-11 Colin Watson <cjwatson@ubuntu.com>
36621
bd47b0b5 36622 * util/grub.d/10_linux.in: Capitalise "Linux".
36623
f285fe2d 36624 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36625
a0c62e4e 366262009-06-11 Pavel Roskin <proski@gnu.org>
36627
b6783cb2 36628 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36629 fix a gcc warning and ensure that the function won't ever exit.
36630
dde032e8 36631 * kern/i386/ieee1275/init.c: Add missing prototype for
36632 grub_stop_floppy().
36633
22cd079d 36634 * loader/ieee1275/multiboot2.c [__i386__]: Include
36635 grub/cpu/multiboot.h.
36636
a0c62e4e 36637 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36638 casts to short - they are not portable and cause warnings. Fix
36639 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36640
63963d17 366412009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36642
36643 Drivemap fixes
36644
36645 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36646 new function
36647 (grub_get_root_biosnumber_saved): new variable
36648 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36649 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36650 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36651 %dx after the call if necessary
36652 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36653 (boot_mod_SOURCES): remove
36654 (boot_mod_CFLAGS): remove
36655 (boot_mod_LDFLAGS): remove
36656 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36657 (boot_mod_SOURCES): new variable
36658 (boot_mod_CFLAGS): likewise
36659 (boot_mod_LDFLAGS): likewise
36660 * conf/i386-efi.rmk: likewise
36661 * conf/i386-ieee1275.rmk: likewise
36662 * conf/i386-pc.rmk: likewise
36663 * conf/powerpc-ieee1275.rmk: likewise
36664 * conf/sparc64-ieee1275.rmk: likewise
36665 * conf/x86_64-efi.rmk: likewise
36666 * include/grub/i386/pc/biosnum.h: new file
36667 * lib/i386/pc/biosnum.c: likewise
36668 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36669 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36670 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36671
33abf7ae 366722009-06-10 Pavel Roskin <proski@gnu.org>
36673
5ac35b35 36674 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36675 Use separate variables. Read only the file size at the end, but
36676 not the checksum that we don't use.
36677
5c5215d5 36678 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36679 Adjust all callers.
36680
27d5fef7 36681 * kern/ieee1275/openfw.c: Remove libc includes.
36682 * kern/ieee1275/cmain.c: Likewise.
36683 * include/grub/ieee1275/ieee1275.h: Likewise.
36684
33abf7ae 36685 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36686 compiler warnings.
36687
19d50c2b 366882009-06-10 Felix Zielcke <fzielcke@z-51.de>
36689
36690 * Makefile.in: Remove all trailing whitespace.
36691 * conf/i386-pc.rmk: Likewise.
36692 * conf/powerpc-ieee1275.rmk: Likewise.
36693 * conf/sparc64-ieee1275.rmk: Likewise.
36694 * docs/grub.texi: Likewise.
36695 * docs/texinfo.tex: Likewise.
36696 * disk/fs_uuid.c: Likewise.
36697 * disk/lvm.c: Likewise.
36698 * disk/scsi.c: Likewise.
36699 * disk/ata.c: Likewise.
36700 * disk/ieee1275/ofdisk.c: Likewise.
36701 * disk/i386/pc/biosdisk.c: Likewise.
36702 * disk/host.c: Likewise.
36703 * disk/raid.c: Likewise.
36704 * disk/efi/efidisk.c: Likewise.
36705 * disk/usbms.c: Likewise.
36706 * disk/memdisk.c: Likewise.
36707 * disk/loopback.c: Likewise.
36708 * kern/powerpc/dl.c: Likewise.
36709 * kern/device.c: Likewise.
36710 * kern/dl.c: Likewise.
36711 * kern/sparc64/dl.c: Likewise.
36712 * kern/ieee1275/ieee1275.c: Likewise.
36713 * kern/term.c: Likewise.
36714 * kern/fs.c: Likewise.
36715 * kern/i386/dl.c: Likewise.
36716 * kern/i386/pc/startup.S: Likewise.
36717 * kern/i386/pc/init.c: Likewise.
36718 * kern/i386/pc/mmap.c: Likewise.
36719 * kern/i386/pc/lzo1x.S: Likewise.
36720 * kern/i386/ieee1275/init.c: Likewise.
36721 * kern/i386/realmode.S: Likewise.
36722 * kern/i386/tsc.c: Likewise.
36723 * kern/partition.c: Likewise.
36724 * kern/corecmd.c: Likewise.
36725 * kern/file.c: Likewise.
36726 * kern/efi/efi.c: Likewise.
36727 * kern/efi/init.c: Likewise.
36728 * kern/efi/mm.c: Likewise.
36729 * kern/main.c: Likewise.
36730 * kern/err.c: Likewise.
36731 * kern/env.c: Likewise.
36732 * kern/disk.c: Likewise.
36733 * kern/generic/millisleep.c: Likewise.
36734 * kern/generic/rtc_get_time_ms.c: Likewise.
36735 * kern/misc.c: Likewise.
36736 * kern/parser.c: Likewise.
36737 * genmk.rb: Likewise.
36738 * configure.ac: Likewise.
36739 * boot/i386/pc/diskboot.S: Likewise.
36740 * boot/i386/pc/pxeboot.S: Likewise.
36741 * boot/i386/pc/boot.S: Likewise.
36742 * boot/i386/pc/lnxboot.S: Likewise.
36743 * boot/i386/pc/cdboot.S: Likewise.
36744 * parttool/pcpart.c: Likewise.
36745 * video/readers/tga.c: Likewise.
36746 * video/video.c: Likewise.
36747 * video/bitmap.c: Likewise.
36748 * lib/envblk.c: Likewise.
36749 * lib/i386/setjmp.S: Likewise.
36750 * fs/xfs.c: Likewise.
36751 * fs/afs.c: Likewise.
36752 * fs/fat.c: Likewise.
36753 * fs/ntfs.c: Likewise.
36754 * fs/udf.c: Likewise.
36755 * fs/affs.c: Likewise.
36756 * fs/iso9660.c: Likewise.
36757 * fs/hfs.c: Likewise.
36758 * fs/fshelp.c: Likewise.
36759 * fs/ext2.c: Likewise.
36760 * fs/jfs.c: Likewise.
36761 * fs/reiserfs.c: Likewise.
36762 * fs/hfsplus.c: Likewise.
36763 * fs/minix.c: Likewise.
36764 * fs/cpio.c: Likewise.
36765 * fs/sfs.c: Likewise.
36766 * fs/ufs.c: Likewise.
36767 * efiemu/prepare.c: Likewise.
36768 * efiemu/loadcore_common.c: Likewise.
36769 * efiemu/runtime/efiemu.sh: Likewise.
36770 * efiemu/runtime/efiemu.S: Likewise.
36771 * efiemu/runtime/efiemu.c: Likewise.
36772 * efiemu/pnvram.c: Likewise.
36773 * efiemu/main.c: Likewise.
36774 * efiemu/i386/pc/cfgtables.c: Likewise.
36775 * efiemu/i386/loadcore64.c: Likewise.
36776 * efiemu/i386/loadcore32.c: Likewise.
36777 * efiemu/loadcore.c: Likewise.
36778 * efiemu/symbols.c: Likewise.
36779 * efiemu/mm.c: Likewise.
36780 * include/grub/autoefi.h: Likewise.
36781 * include/grub/datetime.h: Likewise.
36782 * include/grub/term.h: Likewise.
36783 * include/grub/hfs.h: Likewise.
36784 * include/grub/lvm.h: Likewise.
36785 * include/grub/i386/tsc.h: Likewise.
36786 * include/grub/i386/linux.h: Likewise.
36787 * include/grub/i386/xnu.h: Likewise.
36788 * include/grub/i386/efiemu.h: Likewise.
36789 * include/grub/i386/pc/biosdisk.h: Likewise.
36790 * include/grub/i386/pc/memory.h: Likewise.
36791 * include/grub/i386/pc/vbe.h: Likewise.
36792 * include/grub/parttool.h: Likewise.
36793 * include/grub/video.h: Likewise.
36794 * include/grub/memory.h: Likewise.
36795 * include/grub/fs.h: Likewise.
36796 * include/grub/partition.h: Likewise.
36797 * include/grub/xnu.h: Likewise.
36798 * include/grub/efi/api.h: Likewise.
36799 * include/grub/efi/pe32.h: Likewise.
36800 * include/grub/efi/memory.h: Likewise.
36801 * include/grub/multiboot.h: Likewise.
36802 * include/grub/usbdesc.h: Likewise.
36803 * include/grub/multiboot2.h: Likewise.
36804 * include/grub/acpi.h: Likewise.
36805 * include/grub/efiemu/efiemu.h: Likewise.
36806 * include/grub/disk.h: Likewise.
36807 * include/grub/ieee1275/ieee1275.h: Likewise.
36808 * include/grub/net.h: Likewise.
36809 * include/grub/machoload.h: Likewise.
36810 * include/grub/macho.h: Likewise.
36811 * include/multiboot.h: Likewise.
36812 * genmoddep.awk: Likewise.
36813 * normal/main.c: Likewise.
36814 * normal/menu_entry.c: Likewise.
36815 * normal/menu_viewer.c: Likewise.
36816 * normal/completion.c: Likewise.
36817 * normal/cmdline.c: Likewise.
36818 * normal/misc.c: Likewise.
36819 * normal/datetime.c: Likewise.
36820 * bus/usb/usbtrans.c: Likewise.
36821 * bus/usb/ohci.c: Likewise.
36822 * bus/usb/uhci.c: Likewise.
36823 * bus/usb/usb.c: Likewise.
36824 * mmap/efi/mmap.c: Likewise.
36825 * mmap/i386/pc/mmap_helper.S: Likewise.
36826 * mmap/i386/pc/mmap.c: Likewise.
36827 * mmap/i386/mmap.c: Likewise.
36828 * mmap/i386/uppermem.c: Likewise.
36829 * mmap/mmap.c: Likewise.
36830 * commands/acpi.c: Likewise.
36831 * commands/echo.c: Likewise.
36832 * commands/blocklist.c: Likewise.
36833 * commands/loadenv.c: Likewise.
36834 * commands/usbtest.c: Likewise.
36835 * commands/boot.c: Likewise.
36836 * commands/parttool.c: Likewise.
36837 * commands/search.c: Likewise.
36838 * commands/cat.c: Likewise.
36839 * commands/i386/pc/play.c: Likewise.
36840 * commands/i386/pc/drivemap.c: Likewise.
36841 * commands/i386/pc/vbeinfo.c: Likewise.
36842 * commands/i386/pc/acpi.c: Likewise.
36843 * commands/i386/pc/vbetest.c: Likewise.
36844 * commands/ls.c: Likewise.
36845 * commands/cmp.c: Likewise.
36846 * commands/test.c: Likewise.
36847 * commands/efi/acpi.c: Likewise.
36848 * commands/gptsync.c: Likewise.
36849 * commands/help.c: Likewise.
36850 * partmap/amiga.c: Likewise.
36851 * partmap/apple.c: Likewise.
36852 * partmap/acorn.c: Likewise.
36853 * partmap/pc.c: Likewise.
36854 * partmap/sun.c: Likewise.
36855 * partmap/gpt.c: Likewise.
36856 * script/sh/lexer.c: Likewise.
36857 * script/sh/function.c: Likewise.
36858 * font/font.c: Likewise.
36859 * font/font_cmd.c: Likewise.
36860 * loader/powerpc/ieee1275/linux.c: Likewise.
36861 * loader/efi/chainloader.c: Likewise.
36862 * loader/multiboot_loader.c: Likewise.
36863 * loader/macho.c: Likewise.
36864 * loader/i386/multiboot.c: Likewise.
36865 * loader/i386/linux.c: Likewise.
36866 * loader/i386/pc/linux.c: Likewise.
36867 * loader/i386/pc/multiboot2.c: Likewise.
36868 * loader/i386/pc/chainloader.c: Likewise.
36869 * loader/i386/pc/xnu.c: Likewise.
36870 * loader/i386/bsd_trampoline.S: Likewise.
36871 * loader/i386/efi/linux.c: Likewise.
36872 * loader/i386/multiboot_elfxx.c: Likewise.
36873 * loader/i386/bsd_helper.S: Likewise.
36874 * loader/i386/bsd.c: Likewise.
36875 * loader/i386/linux_trampoline.S: Likewise.
36876 * loader/i386/xnu_helper.S: Likewise.
36877 * loader/i386/xnu.c: Likewise.
36878 * loader/i386/bsd_pagetable.c: Likewise.
36879 * loader/i386/multiboot_helper.S: Likewise.
36880 * loader/xnu.c: Likewise.
36881 * loader/xnu_resume.c: Likewise.
36882 * io/gzio.c: Likewise.
36883 * term/efi/console.c: Likewise.
36884 * term/terminfo.c: Likewise.
36885 * term/ieee1275/ofconsole.c: Likewise.
36886 * term/i386/pc/serial.c: Likewise.
36887 * term/i386/pc/vesafb.c: Likewise.
36888 * term/i386/pc/vga.c: Likewise.
36889 * term/usb_keyboard.c: Likewise.
36890 * term/gfxterm.c: Likewise.
36891 * aclocal.m4: Likewise.
36892 * util/lvm.c: Likewise.
36893 * util/grub.d/30_os-prober.in: Likewise.
36894 * util/grub.d/10_hurd.in: Likewise.
36895 * util/console.c: Likewise.
36896 * util/grub-macho2img.c: Likewise.
36897 * util/grub-probe.c: Likewise.
36898 * util/hostfs.c: Likewise.
36899 * util/i386/pc/grub-mkimage.c: Likewise.
36900 * util/i386/pc/grub-setup.c: Likewise.
36901 * util/i386/efi/grub-mkimage.c: Likewise.
36902 * util/grub-mkconfig.in: Likewise.
36903 * util/raid.c: Likewise.
36904 * util/resolve.c: Likewise.
36905 * util/grub-mkdevicemap.c: Likewise.
36906 * util/grub-emu.c: Likewise.
36907 * util/getroot.c: Likewise.
36908 * util/hostdisk.c: Likewise.
36909 * util/usb.c: Likewise.
36910 * util/grub-editenv.c: Likewise.
36911 * util/misc.c: Likewise.
36912
d2d49665 369132009-06-10 Felix Zielcke <fzielcke@z-51.de>
36914
36915 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36916 `genparttoollist.sh'.
36917 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36918 Add `*.sh' to the list find searches for and change `mdate.sh'
36919 to `mdate-sh'.
36920
fe052e37 369212009-06-10 Pavel Roskin <proski@gnu.org>
36922
2763ac18 36923 * include/grub/multiboot2.h: Provide compatibility defines for
36924 multiboot2.h.
36925 * include/multiboot2.h: Include stdint.h only if needed, using
36926 angle brackets.
36927 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36928 grub/multiboot2.h.
36929 * loader/ieee1275/multiboot2.c: Likewise.
36930 * loader/multiboot2.c: Likewise.
36931 * loader/multiboot_loader.c: Likewise.
36932
437e6adc 36933 * configure.ac: Use -nostdlib when probing for the target. It
36934 should not be required to have libc for the target.
36935
06a6836c 36936 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36937 they fail without libc headers for the target.
36938 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36939 exports.
36940 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36941 preprocessor conditionals.
36942
fe052e37 36943 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36944 build system doesn't need to be aware of the tar.c internals.
36945
afd22553 369462009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36947
afd22553 36948 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36949
6b787c4f 369502009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36951
36952 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36953 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36954
369552009-06-09 Felix Zielcke <fzielcke@z-51.de>
36956
36957 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36958 aren't available if ata.mod gets used.
6b787c4f 36959
473d1e45 369602009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36961
473d1e45 36962 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36963 initialising controller.
473d1e45 36964 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36965
255a27d4 369662009-06-08 Felix Zielcke <fzielcke@z-51.de>
36967
36968 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36969 to choose between ata and biosdisk module on i386-pc.
36970
473d1e45 369712009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36972
d55842d8 36973 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36974 Subclass and Programming Interface fields in terms of the 3 byte
36975 Class Code register.
36976 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36977
fa5db0b1 36978 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36979 interface is OHCI. Add grub_dprintf for symmetry with
36980 bus/usb/uhci.c.
36981 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36982 interface is UHCI. Add interf variable for programming
36983 interface. Print interface with class/subclass.
36984
c0947beb 36985 * bus/usb/ohci.c: Set interf with correct field.
36986
69da8877 36987 * bus/usb/uhci.c: Remove unneeded doubled lines.
36988 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36989 Remove whitespace inside comment.
36990
9e172e30 369912009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36992
36993 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36994 as fallback an equivalent option without depth.
36995
de65ee2b 369962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36997
36998 Not fail if unable to retrieve C/H/S on LBA disks
36999
473d1e45 37000 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37001 if unable to retrieve C/H/S on LBA disks
37002
b57ea2c9 370032009-06-08 Pavel Roskin <proski@gnu.org>
37004
37005 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37006 about aliasing.
37007
af361263 370082009-06-08 Felix Zielcke <fzielcke@z-51.de>
37009
37010 * Makefile.in (uninstall): Remove all $lib_DATA files.
37011
4c9ec6b3 370122009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37013
37014 Bugfix: install on partitionless device
37015
37016 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37017 is a whole disk
37018
e76fc924 370192009-06-08 Felix Zielcke <fzielcke@z-51.de>
37020
37021 * Makefile.in (uninstall): Remove all $include_DATA files.
37022
ba5a0d05 370232009-06-08 Felix Zielcke <fzielcke@z-51.de>
37024
37025 * commands/true.c: New file. Implement the true and false commands.
37026 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37027 (true_mod_SOURCES): New variable.
37028 (true_mod_CFLAGS): Likewise.
37029 (true_mod_LDFLAGS): Likewise.
37030
c8048e32 370312009-06-05 Colin D Bennett <colin@gibibit.com>
37032
37033 Optimized font character lookup using binary search instead of linear
37034 search. Fonts now are required to have the character index ordered by
37035 code point.
37036
37037 * font/font.c (load_font_index): Verify that fonts have ordered
37038 character indices.
37039 (find_glyph): Use binary search instead of linear search to find a
37040 character in a font.
37041
408305be 370422009-06-05 Michael Scherer <misc@mandriva.org>
37043
37044 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37045 uses case sensitive btree.
37046 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37047 only for case insensitive filesystems.
37048
8ee1e0d9 370492009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37050
37051 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37052 * conf/common.rmk (search_mod_CFLAGS): likewise
37053
a9966eb1 370542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37055
473d1e45 37056 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37057 compensate a compiler bug
37058
9e7100fb 370592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37060
473d1e45 37061 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37062 instead of '\b'
473d1e45 37063
ede21d71 370642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37065
37066 Definitions for creating asm symbols with Apple's CC
37067
37068 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37069 [APPLE_CC] (VARIABLE): likewise
37070
9dbf7653 370712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37072
37073 Disable lnxboot.img when compiled
37074 with Apple's CC
37075
37076 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37077 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37078 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37079 [! APPLE_CC] (CODE_LENG): skip
37080 [! APPLE_CC] (setup_sects): likewise
37081 [! APPLE_CC]: skip filling
473d1e45 37082
e93cdc3d 370832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37084
37085 Address in trampolines based on 32-bit registers when compiled
37086 with Apple's CC
37087
473d1e45 37088 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37089 for addresses
37090 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37091
6c688477 370922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37093
37094 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37095
37096 * kern/misc.c [APPLE_CC] (memcpy): new function
37097 [APPLE_CC] (memmove): likewise
37098 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37099 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37100 (memset): likewise
37101 (abort): likewise
37102 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37103 APPLE_CC are defined
37104 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37105 (grub_assert_fail): make prototype conditional
37106
e37ffc5c 371072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37108
37109 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37110
473d1e45 37111 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37112 grub-macho2img
e37ffc5c 37113 (CLEANFILES): add grub-macho2img
37114 (grub_macho2img_SOURCES): new variable
37115 * kern/i386/pc/startup.S (bss_start): new variable
37116 (bss_end): likewise
37117 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37118 * util/grub-macho2img.c: new file
37119
cf00df31 371202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37121
37122 Use objconv when compiling with Apple's CC
37123
37124 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37125 (efiemu64.o): likewise
37126 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37127 when compiling with Apple's CC
37128 (efiemu64_s.o): likewise
37129 * configure.ac: check for objconv when compiling with Apple's CC
37130 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37131
d119a20c 371322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37133
37134 Define segment as well as section when compiling with
37135 Apple's CC
37136
37137 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37138 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37139 (efiemu_convert_pointer): likewise
37140 (efiemu_set_virtual_address_map): likewise
37141 (efiemu_convert_pointer): likewise
37142 (efiemu_getcrc32): likewise
37143 (init_crc32_table): likewise
37144 (reflect): likewise
37145 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37146 (GRUB_MOD_DEP): likewise
473d1e45 37147
c8600122 371482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37149
37150 Allow a compilation without -mcmodel=large
37151
37152 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37153 when compiled without -mcmodel=large
473d1e45 37154 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37155 without -mcmodel=large
473d1e45 37156 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37157 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37158
e8df1d4e 371592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37160
37161 Remove nested functions in efiemu core
37162
37163 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37164
cc6c3ac1 371652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37166
37167 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37168
37169 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37170 temporary storage
473d1e45 37171 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37172 using Apple's CC
cc6c3ac1 37173 (grub_cpu_is_tsc_supported): likewise
37174 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37175
3e325901 371762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37177
37178 Absolute addressing through constant with Apple's cc
37179
37180 * kern/i386/pc/startup.S: Define necessary constants
37181 and address through it when using ABS with Apple's CC
37182 * boot/i386/pc/diskboot.S: likewise
37183 * boot/i386/pc/boot.S: likewise
37184 * boot/i386/pc/lnxboot.S: likewise
37185 * boot/i386/pc/cdboot.S: likewise
37186 * mmap/i386/pc/mmap_helper.S: likewise
37187 * commands/i386/pc/drivemap_int13h.S: likewise
37188
2b167a72 371892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37190
37191 Check if compiler is apple cc
37192
37193 * Makefile.in (ASFLAGS): new variable
37194 (TARGET_ASFLAGS): likewise
37195 (TARGET_MODULE_FORMAT): likewise
37196 (TARGET_APPLE_CC): likewise
37197 (OBJCONV): likewise
37198 (TARGET_IMG_CFLAGS): likewise
37199 (TARGET_CPPFLAGS): add includedir
37200 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37201 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37202 Check for linker script only if compiler isn't Apple's CC
37203 (TARGET_MODULE_FORMAT): set
37204 (TARGET_APPLE_CC): likewise
37205 (TARGET_ASFLAGS): likewise
37206 (ASFLAGS): likewise
37207 Check for objcopy only if compiler isn't Apple's CC
37208 Check for BSS symbol only if compiler isn't Apple's CC
37209 * genmk.rb: adapt nm options if we use Apple's utils
37210 * aclocal.m4 (grub_apple_cc): new test
37211 (grub_apple_target_cc): likewise
473d1e45 37212
fb14123e 372132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37214
37215 Simplify sed expressions and improve awk
37216
37217 * Makefile.in (install-local): simplify sed expression
37218 * gencmdlist.sh: likewise
37219 * genmoddep.awk: avoid adding module as a dependency of itself
37220
5b889789 372212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37222
37223 Add missing start symbols
37224
37225 * boot/i386/pc/boot.S: add start
fb14123e 37226 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37227
fd2bf2e3 372282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37229
37230 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37231
37232 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37233 (relocate_addresses): consider both r_addend and value at offset
37234 (make_mods_section): zerofill modinfo and header
37235 (convert_elf): write prefix here
473d1e45 37236
5389763d 372372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37238
37239 Use .asciz instead of .string
37240
37241 * i386/pc/diskboot.S: use .asciz instead of .string
37242 * i386/pc/boot.S: likewise
37243 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37244 (GRUB_MOD_NAME): likewise
473d1e45 37245
3eb5ed4e 372462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37247
37248 gfxpayload support
37249
37250 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37251 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37252 (grub_video_setup): remove
37253 (grub_video_set_mode): new prototype
37254 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37255 (vid_mode): remove
37256 (linux_vesafb_res): compile only on PCBIOS
37257 (grub_linux_boot): support gfxpayload
37258 * loader/i386/pc/xnu.c (video_hook): new function
37259 (grub_xnu_set_video): support gfxpayload
37260 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37261 (DEFAULT_VIDEO_HEIGHT): likewise
37262 (DEFAULT_VIDEO_FLAGS): likewise
37263 (DEFAULT_VIDEO_MODE): new definition
37264 (video_hook): new function
37265 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37266 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37267 loading xnu
37268 * video/video.c (grub_video_setup): removed
473d1e45 37269 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37270 grub_video_setup
37271
4b0e1143 372722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37273
37274 Avoid calling biosdisk in drivemap
37275
37276 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37277 (revparse_biosdisk): likewise
37278 (list_mappings): derive name from id directly
37279 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37280
fda6cb98 372812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37282
37283 Script fixes
37284
37285 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37286 (grub_lexer_param): add tokenonhold
37287 (grub_script_create_cmdline): remove cmdline. All callers updated
37288 (grub_script_function_create): make functionname
37289 grub_script_arg. All callers updated
37290 (grub_script_execute_argument_to_string): new prototype
37291 * kern/parser.c (state_transitions): reorder
37292 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37293 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37294 make global
37295 (grub_script_execute_cmdline): use new format
37296 * script/sh/function.c (grub_script_function_create): make functionname
37297 grub_script_arg. All callers updated
473d1e45 37298 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37299 (grub_script_yylex): remove
37300 (grub_script_yylex2): renamed to ...
37301 (grub_script_yylex): ...renamed
37302 parse the expressions like a${b}c
37303 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37304 (GRUB_PARSER_TOKEN_VAR): remove
37305 (GRUB_PARSER_TOKEN_NAME): likewise
37306 ("if"): declare as typeless
37307 ("while"): likewise
37308 ("function"): likewise
37309 ("else"): likewise
37310 ("then"): likewise
37311 ("fi"): likewise
37312 (text): remove
37313 (argument): likewise
37314 (script): accept empty scripts and make exit on error
37315 (arguments): use GRUB_PARSER_TOKEN_ARG
37316 (function): likewise
37317 (command): move error handling to script
37318 (menuentry): move grub_script_lexer_ref before
473d1e45 37319 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37320 argument. All callers updated
37321
f4448a07 373222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37323
37324 Prevent GRUB from probing floppies during boot.
37325
37326 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37327 * commands/search.c (options): Add --no-floppy.
37328 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37329 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37330 --no-floppy when searching for UUIDs.
37331
2bf5885a 373322009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37333
37334 Simplify the code duplication in commands/search.c.
37335
37336 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37337 (search_fs): ... this. Update all users.
37338
f6fd460a 373392009-06-03 Felix Zielcke <fzielcke@z-51.de>
37340
37341 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37342
cbb3c83e 373432009-05-28 Pavel Roskin <proski@gnu.org>
37344
57788cfd 37345 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37346 Remove the original symlink explicitly.
37347
cbb3c83e 37348 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37349 just one slash. That's how grub_fshelp_find_file() does it.
37350
cd0d5e30 373512009-05-26 Pavel Roskin <proski@gnu.org>
37352
f0f8bbe2 37353 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37354 to `str'.
37355
cd0d5e30 37356 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37357 possibly unused.
37358
8c2cab51 373592009-05-25 Christian Franke <franke@computer.org>
37360
37361 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37362 register.
37363 (grub_atapi_identify): Add wait after drive select.
37364 (grub_ata_identify): Do more strict status register check before
37365 calling grub_atapi_identify (). Suppress error message if status
37366 register is 0x00 after command failure. Add status register
37367 check after PIO read to avoid bogus identify due to stuck DRQ.
37368 Thanks to Pavel Roskin for testing.
37369 (grub_device_initialize): Remove unsafe status register check.
37370 Thanks to 'phcoder' for problem report and patch.
37371 Prevent sign extension in debug message.
37372
230c0ad6 373732009-05-23 Colin D Bennett <colin@gibibit.com>
37374
37375 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37376 definition file, and functions defined in `normal/menu.c' have had
37377 their prototypes moved to `include/grub/menu.h' for consistency.
37378
37379 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37380 from normal.h.
37381 (grub_menu_get_entry): Likewise.
37382 (grub_menu_get_timeout): Likewise.
37383 (grub_menu_set_timeout): Likewise.
37384 (grub_menu_execute_entry): Likewise.
37385 (grub_menu_execute_with_fallback): Likewise.
37386 (grub_menu_entry_run): Likewise.
37387
37388 * include/grub/normal.h: Re-ordered and grouped function
37389 prototypes by file that the function is defined in.
37390 (grub_menu_execute_callback): Removed; moved to menu.h.
37391 (grub_menu_get_entry): Likewise.
37392 (grub_menu_get_timeout): Likewise.
37393 (grub_menu_set_timeout): Likewise.
37394 (grub_menu_execute_entry): Likewise.
37395 (grub_menu_execute_with_fallback): Likewise.
37396 (grub_menu_entry_run): Likewise.
37397 (grub_menu_addentry): Renamed from this ...
37398 (grub_normal_add_menu_entry): ... to this.
37399
37400 * normal/main.c (grub_menu_addentry): Renamed from this ...
37401 (grub_normal_add_menu_entry): ... to this.
37402
37403 * script/sh/execute.c (grub_script_execute_menuentry): Update
37404 reference to renamed grub_menu_addentry function.
37405
861f03a5 374062009-05-23 Felix Zielcke <fzielcke@z-51.de>
37407
37408 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37409
96b1619a 374102009-05-22 Pavel Roskin <proski@gnu.org>
37411
bf6a5fb2 37412 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37413 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37414 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37415 compiling for the i386 targets, but not for the utilities.
37416
96b1619a 37417 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37418 to grub_uint8_t.
37419 (grub_root_drive): Likewise.
37420 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37421 remove alignment.
37422 (grub_root_drive): Change size to byte.
37423 (grub_start_addr): Remove.
37424 (grub_end_addr): Likewise.
37425 (grub_apm_bios_info): Likewise.
37426
b729776b 374272009-05-21 Felix Zielcke <fzielcke@z-51.de>
37428
37429 * normal/i386: Remove.
37430 * normal/powerpc: Likewise.
37431 * normal/sparc64: Likewise.
37432 * normal/x86_64: Likewise.
37433
0a15ce80 374342009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37435
37436 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37437 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37438 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37439
33db9015 374402009-05-18 Colin D Bennett <colin@gibibit.com>
37441
d6da58e6 37442 Display error messages when parsing a Lua statement fails.
37443 Previously, executing a syntactically invalid statement like
37444 ")foo" or "bar;" would silently fail.
33db9015 37445
37446 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37447 (grub_lua_parse_line): Improved reporting of Lua parser and
37448 execution errors.
33db9015 37449
46422c89 374502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37451
37452 Remove -Werror which causes build to fail on some systems
37453
37454 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37455 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37456 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37457
22f53a96 374582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37459
37460 trampoline for linux on 64-bit platform
37461
18f547ad 37462 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37463 loader/i386/efi/linux_trampoline.S
37464 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37465 declaration
d6da58e6 37466 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37467 here
22f53a96 37468 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37469 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37470 trampoline
22f53a96 37471 (jumpvector): removed
37472 (grub_linux_trampoline_start): new declaration
37473 (grub_linux_trampoline_end): likewise
37474 (grub_linux_boot): use trampoline when on 64-bit platform
37475 * loader/i386/linux.c: likewise
37476
cb5a0f40 374772009-05-16 Pavel Roskin <proski@gnu.org>
37478
37479 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37480 const to avoid a warning.
37481 (grub_lua_setenv): Likewise.
37482 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37483 lmsg to fix a warning.
37484
334f2c28 374852009-05-16 Felix Zielcke <fzielcke@z-51.de>
37486
37487 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37488 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37489 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37490 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37491 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37492 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37493 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37494 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37495
59e5d3ec 374962009-05-16 Felix Zielcke <fzielcke@z-51.de>
37497
37498 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37499
9d87a1ba 375002009-05-16 Bean <bean123ch@gmail.com>
37501
37502 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37503 (lua_mod_SOURCES): New variable.
37504 (lua_mod_CFLAGS): Likewise.
37505 (lua_mod_LDFLAGS): Likewise.
37506
37507 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37508 (setjmp_mod_SOURCES): New variable.
37509 (setjmp_mod_CFLAGS): Likewise.
37510 (setjmp_LDFLAGS): Likewise.
37511
37512 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37513 (setjmp_mod_SOURCES): New variable.
37514 (setjmp_mod_CFLAGS): Likewise.
37515 (setjmp_LDFLAGS): Likewise.
37516
37517 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37518 (setjmp_mod_SOURCES): New variable.
37519 (setjmp_mod_CFLAGS): Likewise.
37520 (setjmp_LDFLAGS): Likewise.
37521
37522 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37523 (setjmp_mod_SOURCES): New variable.
37524 (setjmp_mod_CFLAGS): Likewise.
37525 (setjmp_LDFLAGS): Likewise.
37526
37527 * normal/i386/setjmp.S: Moved from here ...
37528 * lib/i386/setjmp.S: ... Moved here
37529 * normal/x86_64/setjmp.S: Moved from here ...
37530 * lib/x86_64/setjmp.S: ... Moved here
37531 * normal/powerpc/setjmp.S: Moved from here ...
37532 * lib/powerpc/setjmp.S: ... Moved here
37533 * normal/sparc64/setjmp.S: Moved from here ...
37534 * lib/sparc64/setjmp.S: ... Moved here
37535
37536 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37537 returns_twice in mingw.
37538
37539 * script/lua/grub_lib.c: New file.
37540 * script/lua/grub_lib.h: Likewise.
37541 * script/lua/grub_lua.h: Likewise.
37542 * script/lua/grub_main.c: Likewise.
37543 * script/lua/lapi.c: Likewise.
37544 * script/lua/lapi.h: Likewise.
37545 * script/lua/lauxlib.c: Likewise.
37546 * script/lua/lauxlib.h: Likewise.
37547 * script/lua/lbaselib.c: Likewise.
37548 * script/lua/lcode.c: Likewise.
37549 * script/lua/lcode.h: Likewise.
37550 * script/lua/ldblib.c: Likewise.
37551 * script/lua/ldebug.c: Likewise.
37552 * script/lua/ldebug.h: Likewise.
37553 * script/lua/ldo.c: Likewise.
37554 * script/lua/ldo.h: Likewise.
37555 * script/lua/ldump.c: Likewise.
37556 * script/lua/lfunc.c: Likewise.
37557 * script/lua/lfunc.h: Likewise.
37558 * script/lua/lgc.c: Likewise.
37559 * script/lua/lgc.h: Likewise.
37560 * script/lua/linit.c: Likewise.
37561 * script/lua/liolib.c: Likewise.
37562 * script/lua/llex.c: Likewise.
37563 * script/lua/llex.h: Likewise.
37564 * script/lua/llimits.h: Likewise.
37565 * script/lua/lmathlib.c: Likewise.
37566 * script/lua/lmem.c: Likewise.
37567 * script/lua/lmem.h: Likewise.
37568 * script/lua/loadlib.c: Likewise.
37569 * script/lua/lobject.c: Likewise.
37570 * script/lua/lobject.h: Likewise.
37571 * script/lua/lopcodes.c: Likewise.
37572 * script/lua/lopcodes.h: Likewise.
37573 * script/lua/loslib.c: Likewise.
37574 * script/lua/lparser.c: Likewise.
37575 * script/lua/lparser.h: Likewise.
37576 * script/lua/lstate.c: Likewise.
37577 * script/lua/lstate.h: Likewise.
37578 * script/lua/lstring.c: Likewise.
37579 * script/lua/lstring.h: Likewise.
37580 * script/lua/lstrlib.c: Likewise.
37581 * script/lua/ltable.c: Likewise.
37582 * script/lua/ltable.h: Likewise.
37583 * script/lua/ltablib.c: Likewise.
37584 * script/lua/ltm.c: Likewise.
37585 * script/lua/ltm.h: Likewise.
37586 * script/lua/lua.h: Likewise.
37587 * script/lua/luaconf.h: Likewise.
37588 * script/lua/lualib.h: Likewise.
37589 * script/lua/lundump.c: Likewise.
37590 * script/lua/lundump.h: Likewise.
37591 * script/lua/lvm.c: Likewise.
37592 * script/lua/lvm.h: Likewise.
37593 * script/lua/lzio.c: Likewise.
37594 * script/lua/lzio.h: Likewise.
37595
5e898c9d 375962009-05-16 Bean <bean123ch@gmail.com>
37597
37598 * include/grub/kernel.h (grub_module_header_types): Add type
37599 OBJ_TYPE_CONFIG.
37600
37601 * kern/main.c (grub_load_config): New function.
37602 (grub_main): Call grub_load_config to read boot config.
37603
37604 * grub-mkimage (generate_image): New parameter config_path.
37605 (options): New option --config.
37606 (main): Parse --config option, and pass it to generate_image.
37607
cf353a47 376082009-05-14 Christian Franke <franke@computer.org>
37609
37610 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37611 This fixes build on Cygwin.
37612
3834887f 376132009-05-14 Pavel Roskin <proski@gnu.org>
37614
37615 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37616 jump. This saves two bytes, so the typical case of 2 swapped
37617 drives would fit 32 bytes.
37618
8090fc01 376192009-05-13 Pavel Roskin <proski@gnu.org>
37620
ac963883 37621 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37622 grub_uint32_t to avoid a warning.
37623
8090fc01 37624 * loader/i386/linux.c (allocate_pages): When assigning
37625 real_mode_mem, cast through grub_size_t to fix a warning. The
37626 code already makes sure that the value would fit a pointer.
37627 (grub_linux_setup_video): Cast render_target->data to
37628 grub_size_t to fix a warning.
37629
18f547ad 376302009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37631
37632 * commands/i386/pc/drivemap.c: New file - implement drivemap
37633 command.
37634 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37635 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37636
6f6a8b28 376372009-05-13 Pavel Roskin <proski@gnu.org>
37638
37639 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37640 embedding_area_exists.
37641
15fbf4c4 376422009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37643
37644 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37645 it easier to understand / work with.
59978c8a 37646 Improve warning messages for cases where there's no embedding area,
37647 or when it is too small (or core.img too large).
15fbf4c4 37648
238e871f 376492009-05-13 Pavel Roskin <proski@gnu.org>
37650
0ab3a9a4 37651 * loader/i386/pc/multiboot2.c: Add necessary includes for
37652 grub_multiboot2_real_boot().
37653
a2c8c5f8 37654 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37655 PX record is always little-endian. We only need the lower 2
37656 bytes of the mode.
37657
faec96af 37658 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37659 facilitate code reuse.
37660 (grub_cpio_mount): Use "struct head", not a char buffer. This
37661 fixes a warning reported by gcc 4.4.
37662
238e871f 37663 * kernel/disk.c (grub_disk_read): Use void pointer for the
37664 buffer.
37665 (grub_disk_write): Use const void pointer for the buffer.
37666 Adjust all callers. Remove unnecessary casts.
37667
901d2f0c 376682009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37669
37670 * util/i386/pc/grub-install.in: Update copyright year.
37671
18f547ad 376722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37673
37674 gptsync
37675
37676 * commands/gptsync.c: new file
37677 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37678 (gptsync_mod_SOURCES): new variable
37679 (gptsync_mod_CFLAGS): likewise
37680 (gptsync_mod_LDFLAGS): likewise
18f547ad 37681 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37682 new definition
37683 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37685 * conf/i386-ieee1275.rmk: likewise
37686 * conf/i386-pc.rmk: likewise
37687 * conf/powerpc-ieee1275.rmk: likewise
37688
b4ba690a 376892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37690
37691 Fixed grub-emu
37692
37693 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37694 (grub_dl_ref): likewise
37695
317e1a44 376962009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37697
37698 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37699 split in two functions (one for msdos and one for gpt).
37700
041b8094 377012009-05-08 Pavel Roskin <proski@gnu.org>
37702
752473c2 37703 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37704 not modified.
37705
041b8094 37706 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37707 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37708 Initialize them with -1. Add sanity check for bad1. Eliminate
37709 nerr variable.
37710
172800ce 377112009-05-08 David S. Miller <davem@davemloft.net>
37712
37713 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37714
29aa5e81 377152009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37716
37717 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37718 existence.
29aa5e81 37719
96613b62 377202009-05-05 Felix Zielcke <fzielcke@z-51.de>
37721
37722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37723 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37724
eef73c8a 377252009-05-05 David S. Miller <davem@davemloft.net>
37726
37727 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37728
119494b5 377292009-05-05 Pavel Roskin <proski@gnu.org>
37730
37731 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37732 of grub_dl_ref() and grub_dl_unref().
37733 * commands/parttool.c: Remove preprocessor conditionals around
37734 grub_dl_ref() and grub_dl_unref().
37735 * fs/affs.c: Likewise.
37736 * fs/afs.c: Likewise.
37737 * fs/cpio.c: Likewise.
37738 * fs/ext2.c: Likewise.
37739 * fs/fat.c: Likewise.
37740 * fs/hfs.c: Likewise.
37741 * fs/hfsplus.c: Likewise.
37742 * fs/iso9660.c: Likewise.
37743 * fs/jfs.c: Likewise.
37744 * fs/minix.c: Likewise.
37745 * fs/ntfs.c: Likewise.
37746 * fs/reiserfs.c: Likewise.
37747 * fs/sfs.c: Likewise.
37748 * fs/udf.c: Likewise.
37749 * fs/ufs.c: Likewise.
37750 * fs/xfs.c: Likewise.
37751 * include/grub/dl.h: Likewise.
37752 * loader/xnu.c: Likewise.
37753
de5fd76e 377542009-05-04 Pavel Roskin <proski@gnu.org>
37755
37756 * commands/acpi.c: Remove unused variable my_mod.
37757 * partmap/amiga.c: Likewise.
37758 * partmap/apple.c: Likewise.
37759 * partmap/gpt.c: Likewise.
37760 * partmap/pc.c: Likewise.
37761 * partmap/sun.c: Likewise.
37762 * term/gfxterm.c: Likewise.
37763 * term/i386/pc/vesafb.c: Likewise.
37764 * term/i386/pc/vga.c: Likewise.
37765
983598ad 377662009-05-04 David S. Miller <davem@davemloft.net>
37767
37768 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37769 pointer args to grub_ieee1275_get_property().
37770
8aadec43 37771 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37772
9554b15e 37773 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37774 devices, and do not traverse down under controller nodes.
37775
67e23c90 37776 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37777 (grub_ofdisk_open): Use it to un-escape "," characters.
37778 * kern/disk.c (find_part_sep): New.
37779 (grub_disk_open): Use it to find the first non-escaped ','
37780 character in the disk name.
37781 * util/ieee1275/devicemap.c (escape_of_path): New.
37782 (grub_util_emit_devicemap_entry): Use it.
37783 * util/sparc64/ieee1275/grub-install.in: Update script to
37784 strip partition specifiers properly by not triggering on
37785 '\' escaped ',' characters.
37786
74bfdd2f 377872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37788
37789 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37790 to 0x300.
37791 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37792 resolutions.
37793 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37794 on documentation from Wikipedia).
37795
4241d2b1 377962009-05-04 Pavel Roskin <proski@gnu.org>
37797
37798 * disk/ata.c: Spelling fixes.
37799 * disk/raid.c: Likewise.
37800 * disk/usbms.c: Likewise.
37801 * disk/dmraid_nvidia.c: Likewise.
37802 * kern/ieee1275/openfw.c: Likewise.
37803 * kern/ieee1275/init.c: Likewise.
37804 * kern/ieee1275/cmain.c: Likewise.
37805 * boot/i386/pc/cdboot.S: Likewise.
37806 * video/readers/png.c: Likewise.
37807 * video/i386/pc/vbe.c: Likewise.
37808 * fs/udf.c: Likewise.
37809 * fs/hfs.c: Likewise.
37810 * fs/reiserfs.c: Likewise.
37811 * efiemu/runtime/efiemu.c: Likewise.
37812 * efiemu/main.c: Likewise.
37813 * efiemu/mm.c: Likewise.
37814 * include/grub/elf.h: Likewise.
37815 * include/grub/xnu.h: Likewise.
37816 * include/grub/usbdesc.h: Likewise.
37817 * include/grub/usb.h: Likewise.
37818 * include/grub/script_sh.h: Likewise.
37819 * include/grub/lib/LzmaEnc.h: Likewise.
37820 * include/grub/efiemu/efiemu.h: Likewise.
37821 * include/grub/command.h: Likewise.
37822 * normal/menu.c: Likewise.
37823 * normal/main.c: Likewise.
37824 * normal/datetime.c: Likewise.
37825 * bus/usb/uhci.c: Likewise.
37826 * mmap/i386/uppermem.c: Likewise.
37827 * mmap/mmap.c: Likewise.
37828 * commands/acpi.c: Likewise.
37829 * commands/test.c: Likewise.
37830 * partmap/apple.c: Likewise.
37831 * font/font.c: Likewise.
37832 * loader/sparc64/ieee1275/linux.c: Likewise.
37833 * loader/macho.c: Likewise.
37834 * loader/i386/bsd_trampoline.S: Likewise.
37835 * loader/i386/bsd.c: Likewise.
37836 * loader/xnu.c: Likewise.
37837 * term/i386/pc/vesafb.c: Likewise.
37838 * term/usb_keyboard.c: Likewise.
37839 * util/resolve.c: Likewise.
37840 * util/getroot.c: Likewise.
37841
0cfc0083 378422009-05-04 Felix Zielcke <fzielcke@z-51.de>
37843
37844 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37845
7c1d00cd 378462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37847
37848 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37849 build error.
37850
b01f0548 378512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37852
37853 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37854 parameter only available on BIOS.
37855
ecc3eb22 378562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37857
37858 Removed wrong semicolon in declaration
37859
37860 * grub/misc.h (grub_dprintf): remove semicolon
37861
112972a9 378622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37863
37864 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37865 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37866 is done by grub_cmd_linux() now).
37867 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37868 restore video to text mode.
37869 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37870 indicates lack of "vga=" parameter. "vga=0" is mapped to
37871 `GRUB_LINUX_VID_MODE_NORMAL'.
37872
afd5c115 378732009-05-04 Felix Zielcke <fzielcke@z-51.de>
37874
37875 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37876 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37877 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37878 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37879 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37880 `grub_script.tab.c'.
37881
37882 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37886 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37887
faa517ce 37888 * Makefile.in: Remove duplicated 2008 in Copyright line.
37889
ae0c0bdc 378902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37891
473d1e45 37892 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37893 unconditionally.
37894 * include/grub/util/misc.h (grub_util_warn): New declaration.
37895
37896 * util/i386/pc/grub-install.in: Understand --force and pass it down
37897 to grub-setup.
37898
37899 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37900 down to setup().
37901 (setup): Improve error messages and add warnings when requested to
37902 install in odd layouts. Refuse to install using blocklists unless
37903 --force was set.
37904
18f547ad 379052009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37906
37907 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37908
6d260daa 379092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37910
37911 Updated copyright year
37912
37913 * fs/hfsplus.c: updated copyright year
18f547ad 37914
69f853f8 379152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37916
37917 HFS+ UUID
37918
18f547ad 37919 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37920 in the space previously used by unused3
37921 (grub_hfsplus_uuid): new function
37922 (grub_hfsplus_fs): added uuid field
37923
4c402e73 379242009-05-03 Pavel Roskin <proski@gnu.org>
37925
37926 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37927 suppress warnings. It's no longer needed.
37928 * disk/host.c: Likewise.
37929 * disk/ata_pthru.c: Likewise.
37930 * disk/loopback.c: Likewise.
37931 * hook/datehook.c: Likewise.
37932 * parttool/pcpart.c: Likewise.
37933 * fs/i386/pc/pxe.c: Likewise.
37934 * fs/ntfscomp.c: Likewise.
37935 * efiemu/main.c: Likewise.
37936 * mmap/mmap.c: Likewise.
37937 * commands/crc.c: Likewise.
37938 * commands/hexdump.c: Likewise.
37939 * commands/hdparm.c: Likewise.
37940 * commands/acpi.c: Likewise.
37941 * commands/echo.c: Likewise.
37942 * commands/minicmd.c: Likewise.
37943 * commands/blocklist.c: Likewise.
37944 * commands/memrw.c: Likewise.
37945 * commands/loadenv.c: Likewise.
37946 * commands/usbtest.c: Likewise.
37947 * commands/lsmmap.c: Likewise.
37948 * commands/boot.c: Likewise.
37949 * commands/parttool.c: Likewise.
37950 * commands/configfile.c: Likewise.
37951 * commands/search.c: Likewise.
37952 * commands/ieee1275/suspend.c: Likewise.
37953 * commands/cat.c: Likewise.
37954 * commands/i386/pc/pxecmd.c: Likewise.
37955 * commands/i386/pc/play.c: Likewise.
37956 * commands/i386/pc/halt.c: Likewise.
37957 * commands/i386/pc/vbeinfo.c: Likewise.
37958 * commands/i386/pc/vbetest.c: Likewise.
37959 * commands/lspci.c: Likewise.
37960 * commands/date.c: Likewise.
37961 * commands/handler.c: Likewise.
37962 * commands/ls.c: Likewise.
37963 * commands/test.c: Likewise.
37964 * commands/cmp.c: Likewise.
37965 * commands/efi/loadbios.c: Likewise.
37966 * commands/efi/fixvideo.c: Likewise.
37967 * commands/halt.c: Likewise.
37968 * commands/help.c: Likewise.
37969 * commands/reboot.c: Likewise.
37970 * hello/hello.c: Likewise.
37971 * script/sh/main.c: Likewise.
37972 * loader/xnu.c: Likewise.
37973 * term/terminfo.c: Likewise.
37974 * term/i386/pc/serial.c: Likewise.
37975 * term/usb_keyboard.c: Likewise.
37976
515b5079 379772009-05-03 David S. Miller <davem@davemloft.net>
37978
37979 * normal/menu.c: Include grub/parser.h
37980
dfc31a22 379812009-05-03 Pavel Roskin <proski@gnu.org>
37982
2fee74f1 37983 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37984 not char*.
37985 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37986 Suggested by Javier Martín <lordhabbit@gmail.com>
37987
dfc31a22 37988 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37989 efiemu??.o doesn't exist.
37990 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37991 copying.
37992
18f547ad 379932009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37994
37995 FreeBSD 64-bit support
37996
18f547ad 37997 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37998 and loader/i386/bsd_trampoline.S
37999 (bsd_mod_ASFLAGS): new variable
38000 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38001 (FREEBSD_MODTYPE_KERNEL64): likewise
38002 (grub_bsd64_trampoline_start): likewise
38003 (grub_bsd64_trampoline_end): likewise
38004 (grub_bsd64_trampoline_selfjump): likewise
38005 (grub_bsd64_trampoline_gdt): likewise
38006 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38007 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38008 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38009 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38010 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38011 of "attrib" member
38012 * loader/i386/bsd_pagetable.c: new file
38013 * loader/i386/bsd_trampoline.S: likewise
38014 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38015 (ALIGN_VAR): likewise
38016 (entry_hi): new variable
38017 (kern_end_mdofs): likewise
38018 (is_64bit): likewise
38019 (grub_freebsd_add_meta): use ALIGN_VAR
38020 (grub_e820_mmap): new declaration
38021 (grub_freebsd_add_mmap): new function
38022 (grub_freebsd_add_meta_module): support 64 bit kernels
38023 (grub_freebsd_list_modules): use ALIGN_VAR
38024 (gdt_descriptor): new declaration
38025 (grub_freebsd_boot): support 64 bit kernels
38026 (grub_bsd_elf64_hook): new function
38027 (grub_bsd_load_elf): support elf64
38028
038c5720 380292009-05-03 Bean <bean123ch@gmail.com>
38030
38031 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38032 after we get the result of if statement.
38033
fc45fb58 380342009-05-03 Bean <bean123ch@gmail.com>
38035
38036 * Makefile.in (enable_efiemu): New variable.
38037
38038 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38039 set.
38040 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38041 path.
38042 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38043 path, add -mno-red-zone option.
38044 (efiemu64_s.o): Likewise.
38045 (efiemu64.o): Use macro $^ for source file.
38046
38047 * configure.ac (--enable-efiemu): New option.
38048
bbee0f2b 380492009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38050
38051 xnu support
38052
38053 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38054 (pkglib_MODULES): add xnu.mod
38055 (xnu_mod_SOURCES): new variable
38056 (xnu_mod_CFLAGS): likewise
38057 (xnu_mod_LDFLAGS): likewise
38058 (xnu_mod_ASFLAGS): likewise
38059 * conf/i386-pc.rmk: likewise
38060 * conf/x86_64-efi.rmk: likewise
7dd4a573 38061 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38062 new declaration
38063 * include/grub/i386/macho.h: new file
38064 * include/grub/i386/xnu.h: likewise
38065 * include/grub/macho.h: likewise
38066 * include/grub/machoload.h: likewise
38067 * include/grub/x86_64/macho.h: likewise
38068 * include/grub/x86_64/xnu.h: likewise
38069 * include/grub/xnu.h: likewise
38070 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38071 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38072 * loader/i386/efi/xnu.c: new file
38073 * loader/i386/pc/xnu.c: likewise
38074 * loader/i386/xnu.c: likewise
38075 * loader/i386/xnu_helper.S: likewise
38076 * loader/macho.c: likewise
38077 * loader/xnu.c: likewise
38078 * loader/xnu_resume.c: likewise
38079 * util/grub-dumpdevtree: likewise
38080 * include/grub/i386/pit.h: include grub/err.h
38081 (grub_pit_wait): export
38082 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38083
5caf964d 380842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38085
38086 Efiemu
7dd4a573 38087
5caf964d 38088 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38089 _linux_efi, linux_efi.
38090 new files in grub-emu
5caf964d 38091 new targets efiemu32.o and efiemu64.o
38092 * loader/linux_normal_efiemu.c: likewise
38093 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38094 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38095 files to copy
38096 * include/grub/autoefi.h: new file
7dd4a573 38097 * include/grub/i386/efiemu.h: likewise
5caf964d 38098 * include/grub/i386/pc/efiemu.h: likewise
38099 * include/grub/efi/api.h: add LL suffix when necessary
38100 new definitions relating to tables
38101 * include/grub/efiemu/efiemu.h: new file
38102 * include/grub/efiemu/runtime.h: likewise
38103 * efiemu/prepare.c: likewise
38104 * efiemu/loadcore_common.c: likewise
38105 * efiemu/loadcore64.c: likewise
38106 * efiemu/runtime/efiemu.sh: likewise
38107 * efiemu/runtime/efiemu.S: likewise
38108 * efiemu/runtime/efiemu.c: likewise
38109 * efiemu/runtime/config.h: likewise
38110 * efiemu/prepare32.c: likewise
38111 * efiemu/main.c: likewise
38112 * efiemu/modules/pnvram.c: likewise
38113 * efiemu/modules/i386: likewise
38114 * efiemu/modules/i386/pc: likewise
38115 * efiemu/modules/acpi.c: likewise
38116 * efiemu/i386/pc/cfgtables.c: likewise
38117 * efiemu/i386/loadcore64.c: likewise
38118 * efiemu/i386/loadcore32.c: likewise
38119 * efiemu/prepare64.c: likewise
38120 * efiemu/loadcore.c: likewise
38121 * efiemu/symbols.c: likewise
38122 * efiemu/mm.c: likewise
38123 * efiemu/loadcore32.c: likewise
7dd4a573 38124
381252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38126
38127 ACPI spoofing
38128
38129 * commands/acpi.c: new file
38130 * commands/i386/pc/acpi.c: likewise
38131 * commands/efi/acpi.c: likewise
38132 * include/grub/acpi.h: likewise
38133 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38134 (acpi_mod_SOURCES): new variable
38135 (acpi_mod_CFLAGS): likewise
38136 (acpi_mod_LDFLAGS): likewise
38137 * conf/i386-efi.rmk: likewise
38138 * conf/x86_64-efi.rmk: likewise
38139
7dd4a573 381402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38141
38142 Missing part from mmap patch
38143
38144 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38145 (grub_mmap_unregister)
38146 (grub_mmap_free_and_unregister): use grub_mmap_register
38147
7dd4a573 381482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38149
38150 Mmap services
38151
38152 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38153 * loader/i386/linux.c (find_mmap_size): likewise
38154 (allocate_pages): likewise
38155 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38156 (grub_fill_multiboot_mmap): likewise
38157 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38158 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38159 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38160 (OPENBSD_MMAP_RESERVED): likewise
38161 * include/grub/i386/pc/memory.h: include grub/memory.h
38162 (grub_lower_mem): removed
38163 (grub_upper_mem): likewise
38164 (GRUB_MACHINE_MEMORY_ACPI): new definition
38165 (GRUB_MACHINE_MEMORY_NVS): likewise
38166 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38167 (GRUB_MACHINE_MEMORY_HOLE): likewise
38168 (grub_machine_mmap_register): likewise
38169 (grub_machine_mmap_unregister): likewise
38170 (grub_machine_get_upper): likewise
38171 (grub_machine_get_lower): likewise
38172 (grub_machine_get_post64): likewise
38173 * include/grub/i386/efi/memory.h: new file
38174 * include/grub/x86_64/efi/memory.h: likewise
38175 * include/grub/efi/memory.h: likewise
38176 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38177 (mmap_mod_SOURCES): new variable
38178 (mmap_mod_LDFLAGS): likewise
38179 (mmap_mod_ASFLAGS): likewise
38180 * conf/i386-coreboot.rmk: likewise
38181 * conf/i386-ieee1275.rmk: likewise
38182 * conf/i386-efi.rmk: likewise
38183 * conf/x86_64-efi.rmk: likewise
38184 * include/grub/types.h (UINT_TO_PTR): new macro
38185 (PTR_TO_UINT32): likewise
38186 (PTR_TO_UINT64): likewise
38187 * include/grub/memory.h: new file
38188 * mmap/i386/pc/mmap.c: likewise
38189 * mmap/i386/pc/mmap_helper.S: likewise
38190 * mmap/i386/uppermem.c: likewise
38191 * mmap/mmap.c: likewise
38192 * mmap/efi/mmap.c: likewise
7dd4a573 38193 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38194 grub_upper_mem
38195 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38196 (grub_upper_mem): likewise
38197 (grub_machine_init): don't use grub_upper_mem,
38198 make grub_lower_mem local
38199 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38200 grub_mmap_iterate and grub_mmap_get_upper
38201 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38202
d558e6b5 382032009-05-02 Bean <bean123ch@gmail.com>
38204
38205 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38206 script/sh/parser.y.
38207 (pkglib_MODULES): Add normal.mod and sh.mod.
38208 (normal_SOURCES): New variable.
38209 (normal_mod_CFLAGS): Likewise.
38210 (normal_mod_LDFLAGS): Likewise.
38211 (sh_mod_SOURCES): Likewise.
38212 (sh_mod_CFLAGS): Likewise.
38213 (sh_mod_LDFLAGS): Likewise.
38214
38215 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38216 script/sh/lexer.c_DEPENDENCIES.
38217 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38218 kern/rescue_reader.c and kern/rescue_parser.c.
38219 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38220 (grub_emu_SOURCES): Change source files.
38221 (pkglib_MODULES): Remove normal.mod.
38222 (normal_SOURCES): Removed.
38223 (normal_mod_CFLAGS): Likewise.
38224 (normal_mod_LDFLAGS): Likewise.
38225 * conf/i386-coreboot.rmk: Likewise.
38226 * conf/i386-efi.rmk: Likewise.
38227 * conf/i386-ieee1276.rmk: Likewise.
38228 * conf/powerpc-ieee1275.rmk: Likewise.
38229 * conf/sparc64-ieee1275.rmk: Likewise.
38230 * conf/x86_64-efi.rmk: Likewise.
38231
38232 * include/grub/command.h (grub_command_execute): New inline function.
38233
38234 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38235
38236 * include/grub/normal.h: Remove <grub/setjmp.h>.
38237 (grub_fs_module_list): Moved to normal/autofs.c.
38238 (grub_exit_env): Removed.
38239 (grub_command_execute): Likewise.
38240 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38241 parameter script.
38242 (read_command_list): New function declaration.
38243 (read_fs_list): Likewise.
38244
38245 * include/parser.h: Include <grub/reader.h>.
38246 (grub_parser_split_cmdline): Change type of getline parameter.
38247 (grub_parser): New structure.
38248 (grub_parser_class): New variable.
38249 (grub_parser_execute): New function declaration.
38250 (grub_register_rescue_parser): Likewise.
38251 (grub_parser_register): New inline function.
38252 (grub_parser_unregister): Likewise.
38253 (grub_parser_get_current): Likewise.
38254 (grub_parser_set_current): Likewise.
38255
38256 * include/grub/reader.h: New file.
38257 * kern/reader.c: Likewise.
38258 * kern/rescue_parser.c: Likewise.
38259 * kern/rescue_reader.c: Likewise.
38260 * normal/autofs.c: Likewise.
38261 * normal/dyncmd.c: Likewise.
38262
38263 * include/grub/rescue.h: Removed.
38264 * normal/command.h: Likewise.
38265
38266 * include/grub/script.h: Moved to ...
38267 * include/grub/script_sh.h: ... Moved here.
38268 * normal/execute.c: Moved to ...
38269 * script/sh/execute.c: ... Moved here.
38270 * normal/function.c: Moved to ...
38271 * script/sh/function.c: ... Moved here.
38272 * normal/lexer.c: Moved to ...
38273 * script/sh/lexer.c: ... Moved here.
38274 * normal/parser.y: Moved to ...
38275 * script/sh/parser.y: ... Moved here.
38276 * normal/script.c: Moved to ...
38277 * script/sh/script.c: ... Moved here.
38278
38279 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38280 <grub/reader.h>.
38281 (grub_exit_env): Removed.
38282 (fs_module_list): Moved to normal/autofs.c.
38283 (grub_file_getline): Don't handle comment here.
38284 (free_menu): Skip removed field entry->commands.
38285 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38286 script parameter.
38287 (read_config_file): Removed nested parameter, change getline function.
38288 (grub_enter_normal_mode): Removed.
38289 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38290 (read_command_list): Likewise.
38291 (autoload_fs_module): Moved to normal/autofs.c.
38292 (read_fs_list): Likewise.
38293 (reader_nested): New variable.
38294 (grub_normal_execute): Run parser.sh to switch to sh parser.
38295 (grub_cmd_rescue): Removed.
38296 (cmd_normal): Removed.
38297 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38298 rescue command.
38299 (grub_cmdline_run): New function.
38300 (grub_normal_reader_init): Likewise.
38301 (grub_normal_read_line): Likewise.
38302 (grub_env_write_pager): Likewise.
38303 (cmdline): New variable.
38304 (grub_normal_reader): Likewise.
38305 (GRUB_MOD_INIT): Register normal reader and set as current, register
38306 pager hook, register normal command with grub_register_command_prio,
38307 so that it won't show up in command.lst.
38308 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38309 grub_fs_autoload_hook.
38310
38311 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38312 (grub_menu_execute_entry): Replace grub_script_execute with
38313 grub_parser_execute, change parameter to grub_command_execute.
38314
38315 * normal/menu_text.c: Remove <grub/script.h>.
38316
38317 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38318 and <grub/parser.h>.
38319 (run): Change editor_getline to use new parser interface. Change
38320 parameter to grub_command_execute.
38321
38322 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38323 <grub/reader.h> and <grub/parser.h>.
38324 (grub_load_normal_mode): Execute normal command.
38325 (grub_main): Call grub_register_core_commands,
38326 grub_register_rescue_parser and grub_register_rescue_reader, use
38327 grub_reader_loop to enter input loop.
38328
7dd4a573 38329 * kern/parser.c (grub_parser_split_cmdline): Change type of
38330 getline parameter.
d558e6b5 38331 (grub_parser_class): New variable.
38332 (grub_parser_execute): New function.
38333
38334 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38335 * loader/multiboot2.c: Likewise.
38336 * loader/sparc64/ieee1275/linux.c: Likewise.
38337
38338 * util/grub-emu.c (read_command_list): New dummy function.
38339
18db813d 383402009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38341
38342 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38343 count to 16 for CCISS and IDA.
38344
6c67de15 383452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38346
38347 * normal/menu_text.c (grub_wait_after_message): Print a newline
38348 after waiting for user input.
38349
38350 * loader/i386/linux.c: Include `<grub/normal.h>'.
38351 (grub_cmd_linux): Improve the error message about `ask' mode, by
38352 waiting for user input so it's not missed (we can do this, since
38353 user requested interaction).
38354
d9dc87b0 383552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38356
38357 Added missing lst to grub-mkrescue
38358
38359 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38360 and ${input_dir}/parttool.lst
38361
ac8a2baa 383622009-04-30 David S. Miller <davem@davemloft.net>
38363
ad22a610 38364 * util/hostdisk.c (device_is_wholedisk): New function.
38365 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38366 zero only if device_is_wholedisk() returns true.
38367
6966215d 38368 * util/hostdisk.c (convert_system_partition_to_system_disk):
38369 Handle virtual disk devices named /dev/vdiskX as found on sparc
38370 and powerpc.
38371
ac8a2baa 38372 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38373 lettered partition specifier is found, convert to numbered.
38374
979b4fb4 383752009-04-29 David S. Miller <davem@davemloft.net>
38376
e2bf39b2 38377 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38378 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38379
3c64e104 38380 * normal/command.c: Add missing newline at end of file.
38381
979b4fb4 38382 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38383 warnings.
38384 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38385 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38386 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38387 ihandles have a 32-bit type but need to be stored in a "void *".
38388
136d9f82 383892009-04-28 Pavel Roskin <proski@gnu.org>
38390
9459c306 38391 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38392 not disk. Adjust all dependencies.
2e08a26a 38393 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38394 grub_disk_close().
38395
136d9f82 38396 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38397 parent's partition, don't copy it by reference, as it gets freed
38398 on close.
38399
7dd4a573 384002009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38401
38402 Preboot hooks support
38403
38404 * commands/boot.c (struct grub_preboot_t): new declaration
38405 (preboots_head): new variable
38406 (preboots_tail): likewise
38407 (grub_loader_register_preboot_hook): new function
38408 (grub_loader_unregister_preboot_hook): likewise
38409 (grub_loader_set): launch preboot hooks
38410 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38411 (grub_loader_register_preboot_hook): new declaration
38412 (grub_loader_unregister_preboot_hook): likewise
38413
5af922b5 384142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38415
38416 Warning fix
38417
7dd4a573 38418 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38419 calling grub_dprintf
38420
a5562c30 384212009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38422
38423 Bug and warning fixes
38424
7dd4a573 38425 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38426 declaration
38427 * commands/test.c (test_parse): fixed bug with file tests and corrected
38428 declaration of find_file
38429
4006f85c 384302009-04-26 Pavel Roskin <proski@gnu.org>
38431
38432 * Makefile.in: Don't install empty manual pages if help2man is
38433 missing. Use help2man option for output, not shell redirection.
38434
5c77c3de 384352009-04-26 David S. Miller <davem@davemloft.net>
38436
38437 * util/grub-mkdevicemap.c (make_device_map): Add missing
38438 NESTED_FUNC_ATTR to process_device().
38439
033b10a8 384402009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38441
38442 Test command
38443
38444 * commands/test.c: rewritten to use bash-like test
38445
e4343593 384462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38447
38448 Parttool autoloading and improvements
38449
7dd4a573 38450 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38451 (parttool.lst): new target
38452 * genmk.rb: generate parttool-*
38453 (CLEANFILES): add #{parttool}
38454 (PARTTOOLFILES): new variable
38455 * genparttoollist.sh: new file
7dd4a573 38456 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38457 (grub_pcpart_type): likewise
38458 * commands/parttool.c (helpmsg): new variable
38459 (grub_cmd_parttool): output help if not enough arguments are supplied
38460 autoload modules
38461 (GRUB_MOD_INIT(parttool)): use helpmsg
38462
0d312500 384632009-04-24 David S. Miller <davem@davemloft.net>
38464
7dd4a573 38465 Avoiding opening same device multiple times in device iterator.
0d312500 38466
38467 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38468 and use it to build a list of partitions in iterate_disk() and
0d312500 38469 iterate_partition().
38470
ac20caff 38471 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38472 on disk->data.
38473
0dcf7495 38474 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38475 grub_devalias_iterate() result instead of unconditional 0.
38476 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38477 Also, capture hook return value, either directly or via
38478 grub_children_iterate(), and propagate to caller.
38479 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38480 grub_children_iterate): Return value is now 'int' instead of
38481 'grub_err_t'.
38482 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38483 like a proper iterator, stopping when hooks return non-zero.
38484 (grub_devalias_iterate): Likewise.
38485
c8c08833 384862009-04-23 David S. Miller <davem@davemloft.net>
38487
38488 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38489
f01005a8 384902009-04-22 David S. Miller <davem@davemloft.net>
38491
38492 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38493 is larger than address_cells, use that value for address_cells too.
38494
4e8269da 38495 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38496 IEEE1275_MAX_PATH_LEN): Define.
38497 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38498 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38499 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38500 'devtype'. Explicitly NULL terminate devalias expansion.
38501
a1447506 38502 * util/sparc64/ieee1275/misc.c: New file.
38503 * util/sparc64/ieee1275/grub-setup.c: New file.
38504 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38505 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38506 * util/sparc64/ieee1275/grub-install.in: New file.
38507 * util/ieee1275/ofpath.c: New file.
38508 * util/ieee1275/devicemap.c: New file.
38509 * util/devicemap.c: New file.
38510 * util/deviceiter.c: New file.
38511 * kern/sparc64/ieee1275/init.c: New file.
38512 * include/grub/util/ofpath.h: New file.
38513 * include/grub/util/deviceiter.h: New file.
38514 * util/grub-mkdevicemap.c: Include deviceiter.h.
38515 Implement using grub_util_emit_devicemap_entry and
38516 grub_util_iterate_devices.
38517 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38518 util/devicemap.c into grub-mkdevicemap
38519 * conf/i386-efi.rmk: Likewise.
38520 * conf/i386-ieee1275.rmk: Likewise.
38521 * conf/i386-pc.rmk: Likewise.
38522 * conf/powerpc-ieee1275.rmk: Likewise.
38523 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38524 images and installation utilities. Build kernel as image
38525 instead of as elf binary. Use common rules as much as possible.
38526
7dd4a573 385272009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38528
38529 Correct GPT definition
38530
7dd4a573 38531 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38532 of "attrib" member
38533
c6c5219f 385342009-04-19 Felix Zielcke <fzielcke@z-51.de>
38535
38536 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38537
0552ff9f 385382009-04-19 David S. Miller <davem@davemloft.net>
38539
38540 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38541 (grub_rescue_cmd_linux): Rename to...
38542 (grub_cmd_linux): and fix prototype.
38543 (grub_rescue_cmd_initrd): Rename to...
38544 (grub_cmd_initrd): and fix prototype.
38545 (cmd_linux, cmd_initrd): New.
38546 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38547 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38548
d1a282fc 385492009-04-17 Pavel Roskin <proski@gnu.org>
38550
07c5039f 38551 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38552 format.
38553 (grub_ohci_transfer): Likewise.
38554
b012002d 38555 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38556
1bc09c35 38557 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38558 return without a value. Fix inconsistent indentation.
38559
e0ff9126 38560 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38561 match struct grub_fs.
38562
d1a282fc 38563 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38564 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38565 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38566 * commands/lspci.c (grub_lspci_iter): Likewise.
38567
a96df3f2 385682009-04-16 Bean <bean123ch@gmail.com>
38569
38570 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38571 value.
38572
41bb0fe9 385732009-04-15 Pavel Roskin <proski@gnu.org>
38574
38575 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38576 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38577 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38578 definitions.
38579
596c6970 385802009-04-15 Felix Zielcke <fzielcke@z-51.de>
38581
38582 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38583 that no multiple data or metadata areas are supported and `Unknown
596c6970 38584 metadata header'.
38585
7dd4a573 385862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38587
38588 Move loader out of the kernel
38589
38590 * kern/loader.c: moved to ...
38591 * commands/boot.c: ... moved here
38592 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38593 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38594 * include/grub/kernel.h (grub_machine_fini): export
38595 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38596 (grub_loader_set): likewise
38597 (grub_loader_unset): likewise
38598 (grub_loader_boot): likewise
38599 * conf/common.rmk: new module boot.mod
38600 (pkglib_MODULES): add boot.mod
38601 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38602 (grub_emu_SOURCES): likewise
38603 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38604 (grub_emu_SOURCES): likewise
38605 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38606 (grub_emu_SOURCES): likewise
38607 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38608 (grub_emu_SOURCES): likewise
38609 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38610 (grub_emu_SOURCES): likewise
7dd4a573 38611 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38612 (grub_emu_SOURCES): likewise
0d5d5653 38613 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38614 (grub_emu_SOURCES): likewise
0d5d5653 38615
7dd4a573 386162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38617
38618 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38619
5999d619 38620 * kern/misc.c (grub_itoa): Removed function
38621 (grub_ltoa): likewise
38622 (grub_vsprintf): use grub_lltoa
38623
7dd4a573 386242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38625
38626 Restore grub-emu
38627
38628 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38629 * conf/i386-coreboot.rmk: likewise
38630 * conf/i386-ieee1275.rmk: likewise
38631 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38632
20318222 386332009-04-15 Felix Zielcke <fzielcke@z-51.de>
38634
38635 * INSTALL: Add that `./autogen.sh' needs to be run before
38636 `./configure.'.
38637
d05f0df3 386382009-04-14 Bean <bean123ch@gmail.com>
38639
38640 * Makefile.in (pkglib_DATA): Add handler.lst.
38641 (handler.lst): New rule.
38642
38643 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38644 * conf/i386-coreboot.rmk: Likewise.
38645 * conf/i386-ieee1275.rmk: Likewise.
38646 * conf/i386-efi.rmk: Likewise.
38647 * conf/x86_64-efi.rmk: Likewise.
38648 * conf/powerpc-ieee1275.rmk: Likewise.
38649 * conf/sparc64-ieee1275.rmk: Likewise.
38650
38651 * genhandlerlist.sh: New file.
38652
38653 * genmk.rb: Add rules to generate handler.lst.
38654
38655 * include/grub/normal.h (grub_file_getline): New function definition.
38656 (read_handler_list): Likewise.
38657 (free_handler_list): Likewise.
38658
38659 * include/grub/term.h (grub_term_register_input): Add name parameter
38660 for auto generation of handler.lst.
38661 (grub_term_register_output): Likewise.
38662
38663 * normal/handler.c: New file.
38664
38665 * normal/main.c (get_line): Renamed to grub_file_getline.
38666 (read_config_file): Use the newly renamed grub_file_getline.
38667 (read_command_list): Likewise.
38668 (read_fs_list): Likewise.
38669 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38670 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38671
38672 * term/efi/console.c (grub_console_init): Add name parameter for auto
38673 generation of handler.lst.
38674 * term/gfxterm.c: Likewise.
38675 * term/i386/pc/at_keyboard.c: Likewise.
38676 * term/i386/pc/console.c: Likewise.
38677 * term/i386/pc/serial.c: Likewise.
38678 * term/i386/pc/vesafb.c: Likewise.
38679 * term/i386/pc/vga.c: Likewise.
38680 * term/i386/pc/vga_text.c: Likewise.
38681 * term/ieee1275/ofconsole.c: Likewise.
38682 * term/usb_keyboard.c: Likewise.
38683
33c846be 386842009-04-14 Bean <bean123ch@gmail.com>
38685
38686 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38687 properly with null character.
38688
4484e01e 386892009-04-14 Felix Zielcke <fzielcke@z-51.de>
38690
38691 * configure: Remove.
38692 * config.h.in: Likewise.
f93d668e 38693 * stamp-h.in: Likewise.
4484e01e 38694 * DISTLIST: Likewise.
38695 * conf/common.mk: Likewise.
38696 * conf/i386-coreboot.mk: Likewise.
38697 * conf/i386-efi.mk: Likewise.
38698 * conf/i386-ieee1275.mk: Likewise.
38699 * conf/i386.mk: Likewise.
38700 * conf/i386-pc.mk: Likewise.
38701 * conf/powerpc-ieee1275.mk: Likewise.
38702 * conf/sparc64-ieee1275.mk: Likewise.
38703 * conf/x86_64-efi.mk: Likewise.
38704
38705 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38706 develop on GRUB.
38707
7dd4a573 387082009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38709 David S. Miller <davem@davemloft.net>
38710
38711 * util/hostdisk.c (make_device_name): Fix buffer length
38712 calculations.
38713
e25b5a8c 387142009-04-14 Felix Zielcke <fzielcke@z-51.de>
38715
38716 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38717 <sys/param.h> and <sys/sysctl.h>.
38718 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38719 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38720 opening the device and reset them afterwards.
38721
1f1f580c 387222009-04-13 Pavel Roskin <proski@gnu.org>
38723
38724 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38725 Reported by John Stanley <jpsinthemix@verizon.net>
38726
7ebc2d6b 387272009-04-13 Robert Millan <rmh@aybabtu.com>
38728
38729 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38730 that name for menuentries when appropriate.
7ebc2d6b 38731
d8ba3667 387322009-04-13 Felix Zielcke <fzielcke@z-51.de>
38733
38734 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38735
cba416eb 387362009-04-13 Robert Millan <rmh@aybabtu.com>
38737
38738 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38739 to Linux, simply abort telling the user it's no longer supported.
38740
a547a745 387412009-04-13 Felix Zielcke <fzielcke@z-51.de>
38742
38743 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38744 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38745 `freebsd_loadenv' only when devices.hints exist.
38746
232a769c 387472009-04-13 Pavel Roskin <proski@gnu.org>
38748
38749 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38750
c3012039 387512009-04-13 Felix Zielcke <fzielcke@z-51.de>
38752
38753 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38754 partition number.
38755 (grub_drive): Likewise.
38756
234022fe 387572009-04-13 David S. Miller <davem@davemloft.net>
38758
38759 * kern/sparc64/ieee1275/ieee1275.c: New file.
38760 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38761 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38762 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38763 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38764 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38765 grub_ieee1275_alloc_physmem): Declare new exported functions.
38766
d8e1836c 38767 * include/grub/sparc64/ieee1275/loader.h: New file.
38768 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38769 * include/grub/sparc64/kernel.h: Likewise.
38770 * loader/sparc64/ieee1275/linux.c: Likewise.
38771
96bd81ec 38772 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38773 (grub_fstest_SOURCES): Likewise.
38774
6a4737e5 38775 * util/hostdisk.c (make_device_name): Do not make any assumptions
38776 about the length of drive names.
38777
1d7a72fd 38778 * kern/dl.c (grub_dl_load_file): Close file immediately when
38779 we are done using it.
38780
56bc2471 387812009-04-12 David S. Miller <davem@davemloft.net>
38782
38783 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38784 values. Noticed by Pavel Roskin.
38785
df38d0bb 38786 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38787 target compiler.
7dd4a573 38788
e382e93a 38789 * genmk.rb: Add more flexible image type specification, also
38790 pass --strip-unneeded to objcopy.
38791 * conf/i386-pc.rmk: Use *_FORMAT.
38792 * conf/i386-pc.mk: Rebuilt.
38793
f5dbbca9 38794 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38795 (OFDISK_HASH_SZ): Define.
38796 (ofdisk_hash): New hash table.
38797 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38798 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38799 instead of device phandle which is not unique.
38800
91c88b12 38801 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38802 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38803 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38804 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38805 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38806 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38807 GRUB_KERNEL_MACHINE_DATA_END): Define.
38808 (grub_kernel_image_size, grub_total_module_size): Declare.
38809
5b5d4aa5 388102009-04-12 Pavel Roskin <proski@gnu.org>
38811
7dd4a573 38812 * configure.ac: Change the logic when we check for target tools.
38813 Do it when the target is specified and it's different from the
38814 specified value of the host.
5b5d4aa5 38815
c91e1793 388162009-04-11 Felix Zielcke <fzielcke@z-51.de>
38817
38818 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38819 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38820 GNU/kFreeBSD. Check if a device is a character device. Use
38821 DIOCGMEDIASIZE to get the size.
38822 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38823 support for GNU/kFreeBSD.
38824 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38825 is a character device instead of a block device. Add support for
38826 FreeBSD device names.
38827
38828 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38829 is a character device instead of a block device.
38830
38831 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38832 is a character device instead of a block device.
38833
b1ac8644 388342009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38835
38836 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38837 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38838 FreeBSD. Check if a device is a character device. Use
38839 DIOCGMEDIASIZE to get the size.
38840 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38841 support for FreeBSD.
38842 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38843 is a character device instead of a block device. Add support for
38844 FreeBSD device names.
38845
38846 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38847 a character device instead of a block device.
38848 (grub_util_check_char_device): New function.
38849
38850 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38851 a character device instead of a block device.
38852
38853 * include/grub/util/getroot.h (grub_util_check_char_device): New
38854 prototype.
38855
a3f7515a 388562009-04-11 David S. Miller <davem@davemloft.net>
38857
38858 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38859 static libgcc.
38860 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38861 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38862 function, if present.
38863 (__bswapdi2): Likewise.
38864
0d44993d 38865 * include/grub/sparc64/ieee1275/boot.h: New file.
38866 * boot/sparc64/ieee1275/boot.S: Likewise.
38867 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38868
ed3d2bc2 38869 * kern/misc.c (grub_ltoa): New function.
38870 (grub_vsprintf): Use it to format 'long' integers.
38871
d3bfb59c 388722009-04-10 David S. Miller <davem@davemloft.net>
38873
38874 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38875 slots are of type grub_ieee1275_cell_t.
38876 (grub_nand_read): Likewise.
38877 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38878 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38879 macros are used to compare values in arg/ret block of the call.
38880 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38881 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38882 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38883 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38884 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38885 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38886 grub_ieee1275_close, grub_ieee1275_set_property,
38887 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38888 grub_ieee1275_cell_t.
38889 * kern/ieee1275/openfw.c (grub_map): Likewise.
38890 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38891 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38892
450e2238 38893 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38894 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38895 (grub_devalias_iterate): Likewise.
38896
7dd4a573 388972009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38898
38899 UFS improvements
38900
38901 * fs/ufs.c (INODE_NBLOCKS): new definition
38902 (struct grub_ufs_dirent): added fields for non-BSD dirents
38903 (grub_ufs_get_file_block): fixed double indirect handling
38904 (grub_ufs_lookup_symlink): use more robust way to determine whether
38905 symlink is inline
38906 (grub_ufs_find_file): support for non-BSD dirents
38907 (grub_ufs_dir): support for non-BSD dirents
38908
e7e6862a 389092009-04-10 Bean <bean123ch@gnail.com>
38910
38911 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38912 attribute, otherwise the size would be wrong for i386 platform.
38913
38914 * include/grub/pci.h (grub_pci_read_word): New inline function.
38915 (grub_pci_read_byte): Likewise.
38916 (grub_pci_write): Likewise.
38917 (grub_pci_write_word): Likewise.
38918 (grub_pci_write_byte): Likewise.
38919
38920 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38921
38922 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38923 (find_framebuf): Scan pci to locate the frame buffer address.
38924
38925 * commands/efi/fixvideo.c: New file.
38926
38927 * commands/efi/loadbios.c: Likewise.
38928
38929 * commands/memrw.c: Likewise.
38930
38931 * util/grub-dumpbios.in: Likewise.
38932
38933 * conf/common.rmk (grub-dumpbios): New utility.
38934 (pkglib_MODULES): New module memrw.mod.
38935 (memrw_mod_SOURCE): New macro.
38936 (memrw_mod_CFLAGS): Likewise.
38937 (memrw_mod_LDFLAGS): Likewise.
38938
7dd4a573 38939 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38940 fixvideo.mod.
38941 (loadbios_mod_SOURCE): New macro.
38942 (loadbios_mod_CFLAGS): Likewise.
38943 (loadbios_mod_LDFLAGS): Likewise.
38944 (fixvideo_mod_SOURCE): Likewise.
38945 (fixvideo_mod_CFLAGS): Likewise.
38946 (fixvideo_mod_LDFLAGS): Likewise.
38947
7dd4a573 38948 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38949 fixvideo.mod.
38950 (loadbios_mod_SOURCE): New macro.
38951 (loadbios_mod_CFLAGS): Likewise.
38952 (loadbios_mod_LDFLAGS): Likewise.
38953 (fixvideo_mod_SOURCE): Likewise.
38954 (fixvideo_mod_CFLAGS): Likewise.
38955 (fixvideo_mod_LDFLAGS): Likewise.
38956
af63ada2 389572009-04-08 Felix Zielcke <fzielcke@z-51.de>
38958
38959 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38960
c2cdde70 389612009-04-07 David S. Miller <davem@davemloft.net>
38962
38963 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38964 support for R_SPARC_OLO10 relocations. Fix compile warning for
38965 R_SPARC_WDISP30 case.
ea3f72cf 38966 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38967
761319cf 389682009-04-06 Pavel Roskin <proski@gnu.org>
38969
1007d1f5 38970 * include/grub/misc.h (ARRAY_SIZE): New macro.
38971 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38972 New macro.
38973 * loader/i386/linux.c (allocate_pages): Use free_pages().
38974 (grub_linux_unload): Don't use free_pages().
38975 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38976 wrong index. Treat all other modes as text modes.
38977 (grub_cmd_linux): Initialize vid_mode unconditionally to
38978 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38979
761319cf 38980 * commands/help.c (print_command_help): Use cmd->prio, not
38981 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38982
ea761d40 389832009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38984
ea761d40 38985 Parttool
38986
38987 * parttool/pcpart.c: new file
38988 * commands/parttool.c: likewise
38989 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38990 (parttool_mod_SOURCES): new variable
38991 (parttool_mod_CFLAGS): likewise
38992 (parttool_mod_LDFLAGS): likewise
38993 (pcpart_mod_SOURCES): likewise
38994 (pcpart_mod_CFLAGS): likewise
38995 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38996 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38997 and parttool/pcpart.c
38998 * conf/i386-efi.rmk: likewise
38999 * conf/i386-ieee1275.rmk: likewise
39000 * conf/i386-pc.rmk: likewise
39001 * conf/powerpc-ieee1275.rmk: likewise
39002 * conf/sparc64-ieee1275.rmk: likewise
39003 * conf/x86_64-ieee1275.rmk: likewise
39004
05aaebfb 390052009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39006
39007 Support for mtime and further expandability of dir command
39008
39009 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39010 * include/grub/datetime.h: ... moved here and added
05aaebfb 39011 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39012 * include/grub/fs.h: new syntax for dir and mtime functions in
39013 struct grub_fs
05aaebfb 39014 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39015 and GRUB_FSHELP_FLAGS_MASK
39016 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39017 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39018 (grub_ext2_mtime): new function
39019 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39020 (grub_hfsplus_mtime): new function
39021 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39022 (GRUB_UFS_ATTR_FILE): likewise
39023 (GRUB_UFS_ATTR_LNK): likewise
39024 (struct grub_ufs_sblock): new fields mtime
39025 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39026 all users updated
39027 (grub_ufs_dir): mtime support
39028 (grub_ufs_mtime): new function
39029 * fs/affs.c (grub_affs_dir): use new dir syntax
39030 * fs/afs.c (grub_afs_dir): likewise
39031 * fs/cpio.c (grub_cpio_dir): likewise
39032 * fs/fat.c (grub_fat_find_dir): likewise
39033 * fs/hfs.c (grub_hfs_dir): likewise
39034 * fs/iso9660.c (grub_iso9660_dir): likewise
39035 * fs/jfs.c (grub_jfs_dir): likewise
39036 * fs/minix.c (grub_minix_dir): likewise
39037 * fs/ntfs.c (grub_ntfs_dir): likewise
39038 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39039 * fs/sfs.c (grub_sfs_dir): likewise
39040 * fs/xfs.c (grub_xfs_dir): likewise
39041 * util/hostfs.c (grub_hostfs_dir): likewise
39042 * lib/datetime.c: moved to ...
39043 * normal/datetime.c: ... moved here
39044 (grub_unixtime2datetime): new function
39045 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39046 * normal/completion.c (iterate_dir): use new dir syntax
39047 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39048 last modification time of a volume
7dd4a573 39049 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39050 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39052 (normal_mod_SOURCES): likewise
39053 (datetime_mod_SOURCES): Removed lib/datetime.c
39054 * conf/i386-efi.rmk: likewise
7dd4a573 39055 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39056 * conf/i386-pc.rmk: likewise
39057 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39058 * conf/sparc64-ieee1275.rmk: likewise
39059 * conf/x86_64-efi.rmk: likewise
05aaebfb 39060
8a7e1a14 390612009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39062
39063 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39064
39065 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39066 on grub_fat_find_dir
39067 (grub_fat_find_dir): use grub_fat_iterate_dir
39068 (grub_fat_label): likewise
39069
04186a9c 390702009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39071
7dd4a573 39072 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39073 and command.h
39074 remove extraneous kernel_elf_HEADERS
39075
da4c0bb6 390762009-04-04 Bean <bean123ch@gnail.com>
39077
39078 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39079
39080 * util/misc.c: Likewise.
39081
54ad9555 390822009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39083
39084 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39085 instead of grub_printf.
39086
7a6bf9f2 390872009-04-03 Robert Millan <rmh@aybabtu.com>
39088
39089 * loader/i386/linux.c (grub_linux_setup_video): Fill
39090 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39091 values from `mode info' structure instead of hardcoded
39092 values.
39093
3fcc2083 390942009-04-01 Pavel Roskin <proski@gnu.org>
39095
39096 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39097 unused now.
39098 * genmk.rb: Likewise.
39099 * configure.ac: Likewise.
39100
5ec9740b 391012009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39102
39103 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39104 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39105
5270cec8 391062009-04-01 David S. Miller <davem@davemloft.net>
39107
39108 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39109 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39110 (grub_setjmp): Mark with 'returns_twice' attribute.
39111 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39112 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39113 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39114
9c3dd854 391152009-04-01 Robert Millan <rmh@aybabtu.com>
39116
39117 Reapply fix from 2008-07-28 which was accidentally reverted; also
39118 perform the same fix to a similar check in same function.
39119
39120 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39121 with the same number are found, just use issue a warning with
39122 grub_dprintf(), as this error has been reported to be non-fatal.
39123
0d818b7e 391242009-03-31 Pavel Roskin <proski@gnu.org>
39125
39126 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39127 for cross-compilation.
39128
95646d92 391292009-03-30 Robert Millan <rmh@aybabtu.com>
39130
39131 Fix i386-ieee1275 build.
39132
39133 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39134 Remove declaration.
39135
6a003ed1 391362009-03-30 Pavel Roskin <proski@gnu.org>
39137
39138 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39139 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39140 zero-terminated, rely only on the strlen value. Fix comparison
39141 of strings differing in length.
39142
92f33540 391432009-03-30 Robert Millan <rmh@aybabtu.com>
39144
39145 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39146 checking for abi version. Improve error messages on BIOS to notify
39147 user about `linux16' command.
39148
a8c48fd5 391492009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39150
f968172e 39151 Leak fixes
a8c48fd5 39152
f968172e 39153 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39154 in case of collision
39155 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39156
9c323f09 391572009-03-29 Robert Millan <rmh@aybabtu.com>
39158
39159 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39160 set `vid_mode' accordingly.
39161 (grub_linux_boot): Process `vid_mode' and set video mode.
39162
ae68f423 391632009-03-29 Robert Millan <rmh@aybabtu.com>
39164
39165 * util/grub.d/10_linux.in (linux_entry): New function.
39166 Factorize generation of Linux boot entries.
39167
5709cfc4 391682009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39169
39170 Make the format of Environment Block plain text. The boot loader
39171 part is not tested well yet.
7dd4a573 39172
5709cfc4 39173 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39174 (buffer): Removed.
39175 (envblk): Likewise.
39176 (usage): Remove "info" and "clear". Add "unset". Update the
39177 description of "set", as this does not delete variables any
39178 longer.
39179 (create_envblk_file): Complete rewrite.
39180 (open_envblk_file): Likewise.
39181 (cmd_info): Removed.
39182 (cmd_list): Likewise.
39183 (cmd_set): Likewise.
39184 (cmd_clear): Likewise.
39185 (list_variables): New function.
39186 (write_envblk): Likewise.
39187 (set_variables): Likewise.
39188 (unset_variables): Likewise.
39189 (main): Complete rewrite.
39190
39191 * commands/loadenv.c (buffer): Removed.
39192 (envblk): Likewise.
39193 (open_envblk_file): New function.
39194 (read_envblk_file): Complete rewrite.
39195 (grub_cmd_load_env): Likewise.
39196 (grub_cmd_list_env): Likewise.
39197 (struct blocklist): New struct.
39198 (free_blocklists): New function.
39199 (check_blocklists): Likewise.
39200 (write_blocklists): Likewise.
39201 (grub_cmd_save_env): Complete rewrite.
39202
39203 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39204 a plain text signature.
39205 (GRUB_ENVBLK_MAXLEN): Removed.
39206 (struct grub_envblk): Complete rewrite.
39207 (grub_envblk_find): Removed.
39208 (grub_envblk_insert): Likewise.
39209 (grub_envblk_open): New prototype.
39210 (grub_envblk_set): Likewise.
39211 (grub_envblk_delete): Put const to VALUE.
39212 (grub_envblk_iterate): Put const to NAME and VALUE.
39213 (grub_envblk_close): New prototype.
39214 (grub_envblk_buffer): New inline function.
39215 (grub_envblk_size): Likewise.
39216
39217 * lib/envblk.c: Include grub/mm.h.
39218 (grub_env_find): Removed.
39219 (grub_envblk_open): New function.
39220 (grub_envblk_close): Likewise.
39221 (escaped_value_len): Likewise.
39222 (find_next_line): Likewise.
39223 (grub_envblk_insert): Removed.
39224 (grub_envblk_set): New function.
39225 (grub_envblk_delete): Complete rewrite.
39226 (grub_envblk_iterate): Likewise.
39227
a9368fd3 392282009-03-28 Robert Millan <rmh@aybabtu.com>
39229
39230 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39231 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39232 variables. Use 16-bit loader.
39233 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39234 loader.
39235 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39236 (grub_linux16_boot): ... this. Update all users.
39237 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39238 (grub_linux_boot): ... this. Update all users.
39239
39240 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39241 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39242 commands to `linux16' and `initrd16'.
39243 (GRUB_MOD_FINI(linux)): Rename to ...
39244 (GRUB_MOD_FINI(linux16)): ... this.
39245
e4dd5a7e 392462009-03-24 Pavel Roskin <proski@gnu.org>
39247
39248 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39249 not just for compilation.
39250
c04d6e05 392512009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39252
39253 Move multiboot helper out of kernel
39254
39255 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39256 `loader/i386/multiboot_helper.S'.
39257 * conf/i386-coreboot.rmk: Likewise
39258 * conf/i386-ieee1275.rmk: Likewise
39259
39260 * kern/i386/loader.S: Move multiboot helpers from here...
39261 * loader/i386/multiboot_helper.S: ...moved here
39262 * include/grub/i386/loader.h: Move declarations of multiboot
39263 helpers from here...
39264 * include/grub/i386/multiboot.h: ...moved here
39265 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39266
42a5b3fc 392672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39268
39269 * kern/env.c (grub_env_context_open): Added an argument to specify
39270 whether a new context inherits exported variables from current
39271 one. This is useful when making a sandbox to interpret a config
39272 file.
39273 All callers updated.
39274
39275 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39276
b28bbc4e 392772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39278
39279 * kern/env.c (grub_env_context_close): Fix memory leaks.
39280
f04f02e4 392812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39282
39283 * normal/main.c (grub_normal_execute): Added an argument
39284 BATCH to specify if an interactive interface should be provided
39285 after reading a config file.
39286 All callers updated.
39287 (read_command_list): Prevent being executed twice.
39288 (read_fs_list): Likewise.
39289
42a5b3fc 39290 * include/grub/normal.h (grub_normal_execute): Updated the
39291 prototype.
f04f02e4 39292
41473ac2 392932009-03-22 Pavel Roskin <proski@gno.org>
39294
fbc00b0c 39295 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39296 _start.
39297 * kern/i386/pc/startup.S: Likewise.
39298 * kern/i386/efi/startup.S: Likewise.
39299 * kern/i386/ieee1275/startup.S: Likewise.
39300 * kern/i386/coreboot/startup.S: Likewise.
39301 * kern/x86_64/efi/startup.S: Likewise.
39302
41473ac2 39303 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39304 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39305 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39306
2274cc8f 393072009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39308
39309 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39310
39311 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39312 limit detection.
39313 Use vaddr of correct segment for entry_point.
39314
b1b797cb 393152009-03-21 Bean <bean123ch@gmail.com>
39316
39317 * commands/blocklist.c: Add include file <grub/command.h>, remove
39318 <grub/normal.h> and <grub/arg.h>.
39319 (grub_cmd_blocklist): Use the new command interface.
39320 (GRUB_MOD_INIT): Likewise.
39321 (GRUB_MOD_FINI): Likewise.
39322 * commands/boot.c: Likewise.
39323 * commands/cat.c: Likewise.
39324 * commands/cmp.c: Likewise.
39325 * commands/configfile.c: Likewise.
39326 * commands/crc.c: Likewise.
39327 * commands/echo.c: Likewise.
39328 * commands/halt.c: Likewise.
39329 * commands/handler.c: Likewise.
39330 * commands/hdparm.c: Likewise.
39331 * commands/help.c: Likewise.
39332 * commands/hexdump.c: Likewise.
39333 * commands/loadenv.c: Likewise.
39334 * commands/ls.c: Likewise.
39335 * commands/lsmmap.c: Likewise.
39336 * commands/lspci.c: Likewise.
39337 * commands/loadenv.c: Likewise.
39338 * commands/read.c: Likewise.
39339 * commands/reboot.c: Likewise.
39340 * commands/search.c: Likewise.
39341 * commands/sleep.c: Likewise.
39342 * commands/test.c: Likewise.
39343 * commands/usbtest.c: Likewise.
39344 * commands/videotest.c: Likewise.
39345 * commands/i386/cpuid.c: Likewise.
39346 * commands/i386/pc/halt.c: Likewise.
39347 * commands/i386/pc/play.c: Likewise.
39348 * commands/i386/pc/pxecmd.c: Likewise.
39349 * commands/i386/pc/vbeinfo.c: Likewise.
39350 * commands/i386/pc/vbetest.c: Likewise.
39351 * commands/ieee1275/suspend.c: Likewise.
39352 * disk/loopback.c: Likewise.
39353 * font/font_cmd.c: Likewise.
39354 * hello/hello.c: Likewise.
39355 * loader/efi/appleloader.c: Likewise.
39356 * loader/efi/chainloader.c: Likewise.
39357 * loader/i386/bsd.c: Likewise.
39358 * loader/i386/efi/linux.c: Likewise.
39359 * loader/i386/ieee1275/linux.c: Likewise.
39360 * loader/i386/linux.c: Likewise.
39361 * loader/i386/pc/chainloader.c: Likewise.
39362 * loader/i386/pc/linux.c: Likewise.
39363 * loader/powerpc/ieee1275/linux.c: Likewise.
39364 * loader/multiboot_loader.c: Likewise.
39365 * term/gfxterm.c: Likewise.
39366 * term/i386/pc/serial.c: Likewise.
39367 * term/terminfo.c: Likewise.
39368
39369 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39370 * term/i386/pc/vga.c: Likewise.
39371 * video/readers/jpeg.c: Likewise.
39372 * video/readers/png.c: Likewise.
39373 * video/readers/tga.c: Likewise.
39374
39375 * util/grub-fstest (cmd_loopback): Removed.
39376 (cmd_blocklist): Likewise.
39377 (cmd_ls): Likewise.
39378 (grub_register_command): Likewise.
39379 (grub_unregister_command): Likewise.
39380 (execute_command): Use grub_command_find to locate command and execute
39381 it.
39382
39383 * include/grub/efi/chainloader.h: Removed.
39384 * loader/efi/chainloader_normal.c: Likewise.
39385 * loader/i386/bsd_normal.c: Likewise.
39386 * loader/i386/pc/chainloader_normal.c: Likewise.
39387 * loader/i386/pc/multiboot_normal.c: Likewise.
39388 * loader/linux_normal.c: Likewise.
39389 * loader/multiboot_loader_normal.c: Likewise.
39390 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39391
39392 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39393 and grub_register_command_p1.
39394
39395 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39396 kern/command.c, lib/arg.c and commands/extcmd.c.
39397 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39398 (minicmd_mod_SOURCES): New variable.
39399 (minicmd_mod_CFLAGS): Likewise.
39400 (minicmd_mod_LDFLAGS): Likewise.
39401 (extcmd_mod_SOURCES): Likewise.
39402 (extcmd_mod_CFLAGS): Likewise.
39403 (extcmd_mod_LDFLAGS): Likewise.
39404 (boot_mod_SOURCES): Removed.
39405 (boot_mod_CFLAGS): Likewise.
39406 (boot_mod_LDFLAGS): Likewise.
39407
39408 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39409 kern/corecmd.c.
39410 (kernel_img_HEADERS): Add command.h.
39411 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39412 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39413 and lib/arg.c.
39414 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39415 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39416 remove the corresponding normal mode command.
39417 (normal_mod_SOURCES): Remove normal/arg.c.
39418 * conf/i386-coreboot.rmk: Likewise.
39419 * conf/i386-efi.rmk: Likewise.
39420 * conf/i386-ieee1275.rmk: Likewise.
39421 * conf/powerpc-ieee1275.rmk: Likewise.
39422 * conf/x86_64-efi.rmk: Likewise.
39423
39424 * include/grub/arg.h: Move from here ...
39425 * include/grub/lib/arg.h: ... to here.
39426
39427 * normal/arg.c: Move from here ...
39428 * lib/arg.c: ... to here.
39429
39430 * commands/extcmd.c: New file.
39431 * commands/minicmd.c: Likewise.
39432 * include/grub/command.h: Likewise.
39433 * include/grub/extcmd.h: Likewise.
39434 * kern/command.c: Likewise.
39435 * kern/corecmd.c: Likewise.
39436
39437 * kern/list.c (grub_list_iterate): Return int instead of void.
39438 (grub_list_insert): New function.
39439 (grub_prio_list_insert): Likewise.
39440
39441 * kern/rescue.c (grub_rescue_command): Removed.
39442 (grub_rescue_command_list): Likewise.
39443 (grub_rescue_register_command): Likewise.
39444 (grub_rescue_unregister_command): Likewise.
39445 (grub_rescue_cmd_boot): Move to minicmd.c
39446 (grub_rescue_cmd_help): Likewise.
39447 (grub_rescue_cmd_info): Likewise.
39448 (grub_rescue_cmd_boot): Likewise.
39449 (grub_rescue_cmd_testload): Likewise.
39450 (grub_rescue_cmd_dump): Likewise.
39451 (grub_rescue_cmd_rmmod): Likewise.
39452 (grub_rescue_cmd_lsmod): Likewise.
39453 (grub_rescue_cmd_exit): Likewise.
39454 (grub_rescue_print_devices): Moved to corecmd.c.
39455 (grub_rescue_print_files): Likewise.
39456 (grub_rescue_cmd_ls): Likewise.
39457 (grub_rescue_cmd_insmod): Likewise.
39458 (grub_rescue_cmd_set): Likewise.
39459 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39460 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39461 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39462 commands, remove grub_rescue_register_command calls.
b1b797cb 39463
7d074e3c 39464 * normal/command.c (grub_register_command): Removed.
b1b797cb 39465 (grub_unregister_command): Likewise.
39466 (grub_command_find): Likewise.
39467 (grub_iterate_commands): Likewise.
39468 (rescue_command): Likewise.
39469 (export_command): Moved to corecmd.c.
39470 (set_command): Removed.
39471 (unset_command): Likewise.
39472 (insmod_command): Likewise.
39473 (rmmod_command): Likewise.
39474 (lsmod_command): Likewise.
39475 (grub_command_init): Likewise.
39476
39477 * normal/completion.c (iterate_command): Use cmd->prio to check for
39478 active command.
39479 (complete_arguments): Use grub_extcmd_t structure to find options.
39480 (grub_normal_do_completion): Change function grub_iterate_commands to
39481 grub_command_iterate.
39482
39483 * normal/execute.c (grub_script_execute_cmd): No need to parse
39484 argument here.
39485
39486 * normal/main.c (grub_dyncmd_dispatcher): New function.
39487 (read_command_list): Register unload commands as dyncmd.
39488 (grub_cmd_normal): Use new command interface, register rescue,
39489 unregister normal at entry, register normal, unregister rescue at exit.
39490
39491 * include/grub/list.h (grub_list_test_t): New type.
39492 (grub_list_iterate): Return int instead of void.
39493 (grub_list_insert): New function.
39494 (GRUB_AS_NAMED_LIST_P): New macro.
39495 (GRUB_AS_PRIO_LIST): Likewise.
39496 (GRUB_AS_PRIO_LIST_P): Likewise.
39497 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39498 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39499 (grub_prio_list): New structure.
39500 (grub_prio_list_insert): New function.
39501 (grub_prio_list_remove): New inline function.
39502
39503 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39504 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39505 (GRUB_COMMAND_FLAG_MENU): Likewise.
39506 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39507 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39508 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39509 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39510 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39511 (grub_command): Likewise.
39512 (grub_register_command): Likewise.
39513 (grub_command_find): Likewise.
39514 (grub_iterate_commands): Likewise.
39515 (grub_command_init): Likewise.
39516 (grub_arg_parse): Likewise.
39517 (grub_arg_show_help): Likewise.
39518
39519 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39520 (grub_rescue_unregister_command): Likewise.
39521
39522 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39523 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39524 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39525
39526 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39527 grub_rescue_cmd_initrd.
39528 * include/grub/i386/loader.h: Likewise.
39529 * include/grub/x86_64/loader.h: Likewise.
39530
39531 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39532
1f4147aa 395332009-03-21 Bean <bean123ch@gmail.com>
39534
39535 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39536 instead of stat in mingw environment.
39537
39538 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39539
39540 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39541
39542 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39543 AC_CONFIG_LINKS.
39544
2156d5ba 395452009-03-21 Bean <bean123ch@gmail.com>
39546
39547 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39548 out of range error.
39549
177b82ca 395502009-03-18 Michel Dänzer <michel@daenzer.net>
39551
39552 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39553 checking inode flags for EXT4_EXTENTS_FLAG.
39554
14aad807 395552009-03-18 Robert Millan <rmh@aybabtu.com>
39556
39557 * loader/i386/linux.c: Include `<grub/video.h>' and
39558 `<grub/i386/pc/vbe.h>'..
39559 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39560 (grub_linux32_boot): Attempt to configure video settings with
39561 grub_linux_setup_video().
39562 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39563 to avoid grub_console_fini() which would step out of graphical mode
39564 unconditionally.
39565
8cf83a27 395662009-03-14 Robert Millan <rmh@aybabtu.com>
39567
39568 Fix build on powerpc.
39569 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39570
40164e75 395712009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39572
39573 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39574 background image command.
39575
c58bc32a 395762009-03-12 Colin D Bennett <colin@gibibit.com>
39577
39578 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39579 (grub_gfxterm_putchar): Extract pairs of identical calls to
39580 draw_cursor out of conditional blocks.
39581
5415144a 395822009-03-11 Pavel Roskin <proski@gnu.org>
39583
39584 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39585 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39586
6394042e 395872009-03-11 Robert Millan <rmh@aybabtu.com>
39588
39589 * loader/i386/multiboot_elfxx.c
39590 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39591
b7b50e5f 395922009-03-11 Felix Zielcke <fzielcke@z-51.de>
39593
39594 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39595 `kern/handler.c'.
39596
1ca7fc96 395972009-03-11 Robert Millan <rmh@aybabtu.com>
39598
39599 * loader/i386/multiboot.c (code_size): New variable.
39600 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39601 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39602 4-byte alignment to MBI and others by increasing
7d074e3c 39603 `boot_loader_name_length' appropriately.
1ca7fc96 39604
39605 * loader/i386/multiboot_elfxx.c
39606 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39607
a83ea1d2 396082009-03-09 Felix Zielcke <fzielcke@z-51.de>
39609
39610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39611 `fs/ext2.c'.
39612
aa9f3bff 396132009-03-08 Robert Millan <rmh@aybabtu.com>
39614
39615 Make loader/i386/linux.c usable on i386-pc again.
39616
39617 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39618 memory to heap.
39619 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39620 `#error' stanza.
39621
d8b3b60e 396222009-03-07 Bean <bean123ch@gmail.com>
39623
39624 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39625 allocation.
39626
b362c9e9 396272009-03-06 Robert Millan <rmh@aybabtu.com>
39628
39629 Fix display issue on terminals with screen size other than 80x25
39630 (e.g. gfxterm with resolution higher than 640x480).
39631
39632 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39633 position relative to the center of the terminal instead of relying
b362c9e9 39634 on a hardcoded offset.
39635
9304eef1 396362009-03-04 Robert Millan <rmh@aybabtu.com>
39637
39638 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39639 installed.
39640
39641 * Makefile.in (host_kernel): New variable.
39642 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39643 scripts instead of just the windows one.
39644 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39645
eabc95fb 396462009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39647
39648 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39649 `kern/handler.c'.
39650 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39651 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39656
ceb1223c 396572009-03-04 Felix Zielcke <fzielcke@z-51.de>
39658
39659 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39660 or if there's no space for the disk label and print the partition number on a
39661 invalid magic.
39662
4910684a 396632009-03-04 Felix Zielcke <fzielcke@z-51.de>
39664
39665 * util/misc.c: Include <time.h>.
39666 (grub_millisleep): New function.
39667
7e9ca17a 396682009-03-04 Bean <bean123ch@gmail.com>
39669
39670 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39671 another option -mno-red-zone.
39672
39673 * commands/handler.c: Change module description.
39674
39675 * kern/handler.c: Add missing space at the end of description line.
39676
39677 * kern/list.c: Likewise.
39678
f501677c 396792009-03-03 Robert Millan <rmh@aybabtu.com>
39680
39681 Move more components to the relocation area, and fix mbi pointer
39682 handling to use the destination rather than the origin (thanks to
39683 Vladimir Serbinenko for spotting).
39684
39685 * loader/i386/multiboot.c (mbi_dest): New variable.
39686 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39687 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39688 relocation area.
39689
9902d047 396902009-03-01 Bean <bean123ch@gmail.com>
39691
50fb7002 39692 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39693 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39694 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39695 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39696
39697 * loader/i386/efi/linux.c (acpi_guid): New variable.
39698 (acpi_guid): Likewise.
39699 (EBDA_SEG_ADDR): New constant.
39700 (LOW_MEM_ADDR): Likewise.
39701 (FAKE_EBDA_SEG): Likewise.
39702 (fake_bios_data): New function.
39703 (grub_linux_boot): Call fake_bios_data.
39704
71b9f361 397052009-03-01 Bean <bean123ch@gmail.com>
39706
39707 * commands/terminal.c: Removed.
39708
39709 * commands/handler.c: New file.
39710
39711 * include/grub/list.h: Likewise.
39712
39713 * include/grub/handler.h: Likewise.
39714
39715 * kern/list.c: Likewise.
39716
39717 * kern/handler.c: Likewise.
39718
39719 * kern/term.h: Include header file <grub/handler.h>.
39720 (grub_term_input): Move next field to the beginning.
39721 (grub_term_output): Likewise.
39722 (grub_term_input_class): New variable.
39723 (grub_term_output_class): Likewise.
39724 (grub_term_register_input): Changed to inline function.
39725 (grub_term_register_output): Likewise.
39726 (grub_term_unregister_input): Likewise.
39727 (grub_term_unregister_output): Likewise.
39728 (grub_term_set_current_input): Likewise.
39729 (grub_term_set_current_output): Likewise.
39730 (grub_term_get_current_input): Likewise.
39731 (grub_term_get_current_output): Likewise.
39732 (grub_term_iterate_input): Removed.
39733 (grub_term_iterate_output): Likewise.
39734
39735 * kern/term.c (grub_term_list_input): Removed.
39736 (grub_term_list_output): Likewise.
39737 (grub_term_input_class): New variable.
39738 (grub_term_output_class): Likewise.
50fb7002 39739 (grub_cur_term_input): Change variable as macro.
71b9f361 39740 (grub_cur_term_output): Likewise.
39741 (grub_term_register_input): Removed.
39742 (grub_term_register_output): Likewise.
39743 (grub_term_unregister_input): Likewise.
39744 (grub_term_unregister_output): Likewise.
39745 (grub_term_set_current_input): Likewise.
39746 (grub_term_set_current_output): Likewise.
39747 (grub_term_iterate_input): Likewise.
39748 (grub_term_iterate_output): Likewise.
39749 (grub_term_get_current_input): Likewise.
39750 (grub_term_get_current_output): Likewise.
39751
39752 * util/grub-editenv.c: Include header file <grub/handler.h>.
39753 (grub_term_get_current_input): Removed.
39754 (grub_term_get_current_output): Likewise.
39755 (grub_term_input_class): New variable.
50fb7002 39756 (grub_term_output_class): Likewise.
71b9f361 39757
39758 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39759 (grub_term_get_current_output): Likewise.
39760 (grub_term_input_class): New variable.
50fb7002 39761 (grub_term_output_class): Likewise.
71b9f361 39762
39763 * util/grub-probe.c (grub_term_get_current_input): Removed.
39764 (grub_term_get_current_output): Likewise.
39765 (grub_term_input_class): New variable.
50fb7002 39766 (grub_term_output_class): Likewise.
71b9f361 39767
39768 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39769 (grub_term_get_current_output): Likewise.
39770 (grub_term_input_class): New variable.
50fb7002 39771 (grub_term_output_class): Likewise.
71b9f361 39772
39773 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39774 (terminal_mod_SOURCES): Likewise.
39775 (terminal_mod_CFLAGS): Likewise.
39776 (terminal_mod_LDFLAGS): Likewise.
39777
39778 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39779 handler.c.
39780 (kernel_img_SOURCES): Add list.c and handler.c.
39781 (kernel_img_HEADERS): Add list.h and handler.h.
39782
39783 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39784 handler.c.
39785 (kernel_mod_SOURCES): Add list.c and handler.c.
39786 (kernel_mod_HEADERS): Add list.h and handler.h.
39787
39788 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39789 handler.c.
39790 (kernel_elf_SOURCES): Add list.c and handler.c.
39791 (kernel_elf_HEADERS): Add list.h and handler.h.
39792
39793 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39794 handler.c.
39795 (kernel_elf_SOURCES): Add list.c and handler.c.
39796 (kernel_elf_HEADERS): Add list.h and handler.h.
39797
39798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39799 handler.c.
39800 (kernel_mod_SOURCES): Add list.c and handler.c.
39801 (kernel_mod_HEADERS): Add list.h and handler.h.
39802
39803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39804 handler.c.
39805 (kernel_elf_SOURCES): Add list.c and handler.c.
39806 (kernel_elf_HEADERS): Add list.h and handler.h.
39807
8a31787f 398082009-02-27 Robert Millan <rmh@aybabtu.com>
39809
39810 Factorize elf32 / elf64 code in Multiboot loader. This will
39811 prevent it from getting out of sync again.
39812
39813 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39814 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39815 grub_multiboot_load_elf64): Move from here ...
39816 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39817 grub_multiboot_load_elf): ... to here (new file).
39818
51cd3dfc 398192009-02-27 Robert Millan <rmh@aybabtu.com>
39820
39821 * util/grub.d/10_linux.in: Rename "single-user mode" to
39822 "recovery mode".
39823
6e8c9c3a 398242009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39825
39826 Don't leak in SCSI code.
39827 * disk/scsi.c (grub_scsi_close): free `scsi'.
39828
4b6bf4f9 398292009-02-27 Robert Millan <rmh@aybabtu.com>
39830
39831 * loader/i386/pc/multiboot.c: Move from here ...
39832 * loader/i386/multiboot.c: ... to here. Update all users.
39833
b9413424 398342009-02-27 Robert Millan <rmh@aybabtu.com>
39835
39836 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39837 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39838
50fb7002 398392009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39840
39841 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39842 b-tree.
39843
8cc50345 398442009-02-27 Robert Millan <rmh@aybabtu.com>
39845
39846 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39847 `0x' qualifier as 0 when base is specified as parameter).
39848
6e09b8b7 398492009-02-24 Bean <bean123ch@gmail.com>
39850
39851 * configure.ac: Check for -mcmodel=large in x86_64 target.
39852
39853 * include/grub/efi/api.h (efi_call_10): New macro.
39854 (efi_wrap_10): New function.
39855
39856 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39857 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39858 (GRUB_PE32_REL_BASED_LOW): Likewise.
39859 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39860 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39861 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39862 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39863 (GRUB_PE32_REL_BASED_REL): Likewise.
39864 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39865 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39866 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39867
39868 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39869 issue.
39870
39871 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39872 (efi_wrap_10): New function.
39873
39874 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39875
39876 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39877 MB/MBP model (NV chipset).
39878 (devdata_devs): Add devpath_5 to the list.
39879
39880 * load/i386/efi/linux.c (video_base): Remove variable.
39881 (RGB_MASK): New macro.
39882 (RGB_MAGIC): Likewise.
39883 (LINE_MIN): Likewise.
39884 (LINE_MAX): Likewise.
39885 (FBTEST_STEP): Likewise.
39886 (FBTEST_COUNT): Likewise.
39887 (fb_list): New variable.
39888 (grub_find_video_card): Remove function.
39889 (find_framebuf): New function.
39890 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39891 line length.
39892
39893 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39894 problem for x86_64.
39895
74b21bee 398962009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39897
39898 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39899
39900 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39901 coding tool name.
39902
a455f472 399032009-02-22 Robert Millan <rmh@aybabtu.com>
39904
39905 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39906 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39907 in our relocation, instead of using it directly from heap. Also
39908 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39909
6374daf3 399102009-02-21 Robert Millan <rmh@aybabtu.com>
39911
39912 Implement USB keyboard support (based on patch by Marco Gerards)
39913
39914 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39915 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39916 (usb_keyboard_mod_LDFLAGS): New variables.
39917
39918 * term/usb_keyboard.c: New file.
39919
8fa4ea70 399202009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39921
39922 Corrected wrong declaration
39923
39924 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39925
353976ac 399262009-02-14 Christian Franke <franke@computer.org>
39927
39928 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39929 (grub_lspci_iter): Print class code and programming interface byte.
39930
6aa1169b 399312009-02-14 Christian Franke <franke@computer.org>
39932
39933 * gendistlist.sh: Ignore `.svn' directories.
39934
265372ca 399352009-02-14 Felix Zielcke <fzielcke@z-51.de>
39936
39937 * fs/fat.c: Add 2009 to Copyright line.
39938
9ff516f3 399392009-02-14 Christian Franke <franke@computer.org>
39940
39941 * commands/hdparm.c: New file. Provides `hdparm' command
39942 which sends ATA commands via grub_disk_ata_pass_through ().
39943
39944 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39945
39946 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39947 and <grub/cpu/io.h> to include/grub/ata.h.
39948 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39949 (GRUB_CDROM_SECTOR_SIZE): Remove.
39950 (GRUB_ATA_*): Move to include/grub/ata.h.
39951 (GRUB_ATAPI_*): Likewise.
39952 (enum grub_ata_commands): Likewise.
39953 (enum grub_ata_timeout_milliseconds): Likewise.
39954 (struct grub_ata_device): Likewise.
39955 (grub_ata_regset): Likewise.
39956 (grub_ata_regget): Likewise.
39957 (grub_ata_regset2): Likewise.
39958 (grub_ata_regget2): Likewise.
39959 (grub_ata_check_ready): Likewise.
39960 (grub_ata_wait_not_busy): Remove static, exported in
39961 include/grub/ata.h.
39962 (grub_ata_wait_drq): Likewise.
39963 (grub_ata_pio_read): Likewise.
39964
39965 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39966 function for hdparm.mod.
39967
39968 * include/grub/ata.h: New file, contains declarations from
39969 disk/ata.c.
39970 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39971
39972 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39973 (grub_disk_ata_pass_through): New exported variable.
39974
39975 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39976
772e23da 399772009-02-13 Colin D Bennett <colin@gibibit.com>
39978
39979 Support multiple fallback entries, and provide an API to support
39980 executing default+fallback menu entries. Renamed the `terminal' menu
39981 viewer to `text'.
39982
39983 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39984 variable declaration.
39985 (grub_menu_execute_callback): New structure declaration.
39986 (grub_menu_execute_callback_t): New typedef.
39987 (grub_menu_execute_with_fallback): New function declaration.
39988 (grub_menu_get_entry): Likewise.
39989 (grub_menu_get_timeout): Likewise.
39990 (grub_menu_set_timeout): Likewise.
39991
39992 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39993
39994 * normal/menu.c (grub_wait_after_message): Moved to
39995 `normal/menu_text.c'.
39996 (draw_border): Likewise.
39997 (print_message): Likewise.
39998 (print_entry): Likewise.
39999 (print_entries): Likewise.
40000 (grub_menu_init_page): Likewise.
40001 (get_entry_number): Likewise.
40002 (print_timeout): Likewise.
40003 (run_menu): Likewise.
40004 (grub_menu_execute_entry): Likewise.
40005 (show_text_menu): Likewise.
40006 (get_and_remove_first_entry_number): New function.
40007 (grub_menu_execute_with_fallback): Likewise.
40008 (get_entry): Renamed to ...
40009 (grub_menu_get_entry): .. this and made it global.
40010 (get_timeout): Renamed to ...
40011 (grub_menu_get_timeout): ... this and made it global.
40012 (set_timeout): Renamed to ...
40013 (grub_menu_set_timeout): ... this and made it global.
40014 (grub_normal_terminal_menu_viewer): Renamed to ...
40015 (grub_normal_text_menu_viewer): ... this.
40016
40017 * normal/menu_text.c: New file. Extracted text-menu-specific code
40018 from normal/menu.c.
40019
40020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40021 (normal_mod_SOURCES): Likewise.
40022
40023 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40024 (normal_mod_SOURCES): Likewise.
40025
40026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40027 (normal_mod_SOURCES): Likewise.
40028
40029 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40030 (normal_mod_SOURCES): Likewise.
40031
40032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40033 (normal_mod_SOURCES): Likewise.
40034
40035 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40036 (normal_mod_SOURCES): Likewise.
40037
40038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40039 (normal_mod_SOURCES): Likewise.
40040
16ac430e 400412009-02-11 Robert Millan <rmh@aybabtu.com>
40042
40043 * util/grub.d/00_header.in: Update old reference to `font' command.
40044
06ff20fc 400452009-02-10 Felix Zielcke <fzielcke@z-51.de>
40046
40047 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40048
40049 Based on patch from Javier Martín.
40050
96da9407 400512009-02-09 Felix Zielcke <fzielcke@z-51.de>
40052
40053 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40054 to avoid false positives with FAT.
96da9407 40055 (grub_fstest_SOURCES): Likewise.
40056 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40057 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40059 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40062
6dca6fe4 400632009-02-09 Felix Zielcke <fzielcke@z-51.de>
40064
06ff20fc 40065 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40066 bpb.version_specific.fat12_or_fat16.fstype and
40067 bpb.version_specific.fat32.fstype.
40068
2550c62f 400692009-02-08 Robert Millan <rmh@aybabtu.com>
40070
be110b30 40071 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40072
56978920 400732009-02-08 Robert Millan <rmh@aybabtu.com>
40074
40075 * Makefile.in (host_os, host_cpu): New variables.
40076 (target_os): Remove. Update all users.
40077
d64399b5 400782009-02-08 Marco Gerards <marco@gnu.org>
40079
40080 * Makefile.in (enable_grub_emu_usb): New variable.
40081 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40082 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40083 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40084 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40085 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40086 `usbtest.mod' and `usbms.mod'.
40087 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40088 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40089 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40090 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40091 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40092 variables.
40093
40094 * disk/usbms.c: New file.
40095
40096 * include/grub/usb.h: Likewise.
40097
40098 * include/grub/usbtrans.h: Likewise.
40099
40100 * include/grub/usbdesc.h: Likewise.
40101
40102 * bus/usb/usbtrans.c: Likewise.
40103
40104 * bus/usb/ohci.c: Likewise.
40105
40106 * bus/usb/uhci.c: Likewise.
40107
40108 * bus/usb/usbhub.c: Likewise.
40109
40110 * bus/usb/usb.c: Likewise.
40111
40112 * commands/usbtest.c: Likewise.
40113
40114 * util/usb.c: Likewise.
50fb7002 40115
d64399b5 40116 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40117
40118 * configure.ac: Test for libusb presence.
50fb7002 40119
d64399b5 40120 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40121
2b40d6bb 401222009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40123
40124 * kern/mm.c: Add more comments.
40125
73a4ce81 401262009-02-08 Robert Millan <rmh@aybabtu.com>
40127
40128 Patch from Javier Martín.
40129 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40130 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40131
f821ce59 401322009-02-08 Robert Millan <rmh@aybabtu.com>
40133
40134 * fs/cpio.c: Split tar functionality to ...
40135 * fs/tar.c: ... here (new file). Update all users.
40136
aebfc4b0 401372009-02-07 Robert Millan <rmh@aybabtu.com>
40138
40139 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40140 backward-incompatible features.
40141
40142 Based on patch from Javier Martín, with some adjustments.
40143
50fb7002 401442009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40145
40146 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40147
0bb5115e 401482009-02-07 Robert Millan <rmh@aybabtu.com>
40149
40150 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40151 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40152 after the RAID stuff.
40153
38a0f8e7 401542009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40155
50fb7002 40156 Fixes problem when running vbetest command as reported by
38a0f8e7 40157 Vladimir Serbinenko <phcoder@gmail.com>.
40158
40159 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40160
3143cc1c 401612009-02-04 Felix Zielcke <fzielcke@z-51.de>
40162
40163 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40164 /dev/md/NpN style mdraid devices.
40165
9cba6fce 401662009-02-03 Felix Zielcke <fzielcke@z-51.de>
40167
40168 * util/unifont2pff.rb: Remove.
40169
e507a2c1 401702009-02-03 Felix Zielcke <fzielcke@z-51.de>
40171
40172 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40173 `#'.
40174
d2c2b4cd 401752009-02-03 Felix Zielcke <fzielcke@z-51.de>
40176
40177 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40178 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40179 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40182 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40183 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40184
b4315fb0 401852009-02-02 Christian Franke <franke@computer.org>
40186
40187 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40188
de3aa260 401892009-02-01 Felix Zielcke <fzielcke@z-51.de>
40190
7c3ff286 40191 * INSTALL: Note that we now require at least autoconf 2.59 and
40192 that LZO is optional.
de3aa260 40193
825a182b 401942009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40195
40196 Base on patch on bug #24154 created by Tomas Tintera
40197 <trosos@seznam.cz>.
40198
40199 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40200
a69ef770 402012009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40202
7c3ff286 40203 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40204 <bero@arklinux.org>.
40205
40206 * normal/parser.y (script_init): Add missing semicolon.
40207
6fa42fa6 402082009-01-31 Colin D Bennett <colin@gibibit.com>
40209
7c3ff286 40210 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40211 (free_menu_entry_classes): Added.
40212 (grub_normal_menu_addentry): Added class property handling.
40213 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40214 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40215
40216 * normal/menu_viewer.c: New file.
40217
40218 * normal/menu.c (run_menu_entry): Renamed to ...
40219 (grub_menu_execute_entry): ... this and made it as global.
40220 (grub_menu_run): Renamed to ...
40221 (show_text_menu): ... this and made it local.
40222 (show_text_menu): Adapt to new function names.
40223 (grub_normal_terminal_menu_viewer): New global variable.
40224
40225 * include/grub/menu.h: New file.
40226
40227 * include/grub/menu_viewer.h: New file.
40228
40229 * include/grub/normal.h: Added include to grub/menu.h.
40230 (grub_menu_entry): Moved to include/grub/menu.h.
40231 (grub_menu_entry_t): Likewise.
40232 (grub_menu): Likewise.
40233 (grub_menu_t): Likewise.
40234 (grub_normal_terminal_menu_viewer): Added.
40235 (grub_menu_execute_entry): Likewise.
40236 (grub_menu_run): Removed.
40237
40238 * DISTLIST: Added include/grub/menu.h.
40239 Added include/grub/menu_viewer.h.
40240 Added normal/menu_viewer.c.
40241
402422009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40243
40244 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40245 arglist for menutitle arguments.
40246
40247 * normal/main.c (grub_normal_menu_addentry): Likewise.
40248
40249 * normal/parser.y (menuentry): Likewise.
40250
40251 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40252
40253 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40254 (grub_script_create_cmdmenu): Likewise.
40255
40256 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40257
40258 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40259 changes.
40260
40261 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40262
40263 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40264
40265 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40266
40267 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40268
40269 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40270
40271 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40272
56192c23 402732009-01-30 Christian Franke <franke@computer.org>
40274
40275 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40276 in option help text.
40277
d72521b3 402782009-01-27 Pavel Roskin <proski@gnu.org>
40279
40280 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40281
994b5e84 402822009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40283
40284 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40285
40286 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40287
40288 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40289 unregister function.
40290
6a7eab2c 402912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40292
40293 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40294
40295 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40296
40297 * util/grub-mkfont.c (usage): Fix typo.
40298
40299 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40300
1806b56e 403012009-01-26 Daniel Mierswa <impulze@impulze.org>
40302
3fb18f09 40303 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40304
336e1fb9 40305 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40306
1806b56e 40307 * kern/misc.c (grub_strcasecmp): New function.
40308 (grub_strcasecmp): Use grub_size_t instead of int for length.
40309 Fix return value.
40310 * include/grub/misc.h: Update function prototypes.
40311
580b2a0f 403122009-01-26 Robert Millan <rmh@aybabtu.com>
40313
40314 * configure.ac: Fix cross-compilation check.
ef257b36 40315
d31c24f1 403162009-01-22 Christian Franke <franke@computer.org>
40317
40318 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40319 (precision) digit string. Allow `.format2' without `format1' (width).
40320 Limit input chars for `%s' output to `format2' if specified. This is
40321 compatible with standard printf ().
40322
3138b44c 403232009-01-22 Christian Franke <franke@computer.org>
40324
40325 * disk/ata.c (grub_ata_wait_status): Replace by ...
40326 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40327 other status bits may be invalid while BSY is asserted.
40328 (grub_ata_check_ready): New function.
40329 (grub_ata_cmd): Removed.
40330 (grub_ata_wait_drq): New function.
40331 (grub_ata_strncpy): Remove inline.
40332 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40333 and error check now done by grub_ata_wait_drq ().
40334 (grub_ata_pio_write): Likewise.
40335 (grub_atapi_identify): Set DEV before check for !BSY. Use
40336 grub_ata_wait_drq () to wait for data.
40337 (grub_ata_device_initialize): Add status register check to
40338 detect missing SATA slave devices. Add debug messages.
40339 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40340 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40341 transfer loop by grub_ata_pio_write ().
40342 (grub_ata_identify): Set DEV before check for !BSY. Use
40343 grub_ata_wait_drq () to wait for data.
ef257b36 40344 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40345 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40346 read/write in one loop. Fix invalid command on write. Fix incomplete
40347 command on (size % batch) == 0. Add missing error check after write of
40348 last block. Add debug messages.
40349 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40350
59a64ef6 403512009-01-19 Christian Franke <franke@computer.org>
40352
40353 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40354 (GRUB_ATAPI_IREASON_*): Likewise.
40355 (grub_ata_pio_write): Fix timeout error return.
40356 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40357 (grub_atapi_wait_drq): New function.
40358 (grub_atapi_packet): New parameter `size'.
40359 Use grub_atapi_wait_drq () and direct write instead of
40360 grub_ata_pio_write ().
40361 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40362 reads the number of bytes requested by the device for each DRQ
40363 assertion.
40364 (grub_atapi_write): Remove old implementation, return not
40365 implemented instead.
40366
1cfe20b3 403672009-01-19 Christian Franke <franke@computer.org>
40368
40369 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40370 of 512 to calculate data size.
40371 (grub_scsi_read12): Likewise.
40372 (grub_scsi_write10): Likewise.
40373 (grub_scsi_write12): Likewise.
40374 (grub_scsi_read): Adjust size according to blocksize.
40375 Add checks for invalid blocksize and unaligned transfer.
40376
bee5fe5d 403772009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40378
40379 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40380
ef257b36 40381 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40382 width glyphs.
40383
3e643f8c 403842009-01-19 Robert Millan <rmh@aybabtu.com>
40385
40386 * config.guess: Update to latest version from config git.
40387 * config.sub: Likewise.
40388
4fa80998 403892009-01-17 Felix Zielcke <fzielcke@z-51.de>
40390
40391 * Makefile.in: Change font compilation to use new grub-mkfont instead
40392 of java version.
40393
40394 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40395 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40396 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40397 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40398 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40399 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40400 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40401 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40402 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40403
7086085b 404042009-01-16 Christian Franke <franke@computer.org>
40405
40406 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40407 (enum grub_ata_timeout_milliseconds): New enum.
40408 (grub_ata_wait_status): Add parameter milliseconds.
40409 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40410 recovery from timed-out commands.
40411 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40412 return grub_errno instead of REG_ERROR.
40413 (grub_ata_pio_write): Add parameter milliseconds.
40414 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40415 Pass milliseconds to grub_ata_wait_status () and
40416 grub_ata_pio_read ().
40417 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40418 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40419 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40420 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40421 It is not suitable for device detection, because DEV bit is ignored,
40422 the command may run too long, and not all devices set the signature
40423 properly.
40424 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40425 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40426 Fix device selection, DEV bit must be set first to address the registers
40427 of the correct device.
40428 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40429 grub_ata_pio_read/write ().
40430 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40431 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40432
4a412913 404332009-01-13 Carles Pina i Estany <carles@pina.cat>
40434
40435 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40436
7795c55e 404372009-01-13 Bean <bean123ch@gmail.com>
d913988c 40438
40439 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40440
7795c55e 404412009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40442
40443 * Makefile.in: (enable_grub_mkfont): New variable.
40444 (freetype_cflags): Likewise.
40445 (freetype_libs): Likewise.
40446
40447 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40448 (grub_mkfont_SOURCES): New variable.
40449 (grub_mkfont_CFLAGS): Likewise.
40450 (grub_mkfont_LDFLAGS): Likewise.
40451
40452 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40453 library if `--enable-grub-mkfont' is requested.
40454 (enable_grub_mkfont): New variable.
40455 (freetype_cflags): Likewise.
40456 (freetype_libs): Likewise.
40457
40458 * util/grub-mkfont.c: New file.
40459
093af1fe 404602009-01-12 Christian Franke <franke@computer.org>
40461
40462 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40463 mode check. Fix setting of compat_use[].
40464
f36cc108 404652009-01-10 Robert Millan <rmh@aybabtu.com>
40466
40467 Update a few copyright years which we forgot to do in 2008 (only for
40468 files whose changes made in 2008 were copyright-significant)
40469
40470 * Makefile.in: Add 2008 to Copyright line.
40471 * disk/ieee1275/ofdisk.c: Likewise.
40472 * disk/efi/efidisk.c: Likewise.
40473 * kern/dl.c: Likewise.
40474 * kern/sparc64/ieee1275/init.c: Likewise.
40475 * kern/mm.c: Likewise.
40476 * kern/efi/mm.c: Likewise.
40477 * boot/i386/pc/boot.S: Likewise.
40478 * genfslist.sh: Likewise.
40479 * fs/iso9660.c: Likewise.
40480 * fs/hfs.c: Likewise.
40481 * fs/jfs.c: Likewise.
40482 * fs/minix.c: Likewise.
40483 * fs/ufs.c: Likewise.
40484 * gensymlist.sh.in: Likewise.
40485 * genkernsyms.sh.in: Likewise.
40486 * include/grub/misc.h: Likewise.
40487 * include/grub/types.h: Likewise.
40488 * include/grub/symbol.h: Likewise.
40489 * include/grub/elf.h: Likewise.
40490 * include/grub/kernel.h: Likewise.
40491 * include/grub/disk.h: Likewise.
40492 * include/grub/dl.h: Likewise.
40493 * include/grub/i386/linux.h: Likewise.
40494 * include/grub/i386/pc/biosdisk.h: Likewise.
40495 * include/grub/efi/api.h: Likewise.
40496 * include/grub/efi/pe32.h: Likewise.
40497 * include/grub/util/misc.h: Likewise.
40498 * normal/execute.c: Likewise.
40499 * normal/arg.c: Likewise.
40500 * normal/completion.c: Likewise.
40501 * normal/lexer.c: Likewise.
40502 * normal/parser.y: Likewise.
40503 * normal/misc.c: Likewise.
40504 * commands/i386/pc/vbeinfo.c: Likewise.
40505 * commands/hexdump.c: Likewise.
40506 * commands/terminal.c: Likewise.
40507 * commands/ls.c: Likewise.
40508 * commands/help.c: Likewise.
40509 * partmap/pc.c: Likewise.
40510 * loader/efi/chainloader.c: Likewise.
40511 * loader/multiboot_loader.c: Likewise.
40512 * loader/i386/pc/multiboot2.c: Likewise.
40513 * term/efi/console.c: Likewise.
40514 * term/i386/pc/serial.c: Likewise.
40515 * util/lvm.c: Likewise.
40516 * util/console.c: Likewise.
40517 * util/i386/efi/grub-mkimage.c: Likewise.
40518 * util/raid.c: Likewise.
40519
7f02114b 405202009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40521
40522 * commands/videotest.c: Removed include to grub/machine/memory.h.
40523
40524 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40525 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40526 (video_mod_SOURCES): Removed.
40527 (video_mod_CFLAGS): Likewise.
40528 (video_mod_LDFLAGS): Likewise.
40529 (gfxterm_mod_SOURCES): Likewise.
40530 (gfxterm_mod_CFLAGS): Likewise.
40531 (gfxterm_mod_LDFLAGS): Likewise.
40532 (videotest_mod_SOURCES): Likewise.
40533 (videotest_mod_CFLAGS): Likewise.
40534 (videotest_mod_LDFLAGS): Likewise.
40535 (bitmap_mod_SOURCES): Likewise.
40536 (bitmap_mod_CFLAGS): Likewise.
40537 (bitmap_mod_LDFLAGS): Likewise.
40538 (tga_mod_SOURCES): Likewise.
40539 (tga_mod_CFLAGS): Likewise.
40540 (tga_mod_LDFLAGS): Likewise.
40541 (jpeg_mod_SOURCES): Likewise.
40542 (jpeg_mod_CFLAGS): Likewise.
40543 (jpeg_mod_LDFLAGS): Likewise.
40544 (png_mod_SOURCES): Likewise.
40545 (png_mod_CFLAGS): Likewise.
40546 (png_mod_LDFLAGS): Likewise.
40547
40548 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40549 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40550 (video_mod_SOURCES): Added.
40551 (video_mod_CFLAGS): Likewise.
40552 (video_mod_LDFLAGS): Likewise.
40553 (videotest_mod_SOURCES): Likewise.
40554 (videotest_mod_CFLAGS): Likewise.
40555 (videotest_mod_LDFLAGS): Likewise.
40556 (bitmap_mod_SOURCES): Likewise.
40557 (bitmap_mod_CFLAGS): Likewise.
40558 (bitmap_mod_LDFLAGS): Likewise.
40559 (tga_mod_SOURCES): Likewise.
40560 (tga_mod_CFLAGS): Likewise.
40561 (tga_mod_LDFLAGS): Likewise.
40562 (jpeg_mod_SOURCES): Likewise.
40563 (jpeg_mod_CFLAGS): Likewise.
40564 (jpeg_mod_LDFLAGS): Likewise.
40565 (png_mod_SOURCES): Likewise.
40566 (png_mod_CFLAGS): Likewise.
40567 (png_mod_LDFLAGS): Likewise.
40568 (gfxterm_mod_SOURCES): Likewise.
40569 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40570 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40571
40572 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40573 grub/machine/console.h.
40574
644fff97 405752009-01-04 Jerone Young <jerone@gmail.com>
40576
40577 Make on screen instructions clearer
40578
40579 Based on patch created by Jidanni <jidanni@jidanni.org>
40580
40581 * normal/menu.c: print clearer instructions on the screen
40582
1e901a75 405832009-01-02 Colin D Bennett <colin@gibibit.com>
40584
40585 New font engine.
34c44600 40586
1e901a75 40587 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40588 build system and fixed gfxterm.c to work with different sized fonts.
40589
40590 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40591
1e901a75 40592 * configure: Re-generated.
34c44600 40593
1e901a75 40594 * DISTLIST: Removed font/manager.c.
40595 Added font/font.c.
40596 Added font/font_cmd.c.
34c44600 40597
1e901a75 40598 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40599 compilation.
34c44600 40600
1e901a75 40601 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40602
40603 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40604
40605 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40606
1e901a75 40607 * normal/menu.c: Likewise.
34c44600 40608
1e901a75 40609 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40610 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40611
1e901a75 40612 * include/grub/font.h: Replaced with new file.
34c44600 40613
1e901a75 40614 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40615 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40616 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40617 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40618 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40619 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40620 fg_red, fg_green, fg_blue, fg_alpha.
40621 (grub_video_adapter): Removed blit_glyph.
34c44600 40622 (grub_video_blit_glyph): Removed.
40623
1e901a75 40624 * font/manager.c: Removed file.
34c44600 40625
40626 * font/font.c: New file.
40627
1e901a75 40628 * font/font_cmd.c: Likewise.
34c44600 40629
1e901a75 40630 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40631
1e901a75 40632 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40633 (grub_video_vbe_map_rgba): Likewise.
40634 (grub_video_vbe_unmap_color_int): Likewise.
40635 (grub_video_vbe_blit_glyph): Removed.
40636 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40637
1e901a75 40638 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40639 (get_pixel): Likewise.
34c44600 40640 (set_pixel): Likewise.
40641
1e901a75 40642 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40643
1e901a75 40644 * term/gfxterm.c: Adapted to new font engine.
34c44600 40645
1e901a75 40646 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40647
1e901a75 40648 * term/i386/pc/vga.c: Likewise.
34c44600 40649
1e901a75 40650 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40651
1e901a75 40652 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40653
1e901a75 40654 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40655
1e901a75 40656 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40657
1e901a75 40658 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40659
1e901a75 40660 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40661
1e901a75 40662 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40663
1e901a75 40664 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40665
1e901a75 40666 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40667
40668 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40669
1e901a75 40670 * util/grub-mkconfig_lib.in: Changed font extension.
40671
278922e8 406722008-12-28 Felix Zielcke <fzielcke@z-51.de>
40673
40674 * util/getroot.c (grub_util_get_grub_dev): Add support for
40675 /dev/md/dNNpNN style partitionable mdraid devices.
40676
3ced05cf 406772008-12-12 Alex Smith <alex@alex-smith.me.uk>
40678
40679 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40680 at a time limit of the PXE TFTP API correctly.
40681 (grub_pxefs_close): Likewise.
40682
7fd0ee30 406832008-11-29 Robert Millan <rmh@aybabtu.com>
40684
34c44600 40685 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40686 grub_ata_device_initialize() calls.
40687
34c44600 406882008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40689
40690 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40691 iteration failed.
40692 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40693
89313780 406942008-11-28 Robert Millan <rmh@aybabtu.com>
40695
40696 Fix build on powerpc-ieee1275. Based on patch created by
40697 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40698 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40699 `kern/ieee1275/mmap.c'.
40700 * include/grub/powerpc/ieee1275/memory.h: New file.
40701
15257703 40702 Provide grub-install on coreboot.
40703 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40704 (grub_install_SOURCES): New variable.
40705 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40706 usable on coreboot.
40707
9fc5388a 407082008-11-25 Felix Zielcke <fzielcke@z-51.de>
40709
40710 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40711 to `grub_term_input_t'.
40712 (grub_term_get_current_output): Change return type to
40713 `grub_term_output_t'.
40714
bc3a2f31 407152008-11-22 Robert Millan <rmh@aybabtu.com>
40716
34c44600 40717 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40718 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40719 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40720 grub_vga_text_cls().
40721
80fc88f2 40722 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40723 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40724
cbf36fd3 40725 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40726 to 0x200000 (avoids trouble with some OFW implementations, and matches
40727 with the one in Yaboot).
40728 Reported by Manoel Abranches
40729
73e8e268 407302008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40731
40732 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40733 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40734
73e8e268 40735 * util/grub-mkconfig_lib.in (grub_warn): New function.
40736 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40737 warnings, to obtain consistent formatting.
40738 * util/grub.d/00_header.in: Likewise.
40739 * util/update-grub_lib.in: Likewise.
40740
e94045a1 40741 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40742 Move comment text to `#error' stanza.
e94045a1 40743
79d29fd7 40744 Harmonize ieee1275's grub_available_iterate() with the generic
40745 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40746 build problem on i386-ieee1275):
40747 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40748 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40749 parameter `type'. Update all users of this function.
40750 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40751 `kern/ieee1275/mmap.c'.
40752 * kern/ieee1275/init.c
40753 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40754 with ...
40755 (grub_machine_mmap_iterate): ... this.
40756 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40757 return type to `grub_err_t'. Update all implementations of this
40758 function prototype.
40759 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40760 Likewise.
40761
60d6b16e 40762 Add `lsmmap' command (lists firmware-provided memory map):
40763 * commands/lsmmap.c: New file.
40764 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40765 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40766 variables.
40767 * conf/powerpc-ieee1275.rmk: Likewise.
40768 * conf/i386-coreboot.rmk: Likewise.
40769 * conf/i386-ieee1275.rmk: Likewise.
40770
ebaaf49b 407712008-11-19 Robert Millan <rmh@aybabtu.com>
40772
40773 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40774 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40775 constraints to initrd allocation (based on code from
40776 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40777 for Linux to find it.
ebaaf49b 40778
dfab719f 407792008-11-14 Robert Millan <rmh@aybabtu.com>
40780
40781 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40782 order to cope with duplicate slashes.
40783
10fc3eb9 407842008-11-14 Robert Millan <rmh@aybabtu.com>
40785
40786 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40787 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40788 don't want to mess with lower memory, because it is used in the Linux
40789 loader.
40790
40791 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40792 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40793 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40794 is in our heap (probably as a result of it being corrupted during
2f2a3442 40795 decompression). Add #error instance with comment to explain why this
40796 loader isn't currently usable on PC/BIOS.
10fc3eb9 40797
e2e07847 407982008-11-14 Robert Millan <rmh@aybabtu.com>
40799
40800 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40801 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40802
fe8e8d69 408032008-11-12 Robert Millan <rmh@aybabtu.com>
40804
40805 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40806
40807 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40808 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40809 from here ...
40810 * include/grub/i386/pc/memory.h: ... to here.
40811
976b07d0 408122008-11-12 Robert Millan <rmh@aybabtu.com>
40813
40814 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40815 split).
40816
40817 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40818 (grub_console_cur_color, grub_console_real_putchar)
40819 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40820 (grub_console_setcolorstate, grub_console_setcolor)
40821 (grub_console_getcolor): Move from here ...
40822 * include/grub/i386/vga_common.h: ... to here (new file).
40823
40824 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40825 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40826 `<grub/i386/io.h>'.
40827 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40828 `<grub/i386/vga_common.h>'.
40829
76679cd3 408302008-11-12 Robert Millan <rmh@aybabtu.com>
40831
40832 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40833 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40834 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40835 variables.
40836 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40837 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40838
40839 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40840 grub_console_init() with call to grub_vga_text_init().
40841 (grub_machine_fini): Replace call to
40842 grub_console_fini() with call to grub_vga_text_fini() and
40843 grub_at_keyboard_fini().
40844
40845 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40846 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40847 (grub_console_setcolorstate, grub_console_setcolor)
40848 (grub_console_getcolor): New function prototypes.
40849
40850 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40851 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40852 (grub_vga_text_setcursor): Static-ize.
40853 (grub_vga_text_term): New structure.
40854 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40855
40856 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40857 (grub_console_cur_color, grub_console_standard_color)
40858 (grub_console_normal_color, grub_console_highlight_color)
40859 (map_char, grub_console_putchar, grub_console_getcharwidth)
40860 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40861 (grub_console_getcolor): Move from here ...
40862 * term/i386/vga_common.c: ... to here (same function names).
40863
95b841d3 408642008-11-12 Robert Millan <rmh@aybabtu.com>
40865
40866 Use newly-added Multiboot support in coreboot.
40867
40868 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40869 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40870
40871 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40872 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40873 (codestart): Store the MBI in `startup_multiboot_info' when we're
40874 being loaded using Multiboot.
40875
40876 * kern/i386/coreboot/init.c (grub_machine_init): Move
40877 grub_at_keyboard_init() call to beginning of function (useful for
40878 debugging). Call grub_machine_mmap_init() before attempting to use
40879 grub_machine_mmap_iterate().
40880 (grub_lower_mem, grub_upper_mem): Move from here ...
40881 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40882 here (new file).
40883
40884 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40885 function prototype.
40886
761ca975 408872008-11-12 Robert Millan <rmh@aybabtu.com>
40888
40889 Fix a regression introduced by the at_keyboard.mod split. Because
40890 some terminals are default on some platforms and non-default on
40891 others, the first terminal being registered determines which is
40892 going to be default.
40893
40894 * kern/term.c (grub_term_register_input): If this is the first
40895 terminal being registered, set it as the current one.
40896 (grub_term_register_output): Likewise.
40897
40898 * term/efi/console.c (grub_console_init): Do not call
40899 grub_term_set_current_output() or grub_term_set_current_input().
40900 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40901 * term/i386/pc/console.c (grub_console_init): Likewise.
40902 (grub_console_fini): Do not call grub_term_set_current_input()
40903 (but leave grub_term_set_current_output() to restore text mode).
40904
6c529df7 409052008-11-10 Robert Millan <rmh@aybabtu.com>
40906
40907 * util/grub.d/00_header.in: Add backward compatibility check for
40908 versions of terminal.mod that don't understand `terminal_input' or
40909 `terminal_output'.
40910
132e4113 409112008-11-09 Robert Millan <rmh@aybabtu.com>
40912
40913 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40914 `terminal_input' / `terminal_output', not `terminal'.
40915
ac293d50 409162008-11-08 Robert Millan <rmh@aybabtu.com>
40917
40918 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40919 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40920
0025933a 409212008-11-08 Robert Millan <rmh@aybabtu.com>
40922
40923 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40924 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40925 members. Update all users.
40926 * util/console.c (grub_ncurses_term): Split in ...
40927 (grub_ncurses_term_input): ... this, and ...
40928 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40929 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40930
37c86336 409312008-11-08 Robert Millan <rmh@aybabtu.com>
40932
40933 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40934 (PKGDATA): Add $(pkgdata_SRCDIR).
40935 (pkglib_BUILDDIR): New variable.
40936 (pkgdata_SRCDIR): New variable.
40937 (build_env.mk): New target.
40938 (include_DATA): New variable.
40939 (install-local): Install $(include_DATA) files in $(includedir).
40940
b6c15a2d 409412008-11-07 Pavel Roskin <proski@gnu.org>
40942
d99d46f1 40943 * gendistlist.sh: Use C locale for sorting to ensure consistent
40944 output on all systems.
40945
b6c15a2d 40946 * util/grub.d/00_header.in: Remove incorrect space before
40947 "serial".
40948
c32ee8c9 409492008-11-07 Robert Millan <rmh@aybabtu.com>
40950
40951 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40952 per specification.
40953 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40954 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40955 (based on find_multi_boot1_header).
40956 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40957 using find_multi_boot2_header(), and abort if neither Multiboot or
40958 Multiboot headers were found.
40959
651c29b7 409602008-11-07 Robert Millan <rmh@aybabtu.com>
40961
40962 Modularize at_keyboard.mod:
40963
40964 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40965 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40966 (at_keyboard_mod_LDFLAGS): New variables.
40967
40968 Actual terminal split:
40969
40970 * include/grub/term.h (struct grub_term): Split in ...
40971 (struct grub_term_input): ... this, and ...
40972 (struct grub_term_output): ... this. Update all users.
40973 (grub_term_set_current): Split in ...
40974 (grub_term_set_current_input): ... this, and ...
40975 (grub_term_set_current_output): ... this.
40976 (grub_term_get_current): Split in ...
40977 (grub_term_get_current_input): ... this, and ...
40978 (grub_term_get_current_output): ... this.
40979 (grub_term_register): Split in ...
40980 (grub_term_register_input): ... this, and ...
40981 (grub_term_register_output): ... this.
40982 (grub_term_unregister): Split in ...
40983 (grub_term_unregister_input): ... this, and ...
40984 (grub_term_unregister_output): ... this.
40985 (grub_term_iterate): Split in ...
40986 (grub_term_iterate_input): ... this, and ...
40987 (grub_term_iterate_output): ... this.
40988
40989 * kern/term.c (grub_term_list): Split in ...
40990 (grub_term_list_input): ... this, and ...
40991 (grub_term_list_output): ... this. Update all users.
40992 (grub_cur_term): Split in ...
40993 (grub_cur_term_input): ... this, and ...
40994 (grub_cur_term_output): ... this. Update all users.
40995 (grub_term_set_current): Split in ...
40996 (grub_term_set_current_input): ... this, and ...
40997 (grub_term_set_current_output): ... this.
40998 (grub_term_get_current): Split in ...
40999 (grub_term_get_current_input): ... this, and ...
41000 (grub_term_get_current_output): ... this.
41001 (grub_term_register): Split in ...
41002 (grub_term_register_input): ... this, and ...
41003 (grub_term_register_output): ... this.
41004 (grub_term_unregister): Split in ...
41005 (grub_term_unregister_input): ... this, and ...
41006 (grub_term_unregister_output): ... this.
41007 (grub_term_iterate): Split in ...
41008 (grub_term_iterate_input): ... this, and ...
41009 (grub_term_iterate_output): ... this.
41010
41011 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41012 a check for input and one for output (and only attempt to get keys
41013 from user when input works).
41014
41015 * util/grub-probe.c (grub_term_get_current): Split in ...
41016 (grub_term_get_current_input): ... this, and ...
41017 (grub_term_get_current_output): ... this.
41018 * util/grub-fstest.c: Likewise.
41019 * util/i386/pc/grub-setup.c: Likewise.
41020 * util/grub-editenv.c: Likewise.
41021
41022 Portability adjustments:
41023
41024 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41025 `term/i386/pc/at_keyboard.c'.
41026 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41027 grub_keyboard_controller_init() (now handled by terminal .init).
41028 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41029 grub_at_keyboard_init().
41030 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41031 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41032 at_keyboard.mod via input terminal interface).
41033 * include/grub/i386/coreboot/console.h: Convert into a stub for
41034 `<grub/i386/pc/console.h>'.
41035
41036 Migrate full terminals to new API:
41037
41038 * term/efi/console.c (grub_console_term): Split into ...
41039 (grub_console_term_input): ... this, and ...
41040 (grub_console_term_output): ... this. Update all users.
41041 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41042 (grub_ofconsole_init): Split into ...
41043 (grub_ofconsole_init_input): ... this, and ...
41044 (grub_ofconsole_init_output): ... this.
41045 (grub_ofconsole_term): Split into ...
41046 (grub_ofconsole_term_input): ... this, and ...
41047 (grub_ofconsole_term_output): ... this. Update all users.
41048 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41049 (grub_serial_term_input): ... this, and ...
41050 (grub_serial_term_output): ... this. Update all users.
41051 * term/i386/pc/console.c (grub_console_term): Split into ...
41052 (grub_console_term_input): ... this, and ...
41053 (grub_console_term_output): ... this. Update all users.
41054 (grub_console_term_input): Only enable it on PC/BIOS platform.
41055 (grub_console_init): Remove grub_keyboard_controller_init() call.
41056
41057 Migrate input terminals to new API:
41058
41059 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41060 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41061 i386-specific anyway).
41062 (grub_console_checkkey): Rename to ...
41063 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41064 users.
41065 (grub_keyboard_controller_orig): New variable.
41066 (grub_console_getkey): Rename to ...
41067 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41068 users.
41069 (grub_keyboard_controller_init): Static-ize. Save original
41070 controller value so that it can be restored ...
41071 (grub_keyboard_controller_fini): ... here (new function).
41072 (grub_at_keyboard_term): New structure.
41073 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41074 functions.
41075
41076 Migrate output terminals to new API:
41077
41078 * term/i386/pc/vga.c (grub_vga_term): Change type to
41079 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41080 members. Update all users.
41081 * term/gfxterm.c (grub_video_term): Change type to
41082 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41083 members. Update all users.
41084 * include/grub/i386/pc/console.h (grub_console_checkkey)
41085 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41086 etc).
41087
41088 Migrate `terminal' command and userland tools to new API:
41089
41090 * commands/terminal.c (grub_cmd_terminal): Split into ...
41091 (grub_cmd_terminal_input): ... this, and ...
41092 (grub_cmd_terminal_output): ... this.
41093 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41094 `terminal_input' and `terminal_output'.
41095 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41096 `terminal_input' / `terminal_output' API.
41097 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41098 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41099 provided ${GRUB_TERMINAL}, convert it).
41100
96e5d876 411012008-11-04 Robert Millan <rmh@aybabtu.com>
41102
41103 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41104 for FreeBSD.
41105 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41106
556f3775 411072008-11-03 Bean <bean123ch@gmail.com>
41108
41109 * kern/elf.c (grub_elf32_load): Revert to previous code.
41110 (grub_elf64_load): Likewise.
41111
41112 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41113
926b9823 411142008-11-01 Robert Millan <rmh@aybabtu.com>
41115
41116 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41117 (TARGET_CPPFLAGS): Likewise.
41118 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41119
1432e958 411202008-11-01 Carles Pina i Estany <carles@pina.cat>
41121
41122 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41123
dba3f844 411242008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41125
41126 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41127 addition of objects until the code is not going to be able to fail.
41128
dba3f844 411292008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41130
41131 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41132 (add a missing NULL check, and correct them by moving the pointer
41133 operations after the actual check).
41134
7ab28c21 411352008-10-29 Robert Millan <rmh@aybabtu.com>
41136
41137 * util/i386/pc/grub-install.in: Handle empty string as output from
41138 make_system_path_relative_to_its_root().
41139
1b7748eb 411402008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41141
41142 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41143 circular metadata worst case scenario. If the metadata is circular
41144 then copy the wrap in place.
41145 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41146 project lib/format_text/layout.h
41147 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41148
c9618ab2 411492008-10-03 Felix Zielcke <fzielcke@z-51.de>
41150
7a36edca 41151 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41152
bf981c62 411532008-10-03 Felix Zielcke <fzielcke@z-51.de>
41154
41155 * util/update-grub_lib.in: Mention filename in warning message.
41156
6d994591 411572008-09-29 Felix Zielcke <fzielcke@z-51.de>
41158
41159 * NEWS: Update for rename of update-grub to grub-mkconfig.
41160
18ade780 411612008-09-29 Felix Zielcke <fzielcke@z-51.de>
41162
41163 * util/update-grub_lib.in: Copy to ...
41164 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41165 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41166 * util/update-grub.in: Rename to ...
41167 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41168 option. Add `--output' option to allow users to specify the generated
41169 configuration file. Default to stdout.
41170 (update_grub_dir): Rename to ...
41171 (grub_mkconfig_dir): ... this.
41172 (grub_cfg): Default to an empty string.
41173 * conf/common.rmk (update-grub): Rename to ...
41174 (grub-mkconfig): ... this.
41175 (update-grub_lib): Copy to ...
41176 (grub-mkconfig_lib): ... this.
41177 (update-grub_SCRIPTS): Copy to ...
41178 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41179 (update-grub_DATA): Rename to ...
41180 (grub-mkconfig_DATA): ... this.
41181
556ce6ac 411822008-09-28 Robert Millan <rmh@aybabtu.com>
41183
41184 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41185 to `modified'. Add the real `created' field.
41186 (grub_iso9660_uuid): Use `modified' rather than `created' for
41187 constructing the UUID.
41188
411892008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41190
41191 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41192 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41193
92274e85 411942008-09-28 Bean <bean123ch@gmail.com>
41195
41196 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41197 Thanks to Christian Franke for finding this bug.
41198
add6f17a 411992008-09-25 Robert Millan <rmh@aybabtu.com>
41200
41201 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41202 instances of grub_util_get_disk_name() (see previous commit).
41203
d2a367b8 412042008-09-25 Robert Millan <rmh@aybabtu.com>
41205
41206 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41207 `util/i386/get_disk_name.c'.
41208 * conf/i386-efi.rmk: Likewise.
41209 * conf/x86_64-efi.rmk: Likewise.
41210 * conf/i386-coreboot.rmk: Likewise.
41211 * conf/i386-ieee1275.rmk: Likewise.
41212 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41213 `util/ieee1275/get_disk_name.c'.
41214 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41215 * util/ieee1275/get_disk_name.c: Remove file.
41216 * util/i386/get_disk_name.c: Remove file.
41217 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41218 "hd%d" for device.map entries, rather than using
41219 grub_util_get_disk_name().
41220
81a06771 412212008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41222
41223 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41224 warning.
41225 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41226
5a004279 412272008-09-24 Carles Pina i Estany <carles@pina.cat>
41228
41229 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41230 Changed to 0x5100.
41231 (GRUB_TERM_PPAGE): Changed to 0x4900.
41232
397093d3 412332008-09-24 Robert Millan <rmh@aybabtu.com>
41234
41235 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41236 macros (they were i386-pc specific).
41237 * include/grub/sparc64/ieee1275/console.h: Likewise.
41238 * include/grub/efi/console.h: Likewise.
41239
a91b6c7c 412402008-09-22 Bean <bean123ch@gmail.com>
41241
41242 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41243 resident and in attribute list.
41244
41245 * include/grub/ntfs.h (BMP_LEN): Removed.
41246
c40fd116 412472008-09-22 Bean <bean123ch@gmail.com>
41248
81a06771 41249 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41250 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41251
41252 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41253 error occurs, as grub_disk_open will call grub_disk_close, which will
41254 call p->close (scsi).
41255
81a06771 412562008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41257
41258 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41259 (AC_PREREQ): Bumped to 2.59.
41260 (AC_TRY_COMPILE): Replace obsolete macro with ...
41261 (AC_COMPILE_IFELSE): ... this.
41262 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41263 (AC_LINK_IFELSE): ... this.
41264
5dc43410 412652008-09-21 Felix Zielcke <fzielcke@z-51.de>
41266
41267 * autogen.sh: Add a call to `gendistlist.sh'.
41268
9035dce4 412692008-09-19 Christian Franke <franke@computer.org>
41270
41271 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41272 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41273 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41274 Export __enable_execute_stack() to modules.
41275 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41276 New function.
41277
7fd75377 412782008-09-09 Felix Zielcke <fzielcke@z-51.de>
41279
040030b3 41280 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41281 Sort the list.
41282
412832008-09-09 Felix Zielcke <fzielcke@z-51.de>
41284
41285 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41286 #include <grub/util/hostdisk.h>.
41287
89d5ffcf 412882008-09-08 Robert Millan <rmh@aybabtu.com>
41289
41290 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41291 segments when their filesz is zero (grub_file_read() interprets
81a06771 41292 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41293 Use `lowest_segment' rather than 0 for calculating the current
41294 segment load address.
41295
40da438f 412962008-09-08 Robert Millan <rmh@aybabtu.com>
41297
41298 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41299 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41300 clobbered useful information.
41301
ddbf5556 413022008-09-08 Robert Millan <rmh@aybabtu.com>
41303
41304 * include/grub/util/biosdisk.h: Move to ...
41305 * include/grub/util/hostdisk.h: ... here. Update all users.
41306 * util/biosdisk.c: Move to ...
41307 * util/hostdisk.c: ... here. Update all users.
41308
783d0f48 413092008-09-07 Robert Millan <rmh@aybabtu.com>
41310
41311 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41312 variables.
41313 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41314 and length can be stored directly in the `mbi->mmap_addr' and
41315 `mbi->mmap_length' struct fields.
41316
548e2ea5 413172008-09-07 Robert Millan <rmh@aybabtu.com>
41318
41319 * conf/i386.rmk: New file. Provides declaration for building
41320 `cpuid.mod'.
41321 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41322 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41323 variables.
41324 Include `conf/i386.mk'.
41325 * conf/i386-efi.rmk: Likewise.
41326 * conf/x86_64-efi.rmk: Likewise.
41327 * conf/i386-coreboot.rmk: Likewise.
41328 * conf/i386-ieee1275.rmk: Likewise.
41329
0ea85a37 413302008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41331
41332 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41333 Adds optimization support for BGR based modes.
41334
41335 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41336 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41337 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41338 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41339 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41340 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41341 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41342 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41343 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41344 (grub_video_i386_vbeblit_index_index): Likewise.
41345 (grub_video_i386_vbeblit_replace_directN): Added.
41346 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41347 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41348 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41349 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41350 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41351 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41352 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41353 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41354 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41355 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41356 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41357 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41358 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41359
41360 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41361 (grub_video_i386_vbefill_R8G8B8): Likewise.
41362 (grub_video_i386_vbefill_index): Likewise.
41363 (grub_video_i386_vbefill_direct32): Added.
41364 (grub_video_i386_vbefill_direct24): Likewise.
41365 (grub_video_i386_vbefill_direct16): Likewise.
41366 (grub_video_i386_vbefill_direct8): Likewise.
41367
81a06771 41368 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41369 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41370 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41371 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41372 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41373 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41374
0ea85a37 41375 * video/video.c (grub_video_get_blit_format): Updated to use new
41376 blit formats. Added handling for 16 bit color modes.
81a06771 41377
41378 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41379 fillers.
41380 (common_blitter): Updated to use new blitters.
41381
41382 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41383 Removed.
41384 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41385 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41386 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41387 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41388 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41389 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41390 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41391 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41392 (grub_video_i386_vbeblit_index_index): Likewise.
41393 (grub_video_i386_vbeblit_replace_directN): Added.
41394 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41395 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41396 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41397 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41398 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41399 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41400 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41401 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41402 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41403 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41404 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41405 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41406 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41407
0ea85a37 41408 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41409 (grub_video_i386_vbefill_R8G8B8): Likewise.
41410 (grub_video_i386_vbefill_index): Likewise.
41411 (grub_video_i386_vbefill_direct32): Added.
41412 (grub_video_i386_vbefill_direct24): Likewise.
41413 (grub_video_i386_vbefill_direct16): Likewise.
41414 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41415
0ea85a37 41416 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41417 types.
81a06771 41418
0ea85a37 41419 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41420 types.
81a06771 41421
0ea85a37 41422 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41423 blitter types.
81a06771 41424
0ea85a37 41425 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41426 types.
41427
e8a83df6 414282008-09-06 Felix Zielcke <fzielcke@z-51.de>
41429
41430 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41431 RAID level 1.
41432
6bcd8ee5 414332008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41434
6bcd8ee5 41435 * fs/iso9660.c (grub_iso9660_date): New structure.
41436 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41437 (grub_iso9660_uuid): New function.
c375ae58 41438
59261157 414392008-09-05 Bean <bean123ch@gmail.com>
41440
41441 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41442
41443 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41444 insensitive bit for names in Win32 and Win32 & DOS namespace.
41445
41446 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41447
41448 * include/grub/types.h (LONG_MAX): Likewise.
41449
58b6645a 414502008-09-04 Felix Zielcke <fzielcke@z-51.de>
41451
4ee55921 41452 * util/getroot.c: Include <config.h>.
41453 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41454 add support for /dev/md/N devices and handle LVM double dash escaping.
41455
414562008-09-04 Felix Zielcke <fzielcke@z-51.de>
41457
41458 * config.guess: Update to latest version from config git.
41459 * config.sub: Likewise.
58b6645a 41460
9124f65d 414612008-09-03 Robert Millan <rmh@aybabtu.com>
41462
41463 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41464 `disk->total_sectors'.
41465
81a06771 414662008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41467
41468 * include/grub/normal.h: Fixed incorrect comment for
41469 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41470
81a06771 414712008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41472
41473 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41474 values with defines.
41475
41476 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41477 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41478 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41479 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41480 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41481 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41482 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41483 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41484 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41485 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41486 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41487 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41488 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41489 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41490 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41491 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41492 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41493 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41494 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41495
93d5cbf8 414962008-08-31 Robert Millan <rmh@aybabtu.com>
41497
41498 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41499 declaration.
41500 (grub_multiboot): Fix a few warnings.
41501
21751d50 415022008-08-31 Robert Millan <rmh@aybabtu.com>
41503
41504 * loader/i386/pc/multiboot.c: Update comment not to say that
41505 boot_device support is unimplemented.
41506
e27a75c5 415072008-08-31 Robert Millan <rmh@aybabtu.com>
41508
41509 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41510 or memory map support are unimplemented.
41511
81a06771 415122008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41513
41514 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41515
81a06771 415162008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41517
41518 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41519 total video memory in 'vbeinfo' output; show color format details for
41520 each video mode.
41521
7c5d8d95 415222008-08-30 Pavel Roskin <proski@gnu.org>
41523
41524 * util/genmoddep.c: Remove for real this time.
41525 * DISTLIST: Remove util/genmoddep.c.
41526
4cebd25a 415272008-08-30 Robert Millan <rmh@aybabtu.com>
41528
41529 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41530 as required by Multiboot spec (it was already 4-byte aligned, but
41531 only by chance).
41532
b497a269 415332008-08-29 Pavel Roskin <proski@gnu.org>
41534
e3925185 41535 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41536 * kern/powerpc/ieee1275/startup.S: ... this.
41537 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41538 * DISTLIST: Likewise.
41539
b497a269 41540 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41541 grub/cpu/kernel.h. Add start label for consistency with other
41542 platforms. Add grub_prefix immediately after start. Add jump
41543 to the code after grub_prefix.
41544 * include/grub/powerpc/kernel.h: Provide valid values for
41545 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41546
6e5a42fe 415472008-08-29 Bean <bean123ch@gmail.com>
41548
41549 * configure.ac: Change host_os to cygwin for mingw.
41550 (asprintf): New check for function.
41551
41552 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41553 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41554
41555 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41556 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41557 sync, sleep and grub_util_get_disk_size for mingw.
41558
41559 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41560 to get size in mingw.
41561 (open_device): Use flag O_BINARY if it's defined.
41562 (find_root_device): Add dummy code for mingw.
41563
41564 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41565 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41566 (get_scsi_disk_name): Return 0 for mingw.
41567
41568 * util/hostfs.c: #include <grub/util/misc.h>.
41569 (grub_hostfs_open): Use "rb" flag to open file, use
41570 grub_util_get_disk_size to get disk size for mingw.
41571
41572 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41573 (asprintf): New function if HAVE_ASPRINTF is not set.
41574 (sync): New function for mingw.
41575 (sleep): Likewise.
41576 (grub_util_get_disk_size): Likewise.
41577
ab3f2673 415782008-08-28 Pavel Roskin <proski@gnu.org>
41579
41580 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41581 kern/time.c.
41582
1c282483 415832008-08-28 Robert Millan <rmh@aybabtu.com>
41584
41585 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41586
678e849c 415872008-08-28 Robert Millan <rmh@aybabtu.com>
41588
41589 Change find_grub_drive() syntax so it doesn't prevent it from
41590 detecting NULL names as errors.
41591
41592 * util/biosdisk.c (find_grub_drive): Move free slot search code
41593 from here ...
41594 (find_free_slot): ... to here.
41595 (read_device_map): Use find_free_slot() to search for free slots.
41596
965c75ca 415972008-08-27 Marco Gerards <marco@gnu.org>
41598
41599 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41600 (scsi_mod_SOURCES): New variable.
41601 (scsi_mod_CFLAGS): Likewise
41602 (scsi_mod_LDFLAGS): Likewise.
41603
41604 * disk/scsi.c: New file.
41605
41606 * include/grub/scsi.h: Likewise.
41607
41608 * include/grub/scsicmd.h: Likewise.
41609
41610 * disk/ata.c: Include <grub/scsi.h>.
41611 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41612 instead.
41613 (grub_ata_iterate): Skip ATAPI devices.
41614 (grub_ata_open): Only handle ATAPI devices.
41615 (struct grub_atapi_read): Removed.
41616 (grub_atapi_readsector): Likewise.
41617 (grub_ata_read): No longer handle ATAPI devices.
41618 (grub_ata_write): Likewise.
41619 (grub_atapi_iterate): New function.
41620 (grub_atapi_read): Likewise.
41621 (grub_atapi_write): Likewise.
41622 (grub_atapi_open): Likewise.
41623 (grub_atapi_close): Likewise.
41624 (grub_atapi_dev): New variable.
41625 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41626 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41627
41628 * include/grub/disk.h (enum grub_disk_dev_id): Add
41629 `GRUB_DISK_DEVICE_SCSI_ID'.
41630
c07ae501 416312008-08-26 Robert Millan <rmh@aybabtu.com>
41632
41633 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41634 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41635 descriptive.
41636
5ed20adc 416372008-08-23 Bean <bean123ch@gmail.com>
41638
41639 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41640 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41641 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41642 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41643 dm_nv.mod.
41644 (raid5rec_mod_SOURCES): New macro.
41645 (raid5rec_mod_CFLAGS): Likewise.
41646 (raid5rec_mod_LDFLAGS): Likewise.
41647 (raid6rec_mod_SOURCES): Likewise.
41648 (raid6rec_mod_CFLAGS): Likewise.
41649 (raid6rec_mod_LDFLAGS): Likewise.
41650 (mdraid_mod_SOURCES): Likewise.
41651 (mdraid_mod_CFLAGS): Likewise.
41652 (mdraid_mod_LDFLAGS): Likewise.
41653 (dm_nv_mod_SOURCES): Likewise.
41654 (dm_nv_mod_CFLAGS): Likewise.
41655 (dm_nv_mod_LDFLAGS): Likewise.
41656
41657 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41658 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41659 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41660
41661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41662 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41663
41664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41665
41666 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41667
41668 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41669
41670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41671
41672 * disk/raid5_recover.c: New file.
41673
41674 * disk/raid6_recover.c: Likewise.
41675
41676 * disk/mdraid_linux.c: Likewise.
41677
41678 * disk/dmraid_nvidia.c: Likewise.
41679
41680 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41681 ULONG_MAX.
41682
41683 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41684 calculate the size of raid device.
41685 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41686 different layout of raid5.
41687 (grub_raid_scan_device): Remove code specific to mdraid.
41688 (grub_raid_list): New variable.
41689 (free_array): New function.
41690 (grub_raid_register): Likewise.
41691 (grub_raid_unregister): Likewise.
41692 (grub_raid_rescan): Likewise.
41693 (GRUB_MOD_INIT): Don't iterate device here.
41694 (GRUB_MOD_FINI): Use free_array to release resource.
41695
41696 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41697 (grub_raid5_recover_func_t): New function variable type.
41698 (grub_raid6_recover_func_t): Likewise.
41699 (grub_raid5_recover_func): New variable.
41700 (grub_raid6_recover_func): Likewise.
41701 (grub_raid_register): New function.
41702 (grub_raid_unregister): Likewise.
41703 (grub_raid_rescan): Likewise.
41704 (grub_raid_block_xor): Likewise.
41705
41706 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41707 (CMD_CRC): New macro.
41708 (part): Removed.
41709 (read_file): Handle device as well as file.
41710 (cmd_crc): New function.
41711 (fstest): Handle multiple disks.
41712 (options): Remove part, raw and long, add root and diskcount.
41713 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41714 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41715 add handling for the new options, support multiple disks.
41716
41717 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41718
29c18915 417192008-08-23 Bean <bean123ch@gmail.com>
41720
41721 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41722
41723 * genfslist.sh: Ignore kernel.mod.
41724
41725 * genpartmaplist.sh: Likewise.
41726
8415f261 417272008-08-23 Robert Millan <rmh@aybabtu.com>
41728
41729 * util/getroot.c (find_root_device): Skip anything that starts with
41730 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41731
d5a7dc5b 417322008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41733
d5a7dc5b 41734 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41735 * util/grub.d/00_header.in: Allow the administrator to change default
41736 gfxmode via ${GRUB_GFXMODE}.
41737
380cfbb4 417382008-08-21 Felix Zielcke <fzielcke@z-51.de>
41739
41740 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41741
c9baafe7 417422008-08-21 Robert Millan <rmh@aybabtu.com>
41743
41744 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41745 loader.
41746 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41747 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41748
e290bef2 417492008-08-20 Carles Pina i Estany <carles@pina.cat>
41750
41751 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41752 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41753
f9dbfc96 417542008-08-19 Robert Millan <rmh@aybabtu.com>
41755
41756 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41757 (struct grub_virtual_screen): Remove `cursor_color'.
41758 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41759 initialization.
41760 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41761
dd6bd6ab 417622008-08-18 Robert Millan <rmh@aybabtu.com>
41763
41764 Unify (identical) linux_normal.c files.
41765 * loader/i386/efi/linux_normal.c: Move from here ...
41766 * loader/linux_normal.c: ... to here. Update all users.
41767 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41768 * loader/i386/ieee1275/linux_normal.c: Likewise.
41769
7f42f83e 417702008-08-18 Robert Millan <rmh@aybabtu.com>
41771
41772 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41773 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41774 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41775 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41776 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41777 New macros.
41778 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41779 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41780 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41781 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41782 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41783 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41784 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41785 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41786 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41787 portably using grub_getxy().
41788 Replace `-EFI' with `-bzImage' in boot message.
41789
38487ddb 417902008-08-17 Robert Millan <rmh@aybabtu.com>
41791
41792 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41793
deceb3ec 417942008-08-17 Robert Millan <rmh@aybabtu.com>
41795
41796 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41797
41798 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41799 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41800 (grub_machine_mmap_iterate): New function declaration.
41801 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41802 structure.
41803 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41804 macros.
41805
41806 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41807 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41808 Move e820 parsing from here ...
41809 * kern/i386/pc/mmap.c: New file.
41810 (grub_machine_mmap_iterate): ... to here.
41811
41812 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41813 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41814 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41815 (grub_available_iterate): Redeclare to return `void', and redeclare
41816 its hook to use grub_uint64_t as addr and size parameters, and rename
41817 to ...
41818 (grub_machine_mmap_iterate): ... this. Update all users.
41819
41820 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41821 to make it more readable. Rename to ...
41822 (grub_machine_mmap_iterate): ... this.
41823
41824 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41825 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41826 (grub_multiboot): Allocate an extra region after the payload, and fill
41827 it with a Multiboot memory map. Adjust a.out loader to calculate size
41828 with the extra space.
41829 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41830 with the extra space.
41831
f8aa0f43 418322008-08-17 Carles Pina i Estany <carles@pina.cat>
41833
9807deb9 41834 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41835
605f5bb6 418362008-08-17 Felix Zielcke <fzielcke@z-51.de>
41837
41838 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41839 mdate-sh to the list `find' searches for.
41840 * DISTLIST: Regenerated.
41841
210db6c6 418422008-08-16 Felix Zielcke <fzielcke@z-51.de>
41843
41844 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41845 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41846 genmoddep.awk, gensymlist.sh.in.
41847 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41848 * DISTLIST: Regenerated.
48cdbfd4 41849 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41850
1082b929 418512008-08-16 Robert Millan <rmh@aybabtu.com>
41852
41853 * disk/raid.c (grub_raid_init): Handle/report errors set by
41854 grub_device_iterate().
41855 * disk/lvm.c (grub_lvm_init): Likewise.
41856
42ce5170 418572008-08-15 Bean <bean123ch@gmail.com>
41858
41859 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41860 and datehook.mod.
41861 (datetime_mod_SOURCES): New macro.
41862 (datetime_mod_CFLAGS): Likewise.
41863 (datetime_mod_LDFLAGS): Likewise.
41864 (date_mod_SOURCES): Likewise.
41865 (date_mod_CFLAGS): Likewise.
41866 (date_mod_LDFLAGS): Likewise.
41867 (datehook_mod_SOURCES): Likewise.
41868 (datehook_mod_CFLAGS): Likewise.
41869 (datehook_mod_LDFLAGS): Likewise.
41870
41871 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41872 and datehook.mod.
41873 (datetime_mod_SOURCES): New macro.
41874 (datetime_mod_CFLAGS): Likewise.
41875 (datetime_mod_LDFLAGS): Likewise.
41876 (date_mod_SOURCES): Likewise.
41877 (date_mod_CFLAGS): Likewise.
41878 (date_mod_LDFLAGS): Likewise.
41879 (datehook_mod_SOURCES): Likewise.
41880 (datehook_mod_CFLAGS): Likewise.
41881 (datehook_mod_LDFLAGS): Likewise.
41882
41883 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41884 and datehook.mod.
41885 (datetime_mod_SOURCES): New macro.
41886 (datetime_mod_CFLAGS): Likewise.
41887 (datetime_mod_LDFLAGS): Likewise.
41888 (date_mod_SOURCES): Likewise.
41889 (date_mod_CFLAGS): Likewise.
41890 (date_mod_LDFLAGS): Likewise.
41891 (datehook_mod_SOURCES): Likewise.
41892 (datehook_mod_CFLAGS): Likewise.
41893 (datehook_mod_LDFLAGS): Likewise.
41894
41895 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41896 and datehook.mod.
41897 (datetime_mod_SOURCES): New macro.
41898 (datetime_mod_CFLAGS): Likewise.
41899 (datetime_mod_LDFLAGS): Likewise.
41900 (date_mod_SOURCES): Likewise.
41901 (date_mod_CFLAGS): Likewise.
41902 (date_mod_LDFLAGS): Likewise.
41903 (datehook_mod_SOURCES): Likewise.
41904 (datehook_mod_CFLAGS): Likewise.
41905 (datehook_mod_LDFLAGS): Likewise.
41906
41907 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41908 and datehook.mod.
41909 (datetime_mod_SOURCES): New macro.
41910 (datetime_mod_CFLAGS): Likewise.
41911 (datetime_mod_LDFLAGS): Likewise.
41912 (date_mod_SOURCES): Likewise.
41913 (date_mod_CFLAGS): Likewise.
41914 (date_mod_LDFLAGS): Likewise.
41915 (datehook_mod_SOURCES): Likewise.
41916 (datehook_mod_CFLAGS): Likewise.
41917 (datehook_mod_LDFLAGS): Likewise.
41918
41919 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41920
41921 * commands/date.c: New file.
41922
41923 * hook/datehook.c: Likewise.
41924
41925 * include/grub/lib/datetime.h: Likewise.
41926
41927 * include/grub/i386/cmos.h: Likewise.
41928
41929 * lib/datetime.c: Likewise.
41930
41931 * lib/i386/datetime.c: Likewise.
41932
41933 * lib/efi/datetime.c: Likewise.
41934
0e9242da 419352008-08-14 Robert Millan <rmh@aybabtu.com>
41936
41937 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41938 (grub_mkelfimage_SOURCES): New variable.
41939 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41940
41941 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41942 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41943 * conf/powerpc-ieee1275.rmk: Likewise.
41944 * conf/i386-ieee1275.rmk: Likewise.
41945
41946 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41947 * kern/i386/coreboot/init.c: Likewise.
41948
41949 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41950 with `<grub/cpu/kernel.h>'.
41951 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41952 to ...
41953 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41954 * kern/i386/coreboot/startup.S: Likewise.
41955
41956 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41957 (GRUB_MOD_GAP): Remove.
41958 * include/grub/powerpc/kernel.h: New file.
41959 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41960 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41961 * include/grub/i386/kernel.h: New file.
41962 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41963 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41964 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41965
41966 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41967 `grub-mkelfimage'.
41968 Use --directory when invoking grub_mkimage.
41969
41970 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41971 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41972 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41973 and GRUB_KERNEL_CPU_PREFIX.
41974
b86408f8 419752008-08-14 Felix Zielcke <fzielcke@z-51.de>
41976
d5e619ca 41977 * include/grub/err.h (grub_err_printf): New function prototype.
41978 * util/misc.c (grub_err_printf): New function.
41979 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41980 grub_printf.
41981 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41982
7161f0e0 419832008-08-13 Robert Millan <rmh@aybabtu.com>
41984
41985 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41986
a1967522 419872008-08-13 Robert Millan <rmh@aybabtu.com>
41988
41989 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41990 boot entry.
41991
371458b5 419922008-08-12 Robert Millan <rmh@aybabtu.com>
41993
41994 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41995 of the relocation code from here ...
41996 (grub_multiboot): ... to here.
41997 (forward_relocator, backward_relocator): Move from here ...
41998 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41999 (grub_multiboot_backward_relocator): ... to here.
42000 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42001 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42002 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42003 (grub_multiboot_forward_relocator_end)
42004 (grub_multiboot_backward_relocator)
42005 (grub_multiboot_backward_relocator_end): New variables.
42006
05f9452b 420072008-08-12 Bean <bean123ch@gmail.com>
42008
42009 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42010
20024ab0 420112008-08-11 Robert Millan <rmh@aybabtu.com>
42012
42013 * kern/i386/linuxbios/startup.S: Move from here ...
42014 * kern/i386/coreboot/startup.S: ... to here.
42015
42016 * kern/i386/linuxbios/init.c: Move from here ...
42017 * kern/i386/coreboot/init.c: ... to here.
42018
42019 * kern/i386/linuxbios/table.c: Move from here ...
42020 * kern/i386/coreboot/mmap.c: ... to here.
42021
42022 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42023
e352e9cd 420242008-08-11 Robert Millan <rmh@aybabtu.com>
42025
42026 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42027 errors. Leave it to the upper layer to handle them.
42028
2d05bc6a 420292008-08-09 Christian Franke <franke@computer.org>
42030
42031 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42032 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42033 Install `grub.d/10_windows' only on Cygwin.
42034 * configure.ac: Add subst of `target_os'.
42035 Check `target_os' also before setting TARGET_OBJ2ELF.
42036 Add `--enable-grub-pe2elf'.
42037
042bd419 420382008-08-08 Robert Millan <rmh@aybabtu.com>
42039
42040 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42041 (grub_last_time): Change type to grub_uint64_t.
42042 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42043 (grub_disk_close): Likewise.
42044
42045 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42046 (run_menu): Migrate code from to using grub_get_time_ms().
42047
42048 * util/misc.c (grub_get_time_ms): New function.
42049
7f280db5 420502008-08-08 Marco Gerards <marco@gnu.org>
42051
42052 * disk/ata.c (grub_ata_regget): Change return type to
42053 `grub_uint8_t'.
42054 (grub_ata_regget2): Likewise.
42055 (grub_ata_wait_status): New function.
42056 (grub_ata_wait_busy): Removed function, updated all users to use
42057 `grub_ata_wait_status'.
42058 (grub_ata_wait_drq): Likewise.
42059 (grub_ata_cmd): New function.
42060 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42061 error handling.
42062 (grub_ata_pio_write): Add error handling.
42063 (grub_atapi_identify): Likewise.
42064 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42065 handling.
42066 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42067 handling. Actually use the detected registers. Reorder the
42068 detection logic such that it is easier to read.
42069 (grub_ata_pciinit): Do not assign the same ID to each controller.
42070 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42071 handling.
42072 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42073
42074 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42075
1fbc5e66 420762008-08-08 Marco Gerards <marco@gnu.org>
42077
42078 * NEWS: Update.
42079
819ce6c0 420802008-08-07 Bean <bean123ch@gmail.com>
42081
42082 * include/grub/x86_64/pci.h: New file.
42083
5c41d44d 420842008-08-07 Christian Franke <franke@computer.org>
42085
42086 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42087 (TIMER2_GATE): Likewise.
42088 (grub_pit_wait): Add enable/disable of the timer2 gate
42089 bit of port 0x61. This fixes a possible infinite loop.
42090
5ebc275d 420912008-08-07 Bean <bean123ch@gmail.com>
42092
42093 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42094 kern/i386/tsc.c and kern/i386/pit.c.
42095
42096 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42097 x86_64 platform.
42098
42099 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42100 <grub/i386/tsc.h>.
42101
42102 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42103
e383b3d0 421042008-08-07 Bean <bean123ch@gmail.com>
42105
42106 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42107
42108 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42109
42110 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42111 multiple inclusion. Add #include <grub/types.h>.
42112
1cbb58ac 421132008-08-06 Christian Franke <franke@computer.org>
42114
42115 * conf/common.rmk: Build and install `10_windows'.
42116 * util/grub.d/10_windows.in: New script.
42117
337f5a1e 421182008-08-06 Pavel Roskin <proski@gnu.org>
42119
42120 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42121
057bc4ac 421222008-08-06 Robert Millan <rmh@aybabtu.com>
42123
42124 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42125 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42126
2b99f123 421272008-08-06 Bean <bean123ch@gmail.com>
42128
42129 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42130 (grub_pxefs_fs_int): Remove dummy definition.
42131 (grub_pxefs_open): Use data->block_size to store the current block
42132 size setting.
42133 (grub_pxefs_read): Use block size stored in data->block_size. As the
42134 value of grub_pxe_blksize can be changed after the file is opened.
42135
9f0234cb 421362008-08-06 Bean <bean123ch@gmail.com>
42137
42138 * fs/i386/pc/pxe.c (curr_file): new variable.
42139 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42140 require the dummy internal file system anymore.
42141 (grub_pxefs_read): Removed.
42142 (grub_pxefs_close): Likewise.
42143 (grub_pxefs_fs_int): Likewise.
42144 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42145 connection when we switch file.
42146 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42147
a55d42e0 421482008-08-06 Robert Millan <rmh@aybabtu.com>
42149
42150 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42151 `halt.mod'.
42152 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42153 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42154
42155 * kern/i386/halt.c: New file.
42156 * kern/i386/reboot.c: Likewise.
42157 * include/grub/i386/reboot.h: Likewise.
42158 * include/grub/i386/halt.h: Likewise.
42159
42160 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42161 Include `<grub/cpu/halt.h>'.
42162 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42163 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42164
42165 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42166 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42167 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42168 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42169 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42170 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42171 from here ...
42172 * include/grub/i386/at_keyboard.h: ... to here.
42173
24371d26 421742008-08-05 Robert Millan <rmh@aybabtu.com>
42175
42176 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42177 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42178 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42179 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42180 `kern/generic/millisleep.c'.
42181
42182 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42183 instead of grub_get_rtc().
42184 (grub_tsc_init): Initialize `tsc_boot_time'.
42185
42186 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42187 (grub_machine_init): Use grub_tsc_init() rather than
42188 installing an RTC-based handler via grub_install_get_time_ms().
42189
42190 * kern/i386/pit.c: New file.
42191 * include/grub/i386/pit.h: Likewise.
42192
9e7007b3 421932008-08-05 Bean <bean123ch@gmail.com>
42194
42195 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42196
42197 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42198 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42199 (pxe_mod_SOURCES): New macro.
42200 (pxe_mod_CFLAGS): Likewise.
42201 (pxe_mod_LDFLAGS): Likewise.
42202 (pxecmd_mod_SOURCES): Likewise.
42203 (pxecmd_mod_CFLAGS): Likewise.
42204 (pxecmd_mod_LDFLAGS): Likewise.
42205
42206 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42207 (grub_pxe_call): Likewise.
42208
42209 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42210
42211 * commands/i386/pc/pxecmd.c: New file.
42212
9f0234cb 42213 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42214
42215 * include/grub/i386/pc/pxe.h: Likewise.
42216
6977d49f 422172008-08-05 Bean <bean123ch@gmail.com>
42218
42219 * util/console.c (grub_console_cur_color): New variable.
42220 (grub_console_standard_color): Likewise.
42221 (grub_console_normal_color): Likewise.
42222 (grub_console_highlight_color): Likewise.
42223 (color_map): Likewise.
42224 (use_color): Likewise.
42225 (NUM_COLORS): New macro.
42226 (grub_ncurses_setcolorstate): Handle color properly.
42227 (grub_ncurses_setcolor): Don't change color here, just remember the
42228 settings, color will be set in grub_ncurses_setcolorstate.
42229 (grub_ncurses_getcolor): New function.
42230 (grub_ncurses_init): Initialize color pairs.
42231 (grub_ncurses_term): New member grub_ncurses_getcolor.
42232
9c2ff3ee 422332008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42234
9c2ff3ee 42235 High resolution timer support. Implemented for x86 CPUs using TSC.
42236 Extracted generic grub_millisleep() so it's linked in only as needed.
42237 This requires a Pentium compatible CPU; if the RDTSC instruction is
42238 not supported, then it falls back on the generic grub_get_time_ms()
42239 implementation that uses the machine's RTC.
42240
42241 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42242 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42243 `kern/generic/millisleep.c'.
42244
42245 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42246 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42247
42248 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42249 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42250
42251 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42252
42253 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42254 `kern/generic/millisleep.c'.
42255
42256 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42257
42258 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42259
42260 * kern/generic/rtc_get_time_ms.c: New file.
42261
42262 * kern/generic/millisleep.c: New file.
337f5a1e 42263
9c2ff3ee 42264 * kern/misc.c: Don't include
42265 <kern/time.h> anymore.
42266 (grub_millisleep_generic): Removed.
42267
42268 * commands/sleep.c (grub_interruptible_millisleep): Uses
42269 grub_get_time_ms() instead of grub_get_rtc().
42270
42271 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42272 function.
42273 (grub_cpu_is_cpuid_supported): New inline function.
42274 (grub_cpu_is_tsc_supported): New inline function.
42275 (grub_tsc_init): New function prototype.
42276 (grub_tsc_get_time_ms): New function prototype.
42277
42278 * kern/i386/tsc.c (grub_get_time_ms): New file.
42279
42280 * include/grub/time.h: Include <grub/types.h.
42281 (grub_millisleep_generic): Removed.
42282 (grub_get_time_ms): New prototype.
42283 (grub_install_get_time_ms): New prototype.
42284 (grub_rtc_get_time_ms): New prototype.
42285
42286 * kern/time.c (grub_get_time_ms): New function.
42287 (grub_install_get_time_ms): New function.
42288
42289 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42290 <grub/time.h> anymore.
42291 (grub_millisleep): Removed.
42292 (grub_machine_init): Call grub_tsc_init.
42293
42294 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42295 get_time_ms() implementation.
42296
42297 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42298 (ieee1275_get_time_ms): New function.
42299 (grub_machine_init): Install get_time_ms() implementation.
42300
42301 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42302 (grub_machine_init): Call grub_tsc_init().
42303 (grub_millisleep): Removed.
bf06a93f 42304
9c2ff3ee 42305 * kern/ieee1275/init.c (grub_millisleep): Removed.
42306 (grub_machine_init): Install ieee1275_get_time_ms()
42307 implementation.
42308 (ieee1275_get_time_ms): New function.
42309 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42310 real work.
42311
9ec92aaf 423122008-08-05 Marco Gerards <marco@gnu.org>
42313
42314 * disk/ata.c: Include <grub/pci.h>.
42315 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42316 (grub_ata_initialize): Rewritten.
42317 (grub_ata_device_initialize): New function.
42318
8d23f507 423192008-08-04 Pavel Roskin <proski@gnu.org>
42320
42321 * kern/main.c: Include grub/mm.h.
42322
5e15ee3d 423232008-08-04 Robert Millan <rmh@aybabtu.com>
42324
42325 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42326 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42327 corruption problem).
42328
a9053f8f 423292008-08-04 Robert Millan <rmh@aybabtu.com>
42330
42331 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42332 warnings introduced in my last commit.
42333
dd19c7d7 423342008-08-03 Robert Millan <rmh@aybabtu.com>
42335
42336 Make PCI available on all i386 architectures.
42337
42338 * include/grub/i386/pc/pci.h: Move from here ...
42339 * include/grub/i386/pci.h: ... to here.
42340
42341 * include/grub/i386/pc/pci.h: Remove.
42342 * include/grub/i386/efi/pci.h: Remove.
42343 * include/grub/x86_64/efi/pci.h: Remove.
42344
42345 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42346 `<grub/cpu/pci.h>'.
42347
42348 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42349 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42350 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42351
42352 * conf/i386-ieee1275.rmk: Likewise.
42353
e14a6184 423542008-08-03 Robert Millan <rmh@aybabtu.com>
42355
42356 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42357 (grub_console_setcursor): Make it possible to set cursor off.
42358
52768e37 423592008-08-03 Robert Millan <rmh@aybabtu.com>
42360
42361 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42362 of modules instead of assuming which platform provides what.
42363 * util/update-grub.in: Likewise.
42364
2d52f57f 423652008-08-03 Robert Millan <rmh@aybabtu.com>
42366
42367 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42368 instead of `grub_install_dos_part' to determine whether a drive needs
42369 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42370 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42371
2a5cd121 423722008-08-02 Robert Millan <rmh@aybabtu.com>
42373
42374 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42375
93808428 423762008-08-02 Robert Millan <rmh@aybabtu.com>
42377
42378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42379 of informational grub_dprintf() calls.
42380
3bd0a12a 423812008-08-02 Robert Millan <rmh@aybabtu.com>
42382
42383 * disk/memdisk.c (memdisk_size): Don't initialize.
42384 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42385
42386 * include/grub/i386/pc/kernel.h
42387 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42388 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42389 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42390 (grub_arch_memdisk_size): Remove.
42391
42392 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42393 field (was only used to transfer a constant). Add `type' field to
42394 support multiple module types.
42395 (grub_module_iterate): New function.
42396
42397 * kern/device.c (grub_device_open): Do not hide error messages
42398 when grub_disk_open() fails. Use grub_print_error() instead.
42399
42400 * kern/i386/pc/init.c (grub_arch_modules_addr)
42401 (grub_arch_memdisk_size): Remove functions.
42402 (grub_arch_modules_addr): Return the module address in high memory
42403 (now that it isn't copied anymore).
42404
42405 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42406 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42407 decompression routine (grub_total_module_size already includes that
42408 now). Don't copy modules back to low memory.
42409
42410 * kern/main.c: Include `<grub/mm.h>'.
42411 (grub_load_modules): Split out (and use) ...
42412 (grub_module_iterate): ... this function, which iterates through
42413 module objects and runs a hook.
42414 Comment out grub_mm_init_region() call, as it would cause non-ELF
42415 modules to be overwritten.
42416
42417 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42418 the memdisk image in its own region, make it part of the module list.
42419 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42420 (main): Parse --memdisk|-m option, and pass user-provided path as
42421 parameter to generate_image().
42422 (add_segments): Pass `memdisk_path' down to load_modules().
42423 (load_modules): Embed memdisk image in module section when requested.
42424 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42425 `header.type' instead of `header.offset'.
42426
42427 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42428 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42429 (memdisk_mod_LDFLAGS): New variables.
42430 * conf/i386-coreboot.rmk: Likewise.
42431 * conf/i386-ieee1275.rmk: Likewise.
42432
a927cc73 424332008-08-02 Robert Millan <rmh@aybabtu.com>
42434
42435 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42436 (backward_relocator): New variables. Used to allocate and relocate
42437 the payload, respectively.
42438 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42439 address, install the appropriate relocator code in each bound of
a927cc73 42440 the payload, and set the entry point such that
42441 grub_multiboot_real_boot() will jump to one of them.
42442
42443 * kern/i386/loader.S (grub_multiboot_payload_size)
42444 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42445 (grub_multiboot_payload_entry_offset): New variables.
42446 (grub_multiboot_real_boot): Set cpu context to what the relocator
42447 expects, and jump to the relocator instead of the payload.
42448
42449 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42450 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42451 (grub_multiboot_payload_entry_offset): Export.
42452
b15d8a0c 424532008-08-01 Bean <bean123ch@gmail.com>
42454
42455 * normal/menu_entry.c (editor_getline): Don't return the original
42456 string as result, as it will be released by lexer once it has done
42457 using it.
42458
cdfb3d22 424592008-08-01 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42462 within menuentries, not before them.
42463 util/grub.d/10_hurd.in: Likewise.
42464
9175e93d 424652008-08-01 Bean <bean123ch@gmail.com>
42466
42467 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42468 (bufio_mod_SOURCES): New macro.
42469 (bufio_mod_CFLAGS): Likewise.
42470 (bufio_mod_LDFLAGS): Likewise.
42471
42472 * include/grub/bufio.h: New file.
42473
42474 * io/bufio.c: Likewise.
42475
42476 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42477 (grub_video_reader_png): Use grub_buffile_open to open file.
42478
42479 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42480 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42481
42482 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42483 (grub_video_reader_tga): Use grub_buffile_open to open file.
42484
42485 * font/manager.c: Include <grub/bufio.h>.
42486 (add_font): Use grub_buffile_open to open file.
42487
3d8383e7 424882008-07-31 Robert Millan <rmh@aybabtu.com>
42489
42490 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42491 ELF segments, use a macro for arbitrarily accessing any of them instead
42492 of preparing a pointer that allows access to one at a time.
42493 (grub_multiboot_load_elf64): Likewise.
42494
16e641b6 424952008-07-31 Bean <bean123ch@gmail.com>
42496
42497 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42498 GRUB_KERNEL_MACHINE_DATA_END.
42499
59198b72 425002008-07-30 Robert Millan <rmh@aybabtu.com>
42501
42502 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42503 Increase from 0x50 to 0x60.
42504 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42505 use UUIDs to identify the root drive for them. If that's not
42506 possible, abort.
42507 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42508 check, for cross-disk installs.
42509
ae88bca3 425102008-07-30 Robert Millan <rmh@aybabtu.com>
42511
42512 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42513 is non-empty, use it to set the `prefix' environment variable instead
42514 of the usual approach.
42515 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42516 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42517 environment variable instead of dummy make_install_device().
42518
42519 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42520 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42521 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42522
42523 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42524 New variable reference.
42525 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42526 New macro. Defines offset of `grub_prefix' within startup.S (relative
42527 to `start').
42528 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42529 section within startup.S (relative to `start').
42530 * include/grub/i386/coreboot/kernel.h: Likewise.
42531
42532 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42533 Overwrite grub_prefix with its contents, at the beginning of the
42534 first segment.
42535 (main): Understand -p|--prefix.
42536
14f41dd1 425372008-07-30 Robert Millan <rmh@aybabtu.com>
42538
42539 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42540
4ca049a3 425412008-07-30 Robert Millan <rmh@aybabtu.com>
42542
42543 * term/i386/pc/vga_text.c (grub_console_cls): Use
42544 grub_console_gotoxy() to go back to beginning of the screen.
42545 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42546
2921d337 425472008-07-29 Christian Franke <franke@computer.org>
42548
42549 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42550 Add conversion of emulated mount points on Cygwin.
42551
b609876d 425522008-07-29 Christian Franke <franke@computer.org>
42553
42554 * util/update-grub.in: Add a check for admin
42555 group on Cygwin.
42556 Remove old `grub.cfg.new' before creation.
42557 Add `-f' to `mv' to handle the different filesystem
42558 semantics of Windows.
42559
e93e4679 425602008-07-29 Bean <bean123ch@gmail.com>
42561
42562 * normal/main.c (get_line): Fix buffer overflow bug.
42563
41694fd0 425642008-07-28 Robert Millan <rmh@aybabtu.com>
42565
42566 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42567 (struct grub_apple_header): New struct. Describes the layout of
42568 the partmap header.
42569 (apple_partition_map_iterate): Check the header magic as well as the
42570 partition magic (which was already being checked).
42571
cfd0b4e6 425722008-07-28 Pavel Roskin <proski@gnu.org>
42573
42574 * genmk.rb: Add a warning to the beginning of the output that
42575 it's a generated file and should not be edited.
42576
93cce016 425772008-07-28 Robert Millan <rmh@aybabtu.com>
42578
42579 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42580 with the same number are found, just use issue a warning with
42581 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42582
cd1df915 425832008-07-27 Robert Millan <rmh@aybabtu.com>
42584
42585 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42586 information.
42587
b70a8427 425882008-07-27 Bean <bean123ch@gmail.com>
42589
42590 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42591 (grub_fat_find_dir): Ignore case when comparing filename.
42592
8f5e379f 425932008-07-27 Bean <bean123ch@gmail.com>
42594
42595 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42596 smallino, as it's more descriptive, and i8count can be confused with
42597 the other field count.
42598 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42599 inode type.
42600
a85cd5a0 426012008-07-27 Bean <bean123ch@gmail.com>
42602
42603 * commands/crc.c: New file.
42604
42605 * lib/crc.c: Likewise.
42606
42607 * include/grub/lib/crc.h: Likewise.
42608
42609 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42610
42611 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42612 (hexdump): Move this function to ...
42613
42614 * lib/hexdump.c: ... here.
42615
42616 * include/grub/hexdump.h: Renamed to ...
42617
42618 * include/grub/lib/hexdump.h: ... this.
42619
42620 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42621
42622 * util/grub-editenv.c: Likewise.
42623
42624 * include/envblk.h: Renamed to ...
42625
42626 * include/lib/envblk.h: ... this.
42627
42628 * util/envblk.c: Renamed to ...
42629
42630 * lib/envblk.c: ... this.
42631
42632 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42633 lib/hexdump.c.
42634 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42635 (pkglib_MODULES): Add crc.mod.
42636 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42637 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42638 (crc_mod_SOURCES): New macro.
42639 (crc_mod_CFLAGS): Likewise.
42640 (crc_mod_LDFLAGS): Likewise.
42641
42642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42643
42644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42645
42646 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42647
42648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42649
42650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42651
c298def0 426522008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42653
42654 * commands/help.c: Include <grub/term.h>.
42655 (TERM_WIDTH): Removed. Updated all users.
42656
cc349fb3 426572008-07-27 Pavel Roskin <proski@gnu.org>
42658
42659 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42660 spurious warnings about a comment within a comment.
42661
9051607e 426622008-07-25 Robert Millan <rmh@aybabtu.com>
42663
42664 * util/getroot.c (find_root_device): Skip devices that match
42665 /dev/dm-[0-9]. This lets the real device be found for any type of
42666 abstraction (LVM, EVMS, RAID..).
42667 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42668 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42669 device is found first, find_root_device() will now skip it.
42670
01453bfc 426712008-07-24 Pavel Roskin <proski@gnu.org>
42672
42673 * include/grub/types.h: Use __builtin_bswap32() and
42674 __builtin_bswap64() with gcc 4.3 and newer.
42675
6af9849f 426762008-07-24 Christian Franke <franke@computer.org>
42677
3a0fa256 42678 * util/i386/pc/grub-install.in: If `--debug' is specified,
42679 pass `--verbose' to grub-setup.
42680 Abort script if make_system_path_relative_to_its_root() fails.
42681
7810e747 426822008-07-24 Bean <bean123ch@gmail.com>
42683
42684 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42685 variable `target_platform' should be `platform'.
42686
42290e17 426872008-07-24 Bean <bean123ch@gmail.com>
42688
51cc5193 42689 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42690 (grub_png_init_fixed_block): New function.
42691 (grub_png_decode_image_data): Handle fixed huffman code compression.
42692
2a8a80e4 426932008-07-24 Bean <bean123ch@gmail.com>
42694
42695 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42696 (grub_pe2elf_SOURCES): New macro.
42697 (CLEANFILES): Add grub-pe2elf.
42698
42699 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42700 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42701 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42702 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42703 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42704 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42705 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42706 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42707 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42708 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42709 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42710 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42711 (GRUB_PE32_DT_FUNCTION): Likewise.
42712 (GRUB_PE32_REL_I386_DIR32): Likewise.
42713 (GRUB_PE32_REL_I386_REL32): Likewise.
42714 (grub_pe32_symbol): New structure.
42715 (grub_pe32_reloc): Likewise.
42716
42717 * util/grub-pe2elf.c: New file.
42718
42719 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42720 start symbol in non pc platform.
42721
42722 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42723
42724 The following patches are from Christian Franke.
42725
42726 * include/grub/dl.h: Remove .previous, gas supports this only
42727 for ELF format.
42728
42729 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42730 Remove .type, gas supports this only for ELF format.
42731
42732 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42733 nullbytes in symbol table. This fixes an infinite loop if table is
42734 zero filled.
42735
42736 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42737 TARGET_IMG_LDFLAGS and EXEEXT.
42738
42739 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42740 TARGET_IMG_LDFLAGS_AC.
42741 (grub_CHECK_STACK_ARG_PROBE): New function.
42742
42743 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42744
42745 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42746
42747 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42748 to set TARGET_IMG_LD* accordingly.
42749 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42750 Add call to grub_CHECK_STACK_ARG_PROBE.
42751 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42752
42753 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42754
42755 * genmk.rb: Add EXEEXT to CLEANFILES.
42756
12ccdb75 427572008-07-23 Robert Millan <rmh@aybabtu.com>
42758
42759 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42760 define the codes for arrows and lines used for the menu).
42761 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42762 as well.
42763
42764 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42765 fonts, because the latter are too slow.
42766
18eeaf04 427672008-07-21 Bean <bean123ch@gmail.com>
42768
42769 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42770 a20. Run keyboard test last, as it will cause macbook to halt.
42771
b095e2ad 427722008-07-18 Pavel Roskin <proski@gnu.org>
42773
42774 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42775 load foreign architecture modules correctly anyway. Keep
42776 support for loading host architecture modules, whether we
42777 compile them or not.
42778
737feb35 427792008-07-17 Pavel Roskin <proski@gnu.org>
42780
3f4ce737 42781 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42782 change target_cpu. The compiler default can mismatch target_cpu
42783 in any case.
42784
4ad2d049 42785 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42786 * kern/efi/efi.c: Likewise.
42787
f6130a12 42788 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42789 target compiler is functional.
42790 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42791 are set up.
42792
58393a2d 42793 * configure.ac: Default to efi platform for x86_64-apple. Allow
42794 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42795 adjustments from the rest, only do them if target is not
42796 explicitly given. Merge other adjustments with the final sanity
42797 check. Remove an extraneous check for supported CPU. Be
42798 specific which CPU and which platform is not supported.
42799
737feb35 42800 * configure.ac: Default to pc platform for x86_64.
42801
546f966a 428022008-07-17 Robert Millan <rmh@aybabtu.com>
42803
42804 Partial LinuxBIOS -> Coreboot rename.
42805
42806 * conf/i386-linuxbios.rmk: Renamed to ...
42807 * conf/i386-coreboot.rmk: ... this.
42808 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42809 * configure.ac: Accept "coreboot" as input platform (but maintain
42810 compatibility with "linuxbios").
42811 * include/grub/i386/linuxbios: Renamed to ...
42812 * include/grub/i386/coreboot: ... this.
42813
20011694 428142008-07-17 Bean <bean123ch@gmail.com>
42815
42816 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42817 (appleldr_mod_SOURCE): New variable.
20011694 42818 (appleldr_mod_CFLAGS): Likewise.
42819 (appleldr_mod_LDFLAGS): Likewise.
42820 (pci_mod_SOURCES): Likewise.
42821 (pci_mod_CFLAGS): Likewise.
42822 (pci_mod_LDFLAGS): Likewise.
42823 (lspci_mod_SOURCES): Likewise.
42824 (lspci_mod_CFLAGS): Likewise.
42825 (lspci_mod_LDFLAGS): Likewise.
42826
42827 * conf/x86_64-efi.rmk: New file.
42828
42829 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42830 macro.
42831 (grub_efidisk_write): Likewise.
42832
42833 * include/efi/api.h (efi_call_0): New macro.
42834 (efi_call_1): Likewise.
42835 (efi_call_2): Likewise.
42836 (efi_call_3): Likewise.
42837 (efi_call_4): Likewise.
42838 (efi_call_5): Likewise.
42839 (efi_call_6): Likewise.
42840
42841 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42842 grub_rescue_cmd_chainloader.
42843
42844 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42845 (grub_pe32_optional_header): Change some fields based on i386 or
42846 x86_64 platform.
42847 (GRUB_PE32_PE32_MAGIC): Likewise.
42848
42849 * include/grub/efi/uga_draw.h: New file.
42850
42851 * include/grub/elf.h (STN_ABS): New constant.
42852 (R_X86_64_NONE): Relocation constant for x86_64.
42853 (R_X86_64_64): Likewise.
42854 (R_X86_64_PC32): Likewise.
42855 (R_X86_64_GOT32): Likewise.
42856 (R_X86_64_PLT32): Likewise.
42857 (R_X86_64_COPY): Likewise.
42858 (R_X86_64_GLOB_DAT): Likewise.
42859 (R_X86_64_JUMP_SLOT): Likewise.
42860 (R_X86_64_RELATIVE): Likewise.
42861 (R_X86_64_GOTPCREL): Likewise.
42862 (R_X86_64_32): Likewise.
42863 (R_X86_64_32S): Likewise.
42864 (R_X86_64_16): Likewise.
42865 (R_X86_64_PC16): Likewise.
42866 (R_X86_64_8): Likewise.
42867 (R_X86_64_PC8): Likewise.
42868
42869 * include/grub/i386/efi/pci.h: New file.
42870
42871 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42872 Change it value based on platform.
42873 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42874 (GRUB_E820_RAM): Likewise.
42875 (GRUB_E820_RESERVED): Likewise.
42876 (GRUB_E820_ACPI): Likewise.
42877 (GRUB_E820_NVS): Likewise.
42878 (GRUB_E820_EXEC_CODE): Likewise.
42879 (GRUB_E820_MAX_ENTRY): Likewise.
42880 (grub_e820_mmap): New structure.
42881 (linux_kernel_header): Change the efi field according to different
42882 kernel version, also field from linux_kernel_header.
42883
42884 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42885
42886 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42887 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42888 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42889 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42890 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42891 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42892 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42893 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42894 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42895 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42896
42897 * include/grub/x86_64/efi/kernel.h: New file.
42898
42899 * include/grub/x86_64/efi/loader.h: Likewise.
42900
42901 * include/grub/x86_64/efi/machine.h: Likewise.
42902
42903 * include/grub/x86_64/efi/pci.h: Likewise.
42904
42905 * include/grub/x86_64/efi/time.h: Likewise.
42906
42907 * include/grub/x86_64/linux.h: Likewise.
42908
42909 * include/grub/x86_64/setjmp.h: Likewise.
42910
42911 * include/grub/x86_64/time.h: Likewise.
42912
42913 * include/grub/x86_64/types.h: Likewise.
42914
42915 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42916 GRUB_TARGET_SIZEOF_VOID_P.
42917
42918 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42919 (grub_efi_locate_handle): Likewise.
42920 (grub_efi_open_protocol): Likewise.
42921 (grub_efi_set_text_mode): Likewise.
42922 (grub_efi_stall): Likewise.
42923 (grub_exit): Likewise.
42924 (grub_reboot): Likewise.
42925 (grub_halt): Likewise.
42926 (grub_efi_exit_boot_services): Likewise.
42927 (grub_get_rtc): Likewise.
42928
42929 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42930 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42931 (grub_efi_allocate_pages): Wrap efi calls.
42932 (grub_efi_free_pages): Wrap efi calls.
42933 (grub_efi_get_memory_map): Wrap efi calls.
42934
42935 * kern/x86_64/dl.c: New file.
42936
42937 * kern/x86_64/efi/callwrap.S: Likewise.
42938
42939 * kern/x86_64/efi/startup.S: Likewise.
42940
42941 * loader/efi/appleloader.c: Likewise.
42942
42943 * loader/efi/chainloader.c (cmdline): New variable.
42944 (grub_chainloader_unload): Wrap efi calls.
42945 (grub_chainloader_boot): Likewise.
42946 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42947 command line.
42948
42949 * loader/efi/chainloader_normal.c (chainloader_command):
42950 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42951 command line.
42952
42953 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42954 method.
42955 (grub_e820_add_region): New function.
42956 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42957 booting.
42958 (grub_find_video_card): New function.
42959 (grub_linux_setup_video): New function.
42960 (grub_rescue_cmd_linux): Probe for video information.
42961
42962 * normal/x86_64/setjmp.S: New file.
42963
42964 * term/efi/console.c (map_char): New function.
42965 (grub_console_putchar): Map unicode char.
42966 (grub_console_checkkey): Wrap efi calls.
42967 (grub_console_getkey): Likewise.
42968 (grub_console_getwh): Likewise.
42969 (grub_console_gotoxy): Likewise.
42970 (grub_console_cls): Likewise.
42971 (grub_console_setcolorstate): Likewise.
42972 (grub_console_setcursor): Likewise.
42973
42974 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42975
59652a20 429762008-07-16 Pavel Roskin <proski@gnu.org>
42977
ef294055 42978 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42979 format strings.
42980
59652a20 42981 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42982 pointer, not an integer. This fixes a warning and prevents
42983 precision loss on 64-bit systems.
42984 (relocate_addresses): Remove unneeded cast.
42985
afc3b5d7 429862008-07-15 Pavel Roskin <proski@gnu.org>
42987
506b2b3e 42988 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42989
62ead89c 42990 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42991
c4cd51d7 42992 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42993 Fix comparison between signed and unsigned.
42994
0d3d8f28 42995 * include/grub/i386/ieee1275/console.h: Declare
42996 grub_console_init() and grub_console_fini().
42997
8804b286 42998 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42999 It's empty and unused.
43000
ee01cf35 43001 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43002 beginning to avoid warnings with some compilers.
43003
afc3b5d7 43004 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43005 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43006
e4e8eaa5 430072008-07-14 Pavel Roskin <proski@gnu.org>
43008
407aceb4 43009 * kern/env.c (grub_register_variable_hook): Don't copy empty
43010 string, it leaks memory. Pass "" to grub_env_set(), it should
43011 handle constant strings.
43012
e4e8eaa5 43013 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43014 * commands/cmp.c (grub_cmd_cmp): Likewise.
43015 * kern/dl.c (grub_dl_flush_cache): Likewise.
43016 (grub_dl_load_core): Likewise.
43017 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43018 (grub_elf64_load_phdrs): Likewise.
43019
d4e2dad3 430202008-07-13 Pavel Roskin <proski@gnu.org>
43021
43022 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43023 between signed and unsigned.
43024 (LzmaEnc_Finish): Fix warning about an unused parameter.
43025
aa24b516 430262008-07-13 Bean <bean123ch@gmail.com>
43027
43028 * Makefile.in (enable_lzo): New rule.
43029
43030 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43031
43032 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43033
43034 * boot/i386/pc/lnxboot.S: #include <config.h>.
43035
43036 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43037 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43038
43039 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43040 compression algorithm according to configure macro.
43041
43042 * kern/i386/pc/startup.S (codestart): Likewise.
43043
43044 * kern/i386/pc/lzma_decode.S: New file.
43045
43046 * include/grub/lib/LzFind.h: Likewise.
43047
43048 * include/grub/lib/LzHash.h: Likewise.
43049
43050 * include/grub/lib/LzmaDec.h: Likewise.
43051
43052 * include/grub/lib/LzmaEnc.h: Likewise.
43053
43054 * include/grub/lib/LzmaTypes.h: Likewise.
43055
43056 * lib/LzFind.c: Likewise.
43057
43058 * lib/LzmaDec.c: Likewise.
43059
43060 * lib/LzmaEnc.c: Likewise.
43061
4ae821ac 430622008-07-13 Bean <bean123ch@gmail.com>
43063
43064 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43065 (grub_ext4_extent_header): New structure.
43066 (grub_ext4_extent): Likewise.
43067 (grub_ext4_extent_idx): Likewise.
43068 (grub_ext4_find_leaf): New function.
43069 (grub_ext2_read_block): Handle extents.
43070
9a745147 430712008-07-12 Robert Millan <rmh@aybabtu.com>
43072
43073 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43074
d49a4cf6 430752008-07-11 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/grub.d/40_custom.in: New file. Example on how to add custom
43078 entries to /etc/grub.d.
43079 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43080 40_custom (implicitly, by merging all the grub.d rules).
43081
947414b4 430822008-07-11 Pavel Roskin <proski@gnu.org>
43083
0059cf6f 43084 * commands/read.c (grub_getline): Fix invalid memory access.
43085 Don't add newline to the variable value.
43086
947414b4 43087 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43088 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43089 (serial_hw_get_port): Check validity of the port number.
43090 (grub_cmd_serial): Check return value of serial_hw_get_port().
43091
62a02d00 430922008-07-07 Pavel Roskin <proski@gnu.org>
43093
43094 * boot/i386/pc/diskboot.S (notification_string): Replace
43095 "Loading kernel" with just "loading". This is shorter, less
43096 confusing and saves a few bytes for possible future changes.
43097
3e5581b0 430982008-07-05 Pavel Roskin <proski@gnu.org>
43099
ea387a48 43100 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43101 size for ATAPI devices, they are undefined. Output sector
43102 number in decimal form.
43103
3e5581b0 43104 * disk/ata.c: Use named constants for status bits.
43105
fdecb8fd 431062008-07-04 Pavel Roskin <proski@gnu.org>
43107
bcd35b90 43108 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43109 grub_addr_t before casting it to the void pointer to fix a
43110 warning. Non-addressable regions are discarded earlier.
43111 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43112 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43113 (check_signature): Don't shadow table_header.
43114 (grub_linuxbios_table_iterate): Cast numeric constants to
43115 grub_linuxbios_table_header_t.
43116 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43117 grub_stop().
43118
af58ab3d 43119 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43120 prevent warnings.
43121
1759aa57 43122 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43123 pointer, which can cause warnings. Support 64-bit addresses.
43124
fdecb8fd 43125 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43126 of sizeof(long). This fixes PowerPC image generation on x86_64.
43127
8516d2a8 431282008-07-04 Robert Millan <rmh@aybabtu.com>
43129
43130 This fixes a performance issue when pc & gpt partmap iterators
43131 didn't abort iteration even after our hook found what it was
fe987087 43132 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43133
43134 Some callers relied on previous buggy behaviour, since they would
34c44600 43135 raise an error when their own hooks caused early abortion of its
8516d2a8 43136 iteration.
43137
43138 * kern/device.c (grub_device_open): Improve error message.
43139 * disk/lvm.c (grub_lvm_open): Likewise.
43140 * disk/raid.c (grub_raid_open): Likewise.
43141
43142 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43143 when hook requests it, independently of grub_errno.
43144 (pc_partition_map_probe): Do not fail when find_func() caused
43145 early abortion of pc_partition_map_iterate().
43146
43147 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43148 when hook requests it, independently of grub_errno.
43149 (gpt_partition_map_probe): Do not fail when find_func() caused
43150 early abortion of gpt_partition_map_iterate().
43151
43152 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43153 when hook requests it, independently of grub_errno. Do not fail when
43154 part_map_iterate_hook() caused early abortion of p->iterate().
43155
43156 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43157 when grub_partition_iterate() returned with non-zero.
43158
277d0de9 431592008-07-03 Pavel Roskin <proski@gnu.org>
43160
43161 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43162 like we do in grub_ata_pio_read().
43163 (grub_ata_readwrite): Always write individual sectors. Fix the
43164 sector count for the remainder.
43165 (grub_ata_write): Enable writing to ATA devices. Correctly
43166 report error for ATAPI devices.
43167
d4c9b428 431682008-07-02 Pavel Roskin <proski@gnu.org>
43169
e43fc690 43170 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43171 warning.
43172
f707af42 43173 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43174 for every read sector, we already increment it for the whole
43175 batch. This fixes reading more than 256 sectors at once.
43176
11e16b15 43177 * util/grub-editenv.c (cmd_info): Cast argument to long
43178 explicitly. ptrdiff_t reduces to int on i386.
43179
cbabfdd4 43180 * util/grub-editenv.c (main): Be specific which parameter is
43181 missing.
43182
b8fbce0a 43183 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43184 (memdisk): Make memdisk_orig_addr a pointer.
43185
c9c8e606 43186 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43187 for file offsets, use grub_off_t instead. Fix printf format
43188 warnings.
43189
ca62e598 43190 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43191 there. Real unexpected warnings should not drown in the noise
43192 about known problems.
43193
ce8d1766 43194 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43195 grub_disk_addr_t for memory addresses.
43196
00c7a56a 43197 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43198 explicitly to fix a warning.
43199
08d3ef09 43200 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43201
cb71ba20 43202 * Makefile.in (MODULE_LDFLAGS): New variable.
43203 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43204 the linker accepts --build-id=none.
43205 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43206 MODULE_LDFLAGS.
43207 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43208
d4c9b428 43209 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43210 those in Linux XFS code. Provide a way to access 64-bit parent
43211 inode.
43212 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43213 the end of struct grub_xfs_dir_header.
43214
d4156eee 432152008-07-02 Bean <bean123ch@gmail.com>
43216
43217 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43218 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43219 and GRUB_IEEE1275_FLAG_NO_ANSI.
43220
43221 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43222 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43223 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43224
43225 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43226 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43227
43228 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43229 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43230
43231 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43232 esc sequence on non ANSI terminal.
43233 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43234
43235 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43236 beginning of file.
43237
2270f77b 432382008-07-02 Bean <bean123ch@gmail.com>
43239
43240 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43241 (grub_editenv_SOURCES): New variable.
43242 (pkglib_MODULES): Add loadenv.mod.
43243 (loadenv_mod_SOURCES): New variable.
43244 (loadenv_mod_CFLAGS): Likewise.
43245 (loadenv_mod_LDFLAGS): Likewise.
43246
43247 * include/grub/envblk.h: New file.
43248
43249 * util/envblk.c: New file.
43250
43251 * util/grub-editenv.c: New file.
43252
43253 * commands/loadenv.c: New file.
43254
0e9e51ec 432552008-07-01 Pavel Roskin <proski@gnu.org>
43256
d89b7634 43257 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43258 not unsigned char. This fixes warnings and is consistent with
43259 other tags.
43260
bf1835b1 43261 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43262
8222a04b 43263 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43264
6a42d99d 43265 * term/tparm.c (analyze): Always set *popcount.
43266
10b159d1 43267 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43268 cast to fix a warning.
43269
b8789f6c 43270 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43271 cast to suppress a warning.
43272
29d7e38a 43273 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43274 grub_fshelp_read_file() expects.
43275
f341f669 43276 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43277 write uuid as a 32-bit value in CPU byte order, so declare and
43278 use it as such.
43279
0e9e51ec 43280 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43281 long if the format specifier expects it.
43282 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43283 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43284 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43285 long to fix a warning.
43286 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43287 grub_dprintf() arguments to fix warnings.
43288
3aefa857 432892008-06-30 Pavel Roskin <proski@gnu.org>
43290
56c7668b 43291 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43292 install_bsd_part immediately before core.img is embedded or
43293 modified on disk. This fixes core.img verification if core.img
43294 cannot be embedded.
43295
3aefa857 43296 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43297 core_path to calculate the blocklist.
43298 Patch from Javier Martín <lordhabbit@gmail.com>
43299
5444088d 433002008-06-29 Robert Millan <rmh@aybabtu.com>
43301
43302 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43303 block to disk block.
43304 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43305 Patch from Niels Böhm <bitbucket@arcor.de>
43306
674835c8 433072008-06-29 Robert Millan <rmh@aybabtu.com>
43308
43309 * util/update-grub_lib.in (font_path): Search for fonts in
43310 /boot/grub first, which is more likely to be readable (we aren't
43311 deciding where fonts live, just looking for them).
43312
f527dbc8 433132008-06-26 Pavel Roskin <proski@gnu.org>
43314
6c2d8df6 43315 * util/biosdisk.c (read_device_map): Don't leave dead map
43316 entries for devices failing stat() check.
43317
f527dbc8 43318 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43319 core_path_dev for the core.img path on the target device.
43320
aebe3d13 433212008-06-26 Robert Millan <rmh@aybabtu.com>
43322
43323 * disk/fs_uuid.c: New file.
43324 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43325 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43326 (fs_uuid_mod_LDFLAGS): New variables.
43327 * include/grub/disk.h (grub_disk_dev_id): Add
43328 `GRUB_DISK_DEVICE_UUID_ID'.
43329 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43330 implement iterate().
43331
37aaf354 433322008-06-26 Robert Millan <rmh@aybabtu.com>
43333
43334 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43335 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43336 Linux image includes no initrd.
43337
25ff262a 433382008-06-21 Javier Martín <lordhabbit@gmail.com>
43339
43340 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43341 call to resolve the core image location that effectively appended the
43342 name twice.
43343
76a2bd44 433442008-06-21 Robert Millan <rmh@aybabtu.com>
43345
43346 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43347 call from here ...
43348
43349 * util/grub.d/10_hurd.in: ... to here ...
43350 * util/grub.d/10_linux.in: ... and here.
43351
650e1c79 433522008-06-19 Robert Millan <rmh@aybabtu.com>
43353
fe987087 43354 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43355 after it has been set by grub_machine_set_prefix().
43356
6ce63911 433572008-06-19 Robert Millan <rmh@aybabtu.com>
43358
43359 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43360 search result when not saving to variable, not the other way around.
43361 When saving to variable, abort iteration as soon as a match is found.
43362
73940cec 433632008-06-19 Robert Millan <rmh@aybabtu.com>
43364
43365 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43366 check for partition that provides /boot/grub. Its logic is flawed,
43367 as it prevents prepare_grub_to_access_device() from being called
43368 multiple times.
43369
3c62a39d 433702008-06-19 Robert Millan <rmh@aybabtu.com>
43371
43372 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43373 "insmod" command directly when abstraction modules are needed,
fe987087 43374 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43375 since it had already been processed).
43376
47395a42 433772008-06-19 Pavel Roskin <proski@gnu.org>
43378
43379 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43380 changed. This is needed in case GRUB_LIBDIR changes.
43381 * conf/i386-ieee1275.rmk: Likewise.
43382 * conf/i386-linuxbios.rmk: Likewise.
43383 * conf/i386-pc.rmk: Likewise.
43384 * conf/powerpc-ieee1275.rmk: Likewise.
43385
a145ac2d 433862008-06-18 Pavel Roskin <proski@gnu.org>
43387
43388 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43389 kernel_elf_symlist.c to symlist.c for consistency with other
43390 architectures. Update all users.
43391 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43392
7847c51e 433932008-06-18 Robert Millan <rmh@aybabtu.com>
43394
43395 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43396 it in prefix.
43397
43398 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43399 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43400 a RAID device, run setup() for all members independently on whether
43401 LVM abstraction is being used.
43402 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43403 If grub-mkimage has set `*install_dos_part == -2', don't override this
43404 value.
43405 Perform *install_dos_part adjustments independently on whether
43406 we're embedding or not.
43407 Clarify error message when image is too big for embedding.
43408 Remove duplicate *install_dos_part stanza.
43409
b23e5644 434102008-06-17 Robert Millan <rmh@aybabtu.com>
43411
43412 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43413 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43414 variables.
43415 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43416 values in grub_ofconsole_normal_color and
43417 grub_ofconsole_highlight_color (they're not directly related to
43418 background and foreground).
43419 (grub_ofconsole_setcolorstate): Extract background and foreground
43420 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43421
0aac2f79 434222008-06-17 Robert Millan <rmh@aybabtu.com>
43423
43424 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43425 /boot/grub for the check in last commit, not /boot (they could be
43426 different partitions).
43427
3cca7ef3 434282008-06-16 Robert Millan <rmh@aybabtu.com>
43429
43430 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43431 asked to setup access for the same partition that provides /boot,
43432 don't bother using UUIDs since our root already has the value we
43433 want.
43434
347396d8 434352008-06-16 Robert Millan <rmh@aybabtu.com>
43436
43437 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43438 I2O devices.
43439 Patch from Sven Mueller <sven@debian.org>.
43440
991477f8 434412008-06-16 Robert Millan <rmh@aybabtu.com>
43442
43443 * util/update-grub.in: Check for $EUID instead of $UID.
43444 Reported by Vincent Zweije.
43445
d31a32a1 434462008-06-16 Bean <bean123ch@gmail.com>
43447
fe987087 43448 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43449 (grub_ext2_read_block): Likewise.
43450 (grub_ext2_read_inode): Likewise.
43451 (grub_ext2_mount): Likewise.
43452 (grub_ext2_close): Likewise.
43453 (grub_ext3_get_journal): Removed.
43454
fe987087 43455 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43456 (grub_reiserfs_read_symlink): Likewise.
43457 (grub_reiserfs_mount): Likewise.
43458 (grub_reiserfs_open): Likewise.
43459 (grub_reiserfs_read): Likewise.
43460 (grub_reiserfs_close): Likewise.
43461 (grub_reiserfs_get_journal): Removed.
43462
43463 * fs/fshelp.c (grub_fshelp_read): Removed.
43464 (grub_fshelp_map_block): Likewise.
43465
43466 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43467 (grub_fshelp_journal): Likewise.
43468 (grub_fshelp_read): Likewise.
43469 (grub_fshelp_map_block): Likewise.
43470
3540a760 434712008-06-16 Pavel Roskin <proski@gnu.org>
43472
43473 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43474 floating point anymore.
43475 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43476
95614c84 434772008-06-15 Pavel Roskin <proski@gnu.org>
43478
43479 * commands/ls.c (grub_ls_list_files): Use integer calculations
43480 for human readable format, avoid floating point use.
43481 * kern/misc.c (grub_ftoa): Remove.
43482 (grub_vsprintf): Remove floating point support.
43483
50465dd6 434842008-06-15 Robert Millan <rmh@aybabtu.com>
43485
fe6b695a 43486 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43487 devices.
43488 Reported by Max Vozeler.
43489
a9207284 434902008-06-15 Robert Millan <rmh@aybabtu.com>
43491
43492 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43493 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43494 skipped later.
43495 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43496 the beginning of the prefix.
43497
43498 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43499 It is assumed that if we have a memdisk, grub-mkimage has set
43500 grub_prefix to include the "(memdisk)" drive in it.
43501
a7cbd45a 435022008-06-15 Robert Millan <rmh@aybabtu.com>
43503
43504 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43505 Initialize keyboard controller after registering the terminal, so that
43506 grub_printf() can be called from grub_keyboard_controller_init().
43507
21cf716a 435082008-06-15 Robert Millan <rmh@aybabtu.com>
43509
43510 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43511 extent-btree which is written as big endian on disk.
43512 Reported by Alain Greppin <al@chilibi.org>.
43513
23a64d8e 435142008-06-14 Robert Millan <rmh@aybabtu.com>
43515
43516 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43517 * util/i386/pc/grub-install.in (modules): Likewise.
43518
d687651c 435192008-06-13 Pavel Roskin <proski@gnu.org>
43520
43521 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43522
dfe9ddd4 435232008-06-13 Bean <bean123ch@gmail.com>
43524
43525 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43526
43527 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43528
43529 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43530 to indicate sparse block.
43531
16ae7781 435322008-06-12 Pavel Roskin <proski@gnu.org>
43533
e6d1a308 43534 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43535 number, grub_fshelp_read() does it for us.
43536
16ae7781 43537 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43538 linear disk read with journal translation.
43539 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43540 * include/grub/fshelp.h: Declare grub_fshelp_read().
43541
40fd3a2b 435422008-06-09 Pavel Roskin <proski@gnu.org>
43543
43544 * fs/minix.c (grub_minix_mount): Handle error reading
43545 superblock.
43546
f5679726 435472008-06-08 Robert Millan <rmh@aybabtu.com>
43548
43549 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43550 don't append the RAID prefix afterwards.
43551 Reported by Clint Adams.
43552
ce525529 435532008-06-08 Robert Millan <rmh@aybabtu.com>
43554
43555 Based on description from Pavel:
43556 * kern/disk.c (grub_disk_check_range): Rename to ...
43557 (grub_disk_adjust_range): ... this. Add a comment explaining the
43558 tasks performed by this function.
43559
ad4936a0 435602008-06-08 Robert Millan <rmh@aybabtu.com>
43561
43562 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43563 `num_serial' (for consistency with other variables).
43564 (struct grub_ntfs_data): Add `uuid' member.
43565 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43566 (grub_ntfs_uuid): New function.
43567 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43568
dc20b0f9 435692008-06-07 Pavel Roskin <proski@gnu.org>
43570
43571 * util/biosdisk.c (open_device): Revert last change to the
43572 function, it broke installation. The sector needs to be
43573 different dependent on which device is opened.
43574
c5e3cfba 435752008-06-06 Robert Millan <rmh@aybabtu.com>
43576
43577 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43578 rest of GRUB, and breakage doesn't happen if its value were modified.
43579
43580 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43581 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43582 a constant (same value).
43583 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43584 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43585
26a1f8c4 435862008-06-06 Robert Millan <rmh@aybabtu.com>
43587
43588 * util/biosdisk.c (open_device): Do not modify sector offset when
43589 accessing a partition. kern/disk.c already handles this for us.
43590
25d6b327 435912008-06-06 Robert Millan <rmh@aybabtu.com>
43592
43593 * util/grub-emu.c (grub_machine_init): Move code in this function from
43594 here ...
43595 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43596 segfault in case grub_printf() is called).
43597
43598 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43599 grub_probe. Update all users not to explicitly add it again.
43600 (grub_device): New variable; contains corresponding device for grubdir.
43601 (fs_module, partmap_module, devabstraction_module): Pass
43602 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43603 every time.
43604
9ece62fb 436052008-06-05 Robert Millan <rmh@aybabtu.com>
43606
43607 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43608 is found, print it (same layout as with labels).
43609
1ad36d37 436102008-06-04 Robert Millan <rmh@aybabtu.com>
43611
43612 * util/biosdisk.c (get_drive): Rename to ...
43613 (find_grub_drive): ... this. Update all users.
43614
43615 (get_os_disk): Rename to ...
43616 (convert_system_partition_to_system_disk): ... this. Update all users.
43617
43618 (find_drive): Rename to ...
43619 (find_system_device): ... this. Update all users.
43620
e6a30859 436212008-06-04 Robert Millan <rmh@aybabtu.com>
43622
43623 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43624 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43625 (make_device_map): Likewise.
43626
00c108a4 436272008-06-01 Robert Millan <rmh@aybabtu.com>
43628
43629 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43630 before dereferencing it.
43631
43632 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43633 union with fat12/fat16-specific ones. Add some new fields, including
43634 `num_serial' for both versions.
43635 (struct grub_fat_data): Add `uuid' member.
43636 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43637 names. Initialize `data->uuid' using `num_serial'.
43638 (grub_fat_uuid): New function.
43639 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43640
43641 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43642 (grub_reiserfs_uuid): New function.
43643 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43644 member.
43645
43646 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43647 (grub_xfs_uuid): New function.
43648 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43649
1385c5bb 436502008-06-01 Robert Millan <rmh@aybabtu.com>
43651
43652 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43653 code that is backward compatible with pre-uuid search command.
43654
c682dfd7 436552008-05-31 Robert Millan <rmh@aybabtu.com>
43656
43657 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43658 floppies after everything else, to ensure floppy drive isn't accessed
43659 unnecessarily (patch from Bean).
43660
b7db5d47 436612008-05-31 Robert Millan <rmh@aybabtu.com>
43662
43663 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43664 not print device names when we were asked to set a variable.
43665
6e037aa9 436662008-05-31 Robert Millan <rmh@aybabtu.com>
43667
43668 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43669 using "cursor-on" and "cursor-off" commands (understood at least by
43670 the Open Firmware flavour on OLPC).
43671
41305bc8 436722008-05-31 Michael Gorven <michael@gorven.za.net>
43673
43674 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43675 on and off sequences.
43676
69ba137e 436772008-05-31 Robert Millan <rmh@aybabtu.com>
43678
43679 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43680 * util/update-grub.in: Likewise.
43681
520ae21b 436822008-05-30 Pavel Roskin <proski@gnu.org>
43683
43684 * util/biosdisk.c (linux_find_partition): Simplify logic and
43685 make the code more universal. Keep special processing for
43686 devfs, but use a simple rule for all other devices. If the
43687 device ends with a number, append 'p' and the partition number.
43688 Otherwise, append only the partition number.
43689
5786569b 436902008-05-30 Robert Millan <rmh@aybabtu.com>
43691
43692 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43693 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43694 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43695 the `root' parameter to Linux.
43696
51500452 436972008-05-30 Robert Millan <rmh@aybabtu.com>
43698
43699 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43700 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43701 --fs_uuid with --fs-uuid.
43702 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43703 all filesystems support them).
43704
811d3878 437052008-05-30 Robert Millan <rmh@aybabtu.com>
43706
43707 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43708 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43709
cab63c95 437102008-05-30 Robert Millan <rmh@aybabtu.com>
43711
43712 * util/grub.d/00_header.in: Remove obsolete comment referencing
43713 convert_system_path_to_grub_path().
43714 * util/update-grub.in: Likewise.
43715 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43716 (convert_system_path_to_grub_path): Add a warning message explaining
43717 that this function is deprecated. Rely on is_path_readable_by_grub()
43718 for the readability checks.
43719 (font_path): Use is_path_readable_by_grub() for the readability
43720 check rather than convert_system_path_to_grub_path().
43721
972e2f7a 437222008-05-30 Robert Millan <rmh@aybabtu.com>
43723
43724 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43725 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43726 converting it first.
43727 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43728 grub.cfg for access to font file, and afterwards call it again to set
43729 the root device.
43730
62191274 437312008-05-30 Robert Millan <rmh@aybabtu.com>
43732
43733 * commands/search.c (options): Add --fs_uuid option.
43734 (search_fs_uuid): New function.
43735 (grub_cmd_search): Fix --set argument passing.
43736 Use search_fs_uuid() when requested via --fs_uuid.
43737 (grub_search_init): Update help message.
43738 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43739 and redeclare it as an array of 16-bit words.
43740 (grub_ext2_uuid): New function.
43741 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43742 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43743 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43744 (GRUB_DEVICE_BOOT_UUID): New variables.
43745 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43746 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43747 whenever possible.
43748 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43749 just assume `root' variable has the right value.
43750 * util/grub.d/10_linux.in: Likewise.
43751 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43752 via PRINT_FS_UUID.
43753 (main): Recognise `-t fs_uuid' argument.
43754
01b73ec8 437552008-05-30 Robert Millan <rmh@aybabtu.com>
43756
43757 * util/biosdisk.c (map): Redefine structure to hold information
43758 about GRUB drive name.
fe6b695a 43759 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43760 drive names.
43761 (call_hook): Remove.
43762 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43763 member. Assume drive has partitions.
43764 (grub_util_biosdisk_open): Access device names via `.device' struct
43765 member.
43766 (open_device): Likewise.
43767 (find_drive): Likewise.
43768 (read_device_map): Adjust map[] usage to match the new struct
43769 definition. Don't check for duplicates (still possible, but not cheap
43770 anymore).
43771 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43772 (make_device_name): Remove assumption of BIOS-like drive names.
43773
22f16596 437742008-05-30 Pavel Roskin <proski@gnu.org>
43775
43776 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43777 compiling execute.c doesn't need grub_script.tab.h anymore.
43778 (normal/command.c_DEPENDENCIES): Likewise.
43779 (normal/function.c_DEPENDENCIES): Likewise.
43780 * conf/i386-ieee1275.rmk: Likewise.
43781 * conf/i386-linuxbios.rmk: Likewise.
43782 * conf/i386-pc.rmk: Likewise.
43783 * conf/powerpc-ieee1275.rmk: Likewise.
43784 * conf/sparc64-ieee1275.rmk: Likewise.
43785
528ad8f2 437862008-05-29 Pavel Roskin <proski@gnu.org>
43787
d1dff95d 43788 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43789 when scanning metadata for volume group name.
43790
528ad8f2 43791 * include/grub/script.h: Don't include grub_script.tab.h. It's
43792 a generated file, which may only be included from the files with
43793 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43794 use union YYSTYPE, as the later allows forward declaration.
43795 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43796
47248e08 437972008-05-29 Robert Millan <rmh@aybabtu.com>
43798
43799 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43800 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43801 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43802 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43803 scan codes.
43804
ee632529 438052008-05-29 Robert Millan <rmh@aybabtu.com>
43806
43807 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43808 control key combinations.
43809
eee96e08 438102008-05-29 Robert Millan <rmh@aybabtu.com>
43811
43812 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43813 * util/ieee1275/grub-install.in: ... to here.
43814 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43815 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43816 (grub_install_SOURCES): Likewise.
43817
da9a6a94 438182008-05-29 Robert Millan <rmh@aybabtu.com>
43819
43820 * fs/affs.c: Update copyright year.
43821 * fs/ext2.c: Likewise.
43822 * fs/fshelp.c: Likewise.
43823 * fs/hfsplus.c: Likewise.
43824 * fs/ntfs.c: Likewise.
43825 * fs/xfs.c: Likewise.
43826 * include/grub/fshelp.h: Likewise.
43827 * util/grub-mkdevicemap.c: Likewise.
43828
12e65f3a 438292008-05-28 Robert Millan <rmh@aybabtu.com>
43830
43831 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43832 might need to be fatfs to support some firmware implementations
43833 (e.g. OFW or EFI).
43834
23023641 438352008-05-28 Robert Millan <rmh@aybabtu.com>
43836
43837 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43838 devices.
43839 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43840 (make_device_map): Likewise.
43841
887d2619 438422008-05-20 Bean <bean123ch@gmail.com>
43843
43844 * fs/fshelp.c (grub_fshelp_map_block): New function.
43845 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43846 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43847
43848 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43849 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43850 (grub_fshelp_journal): New structure.
43851 (grub_fshelp_map_block): New function prototype.
43852 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43853 (grub_fshelp_map_block): Likewise.
43854
43855 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43856 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43857 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43858 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43859 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43860 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43861 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43862 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43863 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43864 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43865 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43866 (grub_ext2_sblock): New members for journal support.
43867 (grub_ext3_journal_header): New structure.
43868 (grub_ext3_journal_revoke_header): Likewise.
43869 (grub_ext3_journal_block_tag): Likewise.
43870 (grub_ext3_journal_sblock): Likewise.
43871 (grub_fshelp_node): New members logfile and journal.
43872 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43873 grub_fshelp_map_block to get real block number.
43874 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43875 number.
43876 (grub_ext2_read_inode): Likewise.
43877 (grub_ext3_get_journal): New function.
43878 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43879 (grub_ext2_close): Release memory used by journal.
43880
43881 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43882 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43883 (grub_reiserfs_transaction_header): Renamed to
43884 grub_reiserfs_description_block, replace field data with real_blocks.
43885 (grub_reiserfs_commit_block): New structure.
43886 (grub_reiserfs_data): New member journal.
43887 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43888 number.
43889 (grub_reiserfs_read_symlink): Likewise.
43890 (grub_reiserfs_iterate_dir): Likewise.
43891 (grub_reiserfs_open): Likewise.
43892 (grub_reiserfs_read): Likewise.
43893 (grub_reiserfs_get_journal): New function.
43894 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43895 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43896 using grub_reiserfs_get_journal.
43897 (grub_reiserfs_close): Release memory used by journal.
43898
43899 * fs/affs.c (grub_affs_read_block): Change block type to
43900 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43901
43902 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43903
43904 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43905
43906 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43907
43908 * fs/udf.c (grub_udf_read_block): Change block type to
43909 grub_disk_addr_t. Use type cast to avoid warning.
43910
43911 * fs/xfs.c (grub_xfs_read_block): Likewise.
43912
b7c6bed5 439132008-05-16 Christian Franke <franke@computer.org>
43914
43915 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43916 to ensure that break with ESC will always work.
43917 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43918 Remove ESC from keyboard queue.
43919
eedf167f 439202008-05-16 Christian Franke <franke@computer.org>
43921
43922 * util/biosdisk.c: [__CYGWIN__] Add includes.
43923 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43924 (get_os_disk): Move variable declarations to OS specific
43925 parts to avoid warning.
43926 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43927 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43928 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43929 Cygwin.
43930 * util/getroot.c: [__CYGWIN__] Add includes.
43931 (strip_extra_slashes): Fix "/" case.
43932 [__CYGWIN__] (get_win32_path): New function.
43933 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43934 [__CYGWIN__] (find_root_device): Disable.
43935 [__CYGWIN__] (get_bootsec_serial): New function.
43936 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43937 [__linux__] (grub_guess_root_device): Add early returns to simplify
43938 structure.
43939 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43940 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43941 check for Linux only.
43942
a079699e 439432008-05-15 Bean <bean123ch@gmail.com>
43944
43945 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43946 keyboard hang problem in apple's intel mac.
43947
1cf4059a 439482008-05-09 Robert Millan <rmh@aybabtu.com>
43949
43950 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43951 devices.
43952 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43953 (make_device_map): Likewise.
43954 Reported by Aurelien Jarno <aurel32@debian.org>
43955
ed759390 439562008-05-07 Ian Campbell <ijc@hellion.org.uk>
43957
43958 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43959 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43960 (make_device_map): Output entries for xvd type disks.
43961
b56c4eaa 439622008-05-07 Robert Millan <rmh@aybabtu.com>
43963
43964 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43965 devices.
43966 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43967 (make_device_map): Likewise.
43968 Reported by Roland Dreier <rdreier@cisco.com>
43969
7f8866ed 439702008-05-07 Robert Millan <rmh@aybabtu.com>
43971
43972 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43973 grub_strstr() call. Correct a few mistakes in failure path handling.
43974
b0346e0f 439752008-05-06 Robert Millan <rmh@aybabtu.com>
43976
43977 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43978 Do not print a trailing slash (therefore, the root directory is an
43979 empty string).
43980 (convert_system_path_to_grub_path): Do not remove trailing slash
43981 from make_system_path_relative_to_its_root() output.
43982
43983 * util/i386/pc/grub-install.in: Add trailing slash to output from
43984 make_system_path_relative_to_its_root().
43985
6cf12cbd 439862008-05-06 Robert Millan <rmh@aybabtu.com>
43987
43988 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43989 ensures that output lines aren't intermangled with those sent to
43990 stderr (via grub_util_info()).
43991 * util/grub-probe.c (grub_refresh): Likewise.
43992 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43993
0fbb3117 439942008-05-05 Christian Franke <franke@computer.org>
43995
43996 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43997 Add Cygwin device names.
43998 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43999 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44000 (check_device): Return error instead of success on empty name.
44001 (make_device_map): Move label inside linux specific code to
44002 prevent compiler warning.
44003
8124cdb7 440042008-04-30 Robert Millan <rmh@aybabtu.com>
44005
44006 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44007 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44008 first boot option.
44009 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44010
094c01d0 440112008-04-29 Robert Millan <rmh@aybabtu.com>
44012
44013 * docs/grub.cfg: New file (example GRUB configuration).
44014
f4b1fc02 440152008-04-26 Robert Millan <rmh@aybabtu.com>
44016
329ce2a5 44017 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44018 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44019 and `disk/ieee1275/nand.c'.
f4b1fc02 44020
25f16ec1 440212008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44022
25f16ec1 44023 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44024 i386-linuxbios.
44025
44026 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44027 change the buffer size to 4096 for cdrom device.
44028
44029 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44030 and nand.mod.
44031 (_linux_mod_SOURCES): New variable.
44032 (_linux_mod_CFLAGS): Likewise.
44033 (_linux_mod_LDFLAGS): Likewise.
44034 (linux_mod_SOURCES): Likewise.
44035 (linux_mod_CFLAGS): Likewise.
44036 (linux_mod_LDFLAGS): Likewise.
44037 (nand_mod_SOURCES): Likewise.
44038 (nand_mod_CFLAGS): Likewise.
44039 (nand_mod_LDFLAGS): Likewise.
44040
44041 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44042 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44043 type property. (nand device in olpc don't have this property)
44044
44045 * include/grub/disk.h (grub_disk_dev_id): New macro
44046 GRUB_DISK_DEVICE_NAND_ID.
44047
44048 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44049 function prototype.
44050 (grub_rescue_cmd_initrd): Likewise.
44051
44052 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44053 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44054 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44055
25f16ec1 44056 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44057 GRUB_MACHINE_IEEE1275 is defined.
44058
44059 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44060 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44061
44062 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44063 on nested function heap_init.
44064 (grub_upper_mem): New variable for i386-ieee1275.
44065 (grub_get_extended_memory): New function for i386-ieee1275.
44066 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44067
44068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44069 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44070 property.
f19dbdb7 44071
25f16ec1 44072 * loader/i386/ieee1275/linux.c: New file.
44073
44074 * loader/i386/ieee1275/linux_normal.c: New file.
44075
44076 * disk/ieee1275/nand.c: New file.
44077
e89d61e9 440782008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44079
44080 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44081 value.
44082 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44083
602566f6 440842008-04-18 Robert Millan <rmh@aybabtu.com>
44085
44086 Restructures early code path on ieee1275 to unify grub_main() as
44087 the first C function that is executed in every platform.
44088
44089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44090 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44091 cmain().
44092 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44093 * kern/ieee1275/cmain.c (cmain): Rename to ...
44094 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44095 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44096 at the beginning.
44097
57490c2b 440982008-04-18 Robert Millan <rmh@aybabtu.com>
44099
44100 * util/update-grub.in: Fix syntax error when setting
44101 `GRUB_PRELOAD_MODULES'.
44102 Reported by Stephane Chazelas <stephane@artesyncp.com>
44103
1977517d 441042008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44105
44106 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44107 section into account, newer toolchains generate unique build ids
44108 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44109 we want build ids to be preserved
1977517d 44110 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44111 far from other sections don't cause the raw binary images grow
44112 size
44113
bfb1f1a2 441142008-04-15 Robert Millan <rmh@aybabtu.com>
44115
44116 * disk/lvm.c: Update copyright year.
44117 * kern/misc.c: Likewise.
44118
01979850 441192008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44120
44121 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44122 there is no memory left for physical volume name.
01979850 44123
0a1150e2 441242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44125
44126 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44127 volume name mapping to support bigger than 9 character names properly.
44128
82ead3fe 441292008-04-13 Robert Millan <rmh@aybabtu.com>
44130
44131 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44132 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44133
e54a72f5 441342008-04-13 Christian Franke <franke@computer.org>
44135
44136 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44137 to create a floppy emulation boot CD when non emulation mode
44138 does not work.
44139 Enable Joliet CD filesystem extension.
44140
9fe86034 441412008-04-13 Robert Millan <rmh@aybabtu.com>
44142
44143 * kern/misc.c (grub_strncat): Fix off-by-one error.
44144 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44145
44146 * kern/env.c (grub_env_context_close): Clear current context, not
44147 previous one.
44148 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44149
44150 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44151
7ceeee39 441522008-04-13 Robert Millan <rmh@aybabtu.com>
44153
44154 Improve robustness when handling LVM.
44155
44156 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44157 (and leave `*p' unmodified).
7ceeee39 44158 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44159 through it.
44160 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44161 iterating through it.
44162 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44163 through it.
fe6b695a 44164 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44165 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44166 Don't assume `vg->pvs != NULL' when iterating through it.
44167
58cd3d85 441682008-04-13 Robert Millan <rmh@aybabtu.com>
44169
44170 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44171 * genmk.rb (partmap): New variable.
44172 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44173 (#{partmap}): New target rule.
44174 * genpartmaplist.sh: New file.
44175 * Makefile.in (pkglib_DATA): Add partmap.lst.
44176 (partmap.lst): New target rule.
44177 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44178 modules (including all partition maps), instead of preloading them.
44179
78b51059 441802007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44181
44182 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44183 `linux-boot-prober' (if installed) to detect other operating
44184 systems which are installed on the computer and add them to
44185 the boot menu.
44186 * conf/common.rmk: Build and install 30_os-prober.
44187
a91627b4 441882008-04-12 Robert Millan <rmh@aybabtu.com>
44189
44190 * kern/powerpc/ieee1275/init.c: Move from here ...
44191 * kern/ieee1275/init.c: ... to here. Update all users.
44192
44193 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44194 * kern/ieee1275/cmain.c: ... to here. Update all users.
44195
44196 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44197 * kern/ieee1275/openfw.c: ... to here. Update all users.
44198
44199 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44200 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44201
322562ea 442022008-04-10 Pavel Roskin <proski@gnu.org>
44203
44204 * configure.ac: Always use "_cv_" in cache variables for
44205 compatibility with Autoconf 2.62.
44206
a02a73c5 442072008-04-07 Robert Millan <rmh@aybabtu.com>
44208
44209 Revert grub/machine/init.h addition by Pavel (since it breaks on
44210 i386-ieee1275 and others):
44211 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44212 * util/powerpc/ieee1275/misc.c: Likewise.
44213
25c024b1 442142008-04-07 Robert Millan <rmh@aybabtu.com>
44215
44216 * util/grub-probe.c (probe): Improve error message.
44217
3cbd2f98 442182008-04-07 Robert Millan <rmh@aybabtu.com>
44219
44220 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44221 (this prevents the presence of a bogus entry from ruining the whole
44222 thing).
44223
87a297bf 442242008-04-06 Pavel Roskin <proski@gnu.org>
44225
36747a62 44226 * util/biosdisk.c: Include grub/util/biosdisk.h.
44227 * util/grub-fstest.c (execute_command): Make static.
44228 * util/grub-mkdevicemap.c (check_device): Likewise.
44229 * util/i386/pc/misc.c: Include grub/machine/init.h.
44230 * util/powerpc/ieee1275/misc.c: Likewise.
44231 * util/lvm.c: Include grub/util/lvm.h.
44232 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44233 grub/cache.h.
44234 * util/raid.c: Include grub/util/raid.h.
44235 (grub_util_getdiskname): Make static.
44236
87a297bf 44237 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44238 grub_hostfs_fini(), as they are called from grub_init_all() and
44239 grub_fini_all() respectively. This fixes an infinite loop in
44240 grub-fstest due to double registration of hostfs.
44241 Reported by Christian Franke <Christian.Franke@t-online.de>
44242
f6ce7629 442432008-04-05 Pavel Roskin <proski@gnu.org>
44244
44245 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44246 all 8 functions. Otherwise, probe function 0 only.
44247
070e49e4 442482008-04-04 Pavel Roskin <proski@gnu.org>
44249
8b088a4c 44250 * commands/lspci.c (grub_lspci_iter): Print the bus number
44251 correctly.
44252
4f657021 44253 * commands/lspci.c (grub_pci_classes): Fix typos.
44254 (grub_lspci_iter): Don't print func twice. Print vendor ID
44255 before device ID, as it's normally done.
44256
070e49e4 44257 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44258 Fix signedness warnings.
44259 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44260 Likewise.
44261 * util/ieee1275/get_disk_name.c: Include config.h so that
44262 _GNU_SOURCE is defined and getline() is declared. Mark an
44263 unused argument as such. Fix a signedness warning.
44264
ba7328dc 442652008-04-02 Pavel Roskin <proski@gnu.org>
44266
26887f22 44267 * genkernsyms.sh.in: Use more robust assignments for CC and
44268 srcdir. Quote srcdir.
44269 * gensymlist.sh.in: Likewise. Assert at the compile time that
44270 the symbol table is not empty.
44271
ba7328dc 44272 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44273 * fs/cpio.c (grub_cpio_read): Likewise.
44274
0f582c6b 442752008-04-01 Pavel Roskin <proski@gnu.org>
44276
4b6e1995 44277 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44278 * disk/host.c (grub_host_open): Likewise.
44279 * disk/loopback.c (grub_loopback_open): Likewise.
44280 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44281 disk->id as in disk/host.c, not a multi-character constant.
44282
828a2768 44283 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44284 later is obsolete, potentially dangerous and sets a bad example.
44285 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44286 * util/misc.c (grub_util_get_image_size): Likewise.
44287
2bb4fb47 44288 * disk/loopback.c (options): Improve help for "--partitions".
44289
0f582c6b 44290 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44291 options to align them with the short options, e.g. "echo -e".
44292
a33224e0 442932008-03-31 Bean <bean123ch@gmail.com>
44294
44295 * video/reader/png.c (grub_png_data): New member is_16bit and
44296 image_data.
44297 (grub_png_decode_image_header): Detect 16 bit png image.
44298 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44299 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44300 (grub_video_reader_png): Release memory occupied by image_data.
44301
44302 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44303 4096 bytes.
44304 (grub_nfs_mount): Skip the test for sector per cluster.
44305
44306 * include/grub/ntfs.h (MAX_SPC): Removed.
44307
86cb4f54 443082008-03-31 Bean <bean123ch@gmail.com>
44309
44310 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44311 (grub_probe_SOURCES): Add fs/afs.c.
44312 (grub_fstest_SOURCES): Likewise.
44313 (afs_mod_SOURCES): New variable.
44314 (afs_mod_CFLAGS): Likewise.
44315 (afs_mod_LDFLAGS): Likewise.
44316
44317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44318 (grub_emu_SOURCES): Likewise.
44319
44320 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44321
44322 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44323
44324 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44325
44326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44327
44328 * fs/afs.c: New file.
44329
17c74c21 443302008-03-30 Pavel Roskin <proski@gnu.org>
44331
4cb68e89 44332 * disk/host.c: Include grub/misc.h to fix a warning.
44333 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44334 warnings about implicit declarations.
44335
8790bb04 44336 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44337 variable.
44338 * include/grub/i386/loader.h: Change declaration of
44339 grub_linux_boot() to match what grub_loader_set() expects.
44340 * util/getroot.c (grub_guess_root_device): Return const char* to
44341 fix a warning.
44342 * util/grub-probe.c (probe): Fix a warning about uninitialized
44343 abstraction_name variable.
44344 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44345 second argument as unused to fix a warning.
44346
9a3f3296 44347 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44348 missing grub_error() call.
44349
0ecef90d 44350 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44351 2.60 and newer uses it to define datadir.
44352
0bf6d401 44353 * commands/sleep.c: Fix warning about implicit declaration.
44354 * disk/memdisk.c: Likewise.
44355 * loader/aout.c: Likewise.
44356 * loader/i386/bsd_normal.c: Likewise.
44357 * util/grub-probe.c: Likewise.
44358
7cdacf97 44359 * commands/i386/cpuid.c (has_longmode): Make static.
44360 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44361 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44362
17c74c21 44363 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44364 GDT. This is more robust, as %ds can change.
44365 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44366 calling real_to_prot().
44367 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44368
80a3e68b 443692008-03-28 Pavel Roskin <proski@gnu.org>
44370
44371 * kern/i386/pc/startup.S: Assert that uncompressed functions
44372 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44373 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44374 code, as they push parts of the code (error handlers) beyond
44375 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44376 code as correctness and size.
44377
77bcd272 443782008-03-28 Pavel Roskin <proski@gnu.org>
44379
44380 * kern/i386/pc/startup.S
44381 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44382 data block address to the real mode, keep offset minimal. This
44383 works around a bug in AWARD BIOS on old Athlon systems, which
44384 makes CD detection hang.
44385
c5dfd43b 443862008-03-26 Pavel Roskin <proski@gnu.org>
44387
44388 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44389 const.
44390 * include/grub/normal.h: Add grub_parse_color_name_pair()
44391 declaration.
44392
bf962df2 443932008-03-24 Bean <bean123ch@gmail.com>
44394
44395 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44396 (cd_count): Removed.
44397 (cd_drive): New variable.
44398 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44399 (grub_biosdisk_call_hook): Likewise.
44400 (grub_biosdisk_iterate): Change cdrom detection method.
44401 (grub_biosdisk_open): Replace cd_start with cd_drive.
44402 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44403 detect cdrom device.
44404
44405 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44406 Removed.
44407 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44408 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44409 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44410 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44411 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44412 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44413 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44414 (grub_biosdisk_cdrp): New structure.
44415 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44416
44417 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44418
44419 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44420 device.
44421
44422 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44423 New function.
44424
68e7fc7a 444252008-03-20 Robert Millan <rmh@aybabtu.com>
44426
44427 Remove 2 TiB limit in ata.mod.
44428 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44429 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44430 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44431 grub_uint64_t instead of grub_uint32_t.
44432
38ad2cf5 444332008-03-05 Bean <bean123ch@gmail.com>
44434
44435 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44436 (grub_multiboot): Set boot device.
44437
44438 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44439
2b89344e 444402008-03-02 Bean <bean123ch@gmail.com>
44441
44442 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44443 symlink_buffer.
44444
87a95d1f 444452008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44446
44447 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44448 texinfo.tex.
44449
44450 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44451 modified.
44452
44453 * docs/fdl.texi: New file.
f19dbdb7 44454
87a95d1f 44455 * docs/mdate-sh: New file. Copied from gnulib.
44456 * docs/texinfo.tex: Likewise.
44457
44458 * config.guess: Updated from gnulib.
44459 * install-sh: Likewise.
44460
7dc15d8e 444612008-02-28 Robert Millan <rmh@aybabtu.com>
44462
44463 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44464 (aout_mod_SOURCES): New variable.
44465 (aout_mod_CFLAGS): Likewise.
44466 (aout_mod_LDFLAGS): Likewise.
44467
44468 * conf/i386-ieee1275.rmk: Likewise.
44469
b00ab696 444702008-02-28 Robert Millan <rmh@aybabtu.com>
44471
44472 * util/update-grub.in: Reorganise terminal validity check. Accept
44473 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44474 Based on suggestion by Franklin PIAT.
44475
79ca2d78 444762008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44477
44478 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44479 function.
44480 * util/getroot.c (grub_util_check_block_device): New function that
44481 returns the given argument if it is a block device and returns NULL else.
44482 * util/grub-probe.c (argument_is_device): New variable.
44483 (probe): Promote device_name from a variable to an argument. Receive
44484 device_name from grub_util_check_block_device() if path is NULL and from
44485 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44486 (options): Introduce new parameter '-d, --device'.
79ca2d78 44487 (main): Add description of the new parameter to the help screen.
44488 Rename path variable to argument. Set argument_is_device if the '-d'
44489 option is given. Pass argument to probe() depending on
44490 argument_is_device.
44491
0d16e571 444922008-02-24 Bean <bean123ch@gmail.com>
44493
44494 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44495 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44496 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44497 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44498 (GRUB_ISO9660_VOLDESC_END): Likewise.
44499 (grub_iso9660_primary_voldesc): New member escape.
44500 (grub_iso9660_data): New member joliet.
44501 (grub_iso9660_convert_string): New function.
44502 (grub_iso9660_mount): Detect joliet extension.
44503 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44504 (grub_iso9660_iso9660_label): Likewise.
44505
44506 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44507 (grub_setup_SOURCES): Add fs/udf.c.
44508 (grub_fstest_SOURCES): Likewise.
44509 (udf_mod_SOURCES): New variable.
44510 (udf_mod_CFLAGS): Likewise.
44511 (udf_mod_LDFLAGS): Likewise.
44512
44513 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44514 (grub_emu_SOURCES): Likewise.
44515
44516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44517
44518 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44519
44520 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44521
44522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44523
44524 * fs/udf.c: New file.
44525
8a594a17 445262008-02-24 Robert Millan <rmh@aybabtu.com>
44527
44528 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44529 (normal/lexer.c_DEPENDENCIES): New variables.
44530 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44531 (normal/lexer.c_DEPENDENCIES): Likewise.
44532 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44533 (normal/lexer.c_DEPENDENCIES): Likewise.
44534 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44535 (normal/lexer.c_DEPENDENCIES): Likewise.
44536 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44537 (normal/lexer.c_DEPENDENCIES): Likewise.
44538 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44539 (normal/lexer.c_DEPENDENCIES): Likewise.
44540
2dc33c03 445412008-02-23 Robert Millan <rmh@aybabtu.com>
44542
44543 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44544 since they were intended to be in hex. This didn't break previously
44545 because of a bug in gpt_partition_map_iterate() (see below).
44546
44547 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44548 when checking the validity of GPT header.
44549 Remove `partno', since it always provides the same information as `i'.
44550
f6f4cfb0 445512008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44552
44553 * include/grub/efi/time.h: Fix a wrong comment.
44554
79ff665f 445552008-02-19 Pavel Roskin <proski@gnu.org>
44556
44557 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44558 message.
44559
d38e24c2 445602008-02-19 Bean <bean123ch@gmail.com>
44561
44562 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44563 (aout_mod_SOURCES): New variable.
44564 (aout_mod_CFLAGS): Likewise.
44565 (aout_mod_LDFLAGS): Likewise.
44566 (_bsd_mod_SOURCES): New variable.
44567 (_bsd_mod_CFLAGS): Likewise.
44568 (_bsd_mod_LDFLAGS): Likewise.
44569 (bsd_mod_SOURCES): New variable.
44570 (bsd_mod_CFLAGS): Likewise.
44571 (bsd_mod_LDFLAGS): Likewise.
44572
44573 * include/grub/aout.h: New file.
44574
44575 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44576
44577 * include/grub/i386/bsd.h: New file.
44578
44579 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44580 to make it public.
44581
44582 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44583 function is called, so that it's possible to change it inside the hook.
44584 (grub_elf64_load): Likewise.
44585 (grub_elf_file): Don't close the file if elf header is not found.
44586 (grub_elf_close): Close the file if grub_elf_file fails (The new
44587 grub_elf_file won't close it).
44588 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44589 (grub_elf64_size): Likewise.
44590
44591 * kern/i386/loader.S (grub_unix_real_boot): New function.
44592
44593 * loader/aout.c: New file.
44594
44595 * loader/i386/bsd.c: New file.
44596
44597 * loader/i386/bsd_normal.c: New file.
44598
44599 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44600
44601 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44602 can test other formats.
d38e24c2 44603
b93bdb0f 446042008-02-19 Robert Millan <rmh@aybabtu.com>
44605
44606 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44607 (grub_gpt_partition_type_empty): Redefine with macro from
44608 `<grub/gpt_partition.h>'.
44609 (gpt_partition_map_iterate): Adjust partition type comparison.
44610
44611 Export `entry' as partmap-specific `part.data' struct.
44612 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44613
44614 * include/grub/gpt_partition.h (grub_gpt_header)
44615 (grub_gpt_partentry): ... to here (new file).
44616
44617 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44618
44619 (grub_gpt_partition_type_bios_boot): New const variable, defined
44620 with macro from `<grub/gpt_partition.h>'.
44621
44622 (setup): Replace `first_start' with `embed_region', which keeps
44623 track of the embed region (and is partmap-agnostic).
44624
44625 Replace find_first_partition_start() with find_usable_region(),
44626 which finds a usable region for embedding using partmap-specific
44627 knowledge (supports PC/MSDOS and GPT).
44628
44629 Fix all assumptions that the embed region start at sector 1, using
44630 `embed_region.start' from now on. Similarly, use `embed_region.end'
44631 rather than `first_start' to calculate available size.
44632
44633 In grub_util_info() message, replace "into after the MBR" with an
44634 indication of the specific sector our embed region starts at.
44635
66cb40f6 446362008-02-19 Robert Millan <rmh@aybabtu.com>
44637
44638 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44639 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44640 `commands/reboot.c'.
44641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44642 (halt_mod_SOURCES): Likewise.
44643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44644 (halt_mod_SOURCES): Likewise.
44645
b7202015 446462008-02-17 Christian Franke <franke@computer.org>
44647
44648 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44649
32b0fc49 446502008-02-17 Robert Millan <rmh@aybabtu.com>
44651
44652 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44653 set `first_start' to 0 for non-PC/MSDOS partition maps.
44654
aca63502 446552008-02-16 Robert Millan <rmh@aybabtu.com>
44656
44657 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44658 do not assume partition map is PC/MSDOS before performing checks that
44659 are specific to that layout.
44660
0de8be86 446612008-02-13 Robert Millan <rmh@aybabtu.com>
44662
44663 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44664 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44665 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44666
c3db8364 446672008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44668
44669 * configure.ac: Only a cosmetic change on the handling of
44670 -fno-stack-protector.
44671
f714229e 446722008-02-12 Alexandre Boeglin <alex@boeglin.org>
44673
c3db8364 44674 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44675 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44676 reboot.c.
f714229e 44677 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44678 (halt_mod_SOURCES): New variable.
44679 (halt_mod_CFLAGS): Likewise.
44680 (halt_mod_LDFLAGS): Likewise.
44681 (reboot_mod_SOURCES): Likewise.
44682 (reboot_mod_CFLAGS): Likewise.
44683 (reboot_mod_LDFLAGS): Likewise.
44684
c3db8364 44685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44686 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44687 reboot.c.
f714229e 44688 (halt_mod_SOURCES): Likewise.
44689 (reboot_mod_SOURCES): Likewise.
44690
c3db8364 44691 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44692 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44693 (reboot_mod_SOURCES): Likewise.
44694
44695 * commands/i386/pc/reboot.c: merge this file ...
44696
44697 * commands/ieee1275/reboot.c: ... and this file ...
44698
44699 * commands/reboot.c: ... to this file.
c3db8364 44700 Add some precompiler directive to include the correct header for
44701 each machine.
f714229e 44702
44703 * commands/ieee1275/halt.c: move this file ...
44704
44705 * commands/halt.c: ... to here.
c3db8364 44706 Add some precompiler directive to include the correct header for
44707 each machine.
f714229e 44708
44709 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44710 (grub_halt): Likewise.
44711
44712 * kern/efi/efi.c (grub_reboot): New function.
44713 (grub_halt): Likewise.
44714
c74493e0 447152008-02-12 Robert Millan <rmh@aybabtu.com>
44716
44717 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44718 /dev (like it is done for /dev/mapper). This doesn't provide support
44719 for EVMS, but at least it is now easy to identify the problem when it
44720 arises.
44721
d0db4b04 447222008-02-11 Robert Millan <rmh@aybabtu.com>
44723
44724 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44725 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44726 comparing it with -1, not 0.
44727
bf748642 447282008-02-10 Robert Millan <rmh@aybabtu.com>
44729
44730 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44731 `disk/lvm.c'.
44732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44733 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44734
44735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44736 `disk/lvm.c' to the end of the list.
44737 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44738 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44739
b5db202a 447402008-02-10 Robert Millan <rmh@aybabtu.com>
44741
44742 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44743 grub_print_error() instead. This will let user know why we're entering
44744 rescue mode.
44745 Based on suggestions from Sam Morris.
44746
83abee31 447472008-02-10 Alexandre Boeglin <alex@boeglin.org>
44748
44749 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44750 on remaining N args, instead of "--" arg N times.
44751
78d5a08b 447522008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44753
44754 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44755 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44756 pattern for unknown glyphs.
44757
68807e5f 447582008-02-09 Robert Millan <rmh@aybabtu.com>
44759
44760 * configure.ac: Probe for `help2man'.
44761 * Makefile.in (builddir): New variable.
44762 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44763 or otherwise add a few flags/options to it.
44764 (install-local): For every executable utility or script that is
44765 installed, invoke $(HELP2MAN) to install a manpage based on --help
44766 output.
44767
44768 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44769 that it doesn't prevent --help from working in build tree.
44770
44771 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44772 with `bug-grub@gnu.org'.
44773 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44774 * util/update-grub.in (usage): New function.
44775 Implement proper argument check, with support for --help and --version
44776 (as well as existing -y).
44777
447782008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44779
44780 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44781 avoid overwriting previous output.
44782 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44783
c1962162 447842008-02-09 Robert Millan <rmh@aybabtu.com>
44785
44786 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44787 drawing the menu.
44788
3dac2e3f 447892008-02-09 Robert Millan <rmh@aybabtu.com>
44790
44791 * commands/sleep.c: New file.
44792 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44793 (sleep_mod_SOURCES): New variable.
44794 (sleep_mod_CFLAGS): Likewise.
44795 (sleep_mod_LDFLAGS): Likewise.
44796
7a634e08 447972008-02-09 Robert Millan <rmh@aybabtu.com>
44798
44799 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44800 situations in which we can deduce the RAID size and the superblock
44801 doesn't match it.
44802
b92f0c18 448032008-02-09 Robert Millan <rmh@aybabtu.com>
44804
44805 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44806 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44807 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44808
44809 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44810 and return a grub_diskmemberlist_t composed of physical array members.
44811 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44812
44813 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44814 prototype.
44815 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44816 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44817 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44818
44819 * util/grub-probe.c (probe): Move partmap probing code from here ...
44820 (probe_partmap): ... to here.
44821 (probe): Use probe_partmap() once for the disk we're probing, and
44822 additionally, when such disk contains a memberlist() struct member,
44823 once for each disk that is contained in the structure returned by
44824 memberlist().
44825
91a4bf68 448262008-02-09 Robert Millan <rmh@aybabtu.com>
44827
44828 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44829 environment variable to 'all' in order to obtain debug output from
44830 non-util/ code.
44831 * util/i386/pc/grub-setup.c (main): Likewise.
44832
a96f9caa 448332008-02-08 Robert Millan <rmh@aybabtu.com>
44834
44835 * disk/raid.c (grub_raid_scan_device): Check for
44836 `array->device[sb.this_disk.number]' rather than for
44837 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44838 guaranteed to be accessible.
a96f9caa 44839
b37a9222 448402008-02-08 Robert Millan <rmh@aybabtu.com>
44841
44842 * disk/raid.c: Update copyright.
44843 * fs/cpio.c: Likewise.
44844 * include/grub/raid.h: Likewise.
44845 * loader/i386/pc/multiboot.c: Likewise.
44846 * util/hostfs.c: Likewise.
44847
5626aee1 448482008-02-08 Robert Millan <rmh@aybabtu.com>
44849
44850 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44851 to a grub_disk_t array.
44852 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44853 `device[x]'.
44854 (grub_raid_scan_device): Replace `device[x].name' accesses with
44855 `device[x]->name'. Simplify initialization of `array->device[x]'.
44856
554f0187 448572008-02-08 Robert Millan <rmh@aybabtu.com>
44858
44859 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44860 grub_dprintf() calls.
44861 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44862 error message.
44863
1ec8425d 448642008-02-07 Christian Franke <franke@computer.org>
44865
44866 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44867 instead of fseek and ftell to support large files.
44868 (grub_hostfs_read): Likewise.
44869
f2156fda 448702008-02-07 Robert Millan <rmh@aybabtu.com>
44871
44872 Patch from Jeroen Dekkers.
44873 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44874 failure, since successfully reading all array members might not be
f2156fda 44875 required.
44876
9216e0e7 448772008-02-06 Robert Millan <rmh@aybabtu.com>
44878
44879 * util/grub-probe.c (probe): Simplify partmap probing (with the
44880 assumption that the first word up to the underscore equals to
44881 the module name).
44882
b0dfd29a 448832008-02-06 Christian Franke <franke@computer.org>
44884
44885 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44886 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44887 last block of a cpio or tar stream.
44888 Check for "TRAILER!!!" instead of any empty data
44889 block to detect last block of a cpio stream.
44890 (grub_cpio_dir): Fix constness of variable np.
44891 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44892 cpio or tar trailer is detected. This fixes a crash
44893 on open of a non existing file.
44894
c32865bf 448952008-02-05 Bean <bean123ch@gmail.com>
44896
44897 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44898 address of entry.
44899 (grub_multiboot_load_elf64): Likewise.
44900 (grub_multiboot): Initialize mbi structure.
44901
44902 * util/grub-fstest.c: Don't include unused header file script.h.
44903
fe6b695a 44904 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44905 of file.
44906 (grub_fstest_SOURCES): Likewise.
44907
409480b7 449082008-02-05 Robert Millan <rmh@aybabtu.com>
44909
44910 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44911 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44912 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44913 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44914
44915 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44916 (translation_table): Replace hardcoded values with macros
44917 provided by `<grub/term.h>'.
44918
44919 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44920 (keyboard_map): Correct/add a few values, with macros provided
44921 by `<grub/term.h>'.
44922 (keyboard_map_shift): Zero values that don't differ from their
44923 `keyboard_map' equivalents.
44924 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44925 Discard the second scan code that is always sent by Caps lock.
44926 Only use `keyboard_map_shift' when it provides a non-zero value,
44927 otherwise fallback to `keyboard_map'.
44928
99fadbaa 449292008-02-04 Bean <bean123ch@gmail.com>
44930
44931 * Makefile.in (enable_grub_fstest): New variable.
44932
44933 * conf/common.rmk (grub_fstest_init.lst): New rule.
44934 (grub_fstest_init.h): Likewise.
44935 (grub_fstest_init.c): Likewise.
44936 (util/grub-fstest.c_DEPENDENCIES): New variable.
44937 (grub_fstest_SOURCES): Likewise.
44938
44939 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44940
44941 * util/grub-fstest.c: New file.
44942
bf567c50 449432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44944
44945 Make grub-setup handle a separate root device.
f19dbdb7 44946
bf567c50 44947 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44948 so that the root device can be compared with the destination
44949 device.
44950 When embedding the core image, if the root and destination devices
44951 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44952 0xFF.
44953 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44954
9be6b98b 449552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44956
44957 Add support for having a grub directory in a different drive. This
44958 is still only the data handling part.
f19dbdb7 44959
9be6b98b 44960 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44961 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44962 (grub_root_drive): New variable.
44963
44964 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44965 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44966 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44967 as it was.
44968
44969 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44970
44971 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44972 macro.
44973 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44974
44975 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44976 is bogus, because PXE booting does not specify any drive
44977 correctly.
44978
44979 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44980 am not sure if this is really correct.
44981
44982 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44983 is always identical to the boot drive when booting from a CD.
44984
44985 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44986 longer.
44987 (root_drive): New variable.
44988 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44989 (setup_sectors): Push %dx right after popping it, because %dh will
44990 be modified later.
44991 (copy_buffer): Restore %dx.
44992
e0ca0677 449932008-02-03 Robert Millan <rmh@aybabtu.com>
44994
44995 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44996 use `cdboot.img' for cdrom images.
44997
3b3f6629 449982008-02-03 Robert Millan <rmh@aybabtu.com>
44999
45000 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45001 only setup gfxterm when `font' command has succeeded.
45002
d42b3672 450032008-02-03 Robert Millan <rmh@aybabtu.com>
45004
45005 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45006 (grub_rescue_cmd_multiboot_loader)
45007 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45008
fa370ea6 450092008-02-03 Pavel Roskin <proski@gnu.org>
45010
e0c5dacb 45011 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45012 %edx and %esi from stack only after grub_gate_a20() is called.
45013 grub_gate_a20() clobbers %edx.
45014
f2a76e1d 450152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45016
45017 * configure.ac (AC_INIT): Bumped to 1.96.
45018
45019 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45020 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45021 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45022 video/readers/png.c.
45023
90fd32d1 450242008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45025
45026 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45027 (cdboot_img_SOURCES): New variable.
45028 (cdboot_img_ASFLAGS): New variable.
45029 (cdboot_img_LDFLAGS): New variable.
45030
45031 * boot/i386/pc/cdboot.S: New file.
45032
45033 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45034 (cd_count): Likewise.
45035 (grub_biosdisk_get_drive): Add support for cd device.
45036 (grub_biosdisk_call_hook): Likewise.
45037 (grub_biosdisk_iterate): Likewise.
45038 (grub_biosdisk_open): Likewise.
45039 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45040 (grub_biosdisk_rw): Support reading from cd device.
45041 (GRUB_MOD_INIT): Iterate cd devices.
45042
45043 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45044 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45045 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45046
45047 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45048
4020aa53 450492008-02-02 Robert Millan <rmh@aybabtu.com>
45050
45051 * commands/read.c: New file.
45052 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45053 (read_mod_SOURCES): New variable.
45054 (read_mod_CFLAGS): Likewise.
45055 (read_mod_LDFLAGS): Likewise.
45056
e03a1132 450572008-02-02 Robert Millan <rmh@aybabtu.com>
45058
45059 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45060 determining whether menu has to be displayed.
45061
58c69220 450622008-02-02 Marco Gerards <marco@gnu.org>
45063
45064 * bus/pci.c: New file.
45065
45066 * include/grub/pci.h: Likewise.
45067
45068 * include/grub/i386/pc/pci.h: Likewise.
45069
45070 * commands/lspci.c: Likewise.
45071
45072 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45073 `lspci.mod'.
45074 (pci_mod_SOURCES): New variable.
45075 (pci_mod_CFLAGS): Likewise.
45076 (pci_mod_LDFLAGS): Likewise.
45077 (lspci_mod_SOURCES): Likewise.
45078 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45079 (lspci_mod_LDFLAGS): Likewise.
58c69220 45080
c004e1b4 450812008-02-02 Bean <bean123ch@gmail.com>
45082
45083 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45084 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45085
45086 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45087 (grub_xfs_btree_node): New structure.
45088 (grub_xfs_btree_root): New structure.
45089 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45090 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45091 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45092 (GRUB_XFS_EXTENT_SIZE): Likewise.
45093 (grub_xfs_read_block): Support btree format type.
45094 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45095 Use directory block as basic unit.
45096
45097 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45098
45099 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45100 __attribute__ ((__regparm__ (1))).
45101
f95562bf 451022008-02-01 Robert Millan <rmh@aybabtu.com>
45103
45104 Correct a mistake in previous commit.
45105
45106 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45107 top.
45108 (normal/command.c_DEPENDENCIES): New variable.
45109
7d31f41f 451102008-02-01 Robert Millan <rmh@aybabtu.com>
45111
45112 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45113 top.
45114 (normal/command.c_DEPENDENCIES): New variable.
45115 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45116 * conf/i386-ieee1275.rmk: Likewise.
45117 * conf/i386-linuxbios.rmk: Likewise.
45118 * conf/i386-pc.rmk: Likewise.
45119 * conf/sparc64-ieee1275.rmk: Likewise.
45120 * conf/powerpc-ieee1275.rmk: Likewise.
45121 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45122
45123 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45124
60b6be74 451252008-02-01 Robert Millan <rmh@aybabtu.com>
45126
45127 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45128 call at beginning of function.
45129
078522ab 451302008-01-31 Pavel Roskin <proski@gnu.org>
45131
45132 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45133 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45134 (grub_mkrescue_SOURCES): Likewise.
078522ab 45135 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45136
ccaa8a5f 451372008-01-30 Robert Millan <rmh@aybabtu.com>
45138
45139 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45140 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45141 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45142 (grub_probe_SOURCES): ... to here.
45143
45144 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45145 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45146 * conf/i386-ieee1275.rmk: Likewise.
45147 * conf/i386-linuxbios.rmk: Likewise.
45148 * conf/powerpc-ieee1275.rmk: Likewise.
45149
ae5a9cd7 451502008-01-30 Tristan Gingold <gingold@free.fr>
45151
45152 * kern/rescue.c: Silently accept empty lines.
45153
70bc2ef2 451542008-01-29 Bean <bean123ch@gmail.com>
45155
45156 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45157 (real_code_2): Code cleanup and change comment style.
45158 (move_memory): Avoid using 32-bit address mode.
45159
6a4d50ea 451602008-01-29 Bean <bean123ch@gmail.com>
45161
45162 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45163 (png_mod_SOURCES): New variable.
45164 (png_mod_CFLAGS): Likewise.
45165 (png_mod_LDFLAGS): Likewise.
45166
45167 * video/readers/png.c: New file.
45168
11cc30ac 451692008-01-28 Robert Millan <rmh@aybabtu.com>
45170
45171 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45172 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45173 `ifndef GRUB_MOD_GAP' hack.
45174 * util/elf/grub-mkimage.c (add_segments): Likewise.
45175
3abc589f 451762008-01-27 Robert Millan <rmh@aybabtu.com>
45177
45178 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45179 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45180 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45181
e1907778 451822008-01-27 Robert Millan <rmh@aybabtu.com>
45183
45184 Get grub-emu to build again (including parallel builds).
45185
45186 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45187 Split into ...
45188 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45189 (normal/execute.c_DEPENDENCIES): ... this, ...
45190 (grub-emu_DEPENDENCIES): ... and this.
45191
45192 * conf/i386-efi.rmk: Likewise.
45193 * conf/i386-linuxbios.rmk: Likewise.
45194 * conf/i386-ieee1275.rmk: Likewise.
45195 * conf/powerpc-ieee1275.rmk: Likewise.
45196 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45197
2216b101 451982008-01-27 Robert Millan <rmh@aybabtu.com>
45199
45200 * NEWS: Add a few items.
45201
f75172d9 452022008-01-27 Robert Millan <rmh@aybabtu.com>
45203
45204 Fix parallel builds with grub-emu. Based on earlier commit for
45205 grub-probe and grub-setup.
45206
45207 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45208 (util/grub-emu.c_DEPENDENCIES): ... this.
45209 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45210 (util/grub-emu.c_DEPENDENCIES): ... this.
45211 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45212 (util/grub-emu.c_DEPENDENCIES): ... this.
45213 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45214 (util/grub-emu.c_DEPENDENCIES): ... this.
45215 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45216 (util/grub-emu.c_DEPENDENCIES): ... this.
45217
3f51de77 452182008-01-27 Pavel Roskin <proski@gnu.org>
45219
45220 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45221 to create a gap between _end and the modules added to the image
45222 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45223 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45224 * util/elf/grub-mkimage.c (add_segments): Likewise.
45225
2033f53e 452262008-01-26 Pavel Roskin <proski@gnu.org>
45227
45228 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45229 just return an error.
45230
22da1f6f 452312008-01-26 Bean <bean123ch@gmail.com>
45232
45233 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45234 (grub_reiserfs_get_item): Save offset of the next item.
45235 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45236
2a9525e6 452372008-01-25 Robert Millan <rmh@aybabtu.com>
45238
45239 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45240 make all filesystem sources appear together (possibly fixing omissions
45241 while at it).
45242 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45244 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45246
45247 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45248 add `kern/file.c'.
45249 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45250 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45251 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45252 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45253
45254 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45255 (probe): Add a sanity check to make sure of our ability to read
45256 requested files when probing for filesystem type.
45257
45258 * genmk.rb: Update copyright year (2007).
45259
45260 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45261 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45262 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45263 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45264 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45265 : Remove function prototypes.
45266
b95f71b5 452672008-01-25 Robert Millan <rmh@aybabtu.com>
45268
45269 Revert my previous commits (based on wrong assumption of how grub_errno
45270 works).
45271
fe6b695a 45272 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45273 * kern/file.c (grub_file_open): Likewise.
45274
d08bbb49 452752008-01-24 Pavel Roskin <proski@gnu.org>
45276
45277 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45278 that hang if GRUB tries to setup colors.
45279 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45280 colors for firmwares that don't support it.
45281 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45282 Recognize Open Hack'Ware, set flags to work around its
45283 limitations.
45284
605e36ed 452852008-01-24 Robert Millan <rmh@aybabtu.com>
45286
45287 * kern/file.c (grub_file_open): Do not account previous failures of
45288 unrelated functions when grub_errno is checked for.
45289 Reported by Oleg Strikov.
45290
bac332a1 452912008-01-24 Bean <bean123ch@gmail.com>
45292
45293 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45294 (grub_ufs_sblock): New member volume name.
45295 (grub_ufs_find_file): Fix string copy bug.
45296 (grub_ufs_label): Implement this function properly.
45297
45298 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45299 (grub_hfs_iterate_records): Use the correct file number for extents
45300 and catalog file. Fix problem in next index calculation.
45301 (grub_hfs_find_node): Replace recursive function call with loop.
45302 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45303
15c80c09 453042008-01-23 Robert Millan <rmh@aybabtu.com>
45305
45306 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45307 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45308 (grub_multiboot2_real_boot): New function prototype.
45309
45310 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45311 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45312
45313 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45314 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45315
305338fd 453162008-01-23 Robert Millan <rmh@aybabtu.com>
45317
45318 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45319 #ifdef'ed out grub_printf().
45320
3ea52685 453212008-01-23 Robert Millan <rmh@aybabtu.com>
45322
45323 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45324 grub_dprintf calls, since they make "debug=all" mode unusable.
45325 (grub_console_checkkey): Likewise.
45326
5882ae4b 453272008-01-23 Robert Millan <rmh@aybabtu.com>
45328
45329 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45330 `term/i386/pc/at_keyboard.c'.
45331 (pkglib_MODULES): Add `serial.mod'.
45332 (serial_mod_SOURCES): New variable.
45333 (serial_mod_CFLAGS): Likewise.
45334 (serial_mod_LDFLAGS): Likewise.
45335
45336 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45337 `<grub/powerpc/ieee1275/console.h>'.
45338 (grub_keyboard_controller_init): New function prototype.
45339 (grub_console_checkkey): Likewise.
45340 (grub_console_getkey): Likewise.
45341
45342 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45343 keyboard on i386.
45344
45345 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45346 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45347
06ab5303 453482008-01-23 Robert Millan <rmh@aybabtu.com>
45349
45350 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45351 present, "(memdisk)/boot/grub" becomes the default prefix.
45352
45353 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45354 a memdisk tarball with all the modules. Add --overlay=DIR option that
45355 allows users to overlay additional files into the image.
45356
dbb475a4 453572008-01-23 Robert Millan <rmh@aybabtu.com>
45358
45359 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45360 and `machine/memory.h'.
45361 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45362 (_multiboot_mod_SOURCES): New variable.
45363 (_multiboot_mod_CFLAGS): Likewise.
45364 (_multiboot_mod_LDFLAGS): Likewise.
45365 (multiboot_mod_SOURCES): Likewise.
45366 (multiboot_mod_CFLAGS): Likewise.
45367 (multiboot_mod_LDFLAGS): Likewise.
45368
45369 * include/grub/i386/ieee1275/loader.h: New file.
45370
45371 * include/grub/i386/ieee1275/machine.h: Likewise.
45372
45373 * include/grub/i386/ieee1275/memory.h: Likewise.
45374
45375 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45376 variable declaration.
45377 (grub_os_area_size): Likewise.
45378
45379 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45380 (grub_lower_mem, grub_upper_mem): New variables.
45381 (grub_stop_floppy): New function (just to make
45382 grub_multiboot2_real_boot() happy).
45383
45384 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45385 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45386 (grub_stop): New function.
45387 Include `"../realmode.S"' and `"../loader.S"'.
45388
45389 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45390 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45391
45392 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45393 rely on grub_multiboot2_real_boot() for final boot.
45394
25638629 453952008-01-22 Robert Millan <rmh@aybabtu.com>
45396
45397 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45398 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45399 device that doesn't look like an SD card.
45400 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45401 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45402 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45403 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45404 found.
45405
9dad816d 454062008-01-22 Robert Millan <rmh@aybabtu.com>
45407
45408 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45409 avoid claiming over our own code.
45410
34842f2d 454112008-01-22 Bean <bean123ch@gmail.com>
45412
45413 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45414 (jpeg_mod_SOURCES): New variable.
45415 (jpeg_mod_CFLAGS): Likewise.
45416 (jpeg_mod_LDFLAGS): Likewise.
45417
45418 * video/readers/jpeg.c : New file.
45419
44023a28 454202008-01-22 Bean <bean123ch@gmail.com>
45421
45422 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45423 there are no more items.
45424
bc2d8ac6 454252008-01-21 Robert Millan <rmh@aybabtu.com>
45426
45427 * kern/mm.c (grub_mm_init_region): Improve debug message.
45428
261bd4bc 454292008-01-21 Robert Millan <rmh@aybabtu.com>
45430
45431 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45432 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45433 address.
45434 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45435 a C macro.
45436 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45437 Indicates start of upper memory.
45438 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45439 (generate_image): Abort when image size is big enough to corrupt
45440 upper memory.
45441
45442 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45443 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45444 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45445 instead of hardcoding 0xA0000.
45446 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45447 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45448 instead of hardcoding 0xA0000.
45449
f970b55e 454502008-01-21 Robert Millan <rmh@aybabtu.com>
45451
45452 * disk/memdisk.c (memdisk_size): New variable.
45453 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45454 `memdisk_size'.
45455 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45456 image to dynamic memory.
45457 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45458 `memdisk_size'. Free memdisk block.
45459
1a8b0526 454602008-01-21 Robert Millan <rmh@aybabtu.com>
45461
45462 Fix detection of very small filesystems (like tar).
45463
45464 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45465 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45466 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45467 a problem with this disk).
45468
6e9b4aab 454692008-01-21 Robert Millan <rmh@aybabtu.com>
45470
45471 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45472 on grub_biosdisk_rw_standard() error.
45473
0d8837b2 454742008-01-21 Robert Millan <rmh@aybabtu.com>
45475
45476 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45477 recent changes.
45478 * kern/elf.c: Likewise.
45479 * kern/ieee1275/ieee1275.c: Likewise.
45480 * kern/powerpc/ieee1275/openfw.c: Likewise.
45481 * term/ieee1275/ofconsole.c: Likewise.
45482
ffd36e34 454832008-01-21 Robert Millan <rmh@aybabtu.com>
45484
45485 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45486
3f0093d0 45487 * include/grub/kernel.h (grub_arch_memdisk_addr)
45488 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45489
3f0093d0 45490 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45491 (grub_arch_memdisk_size): ... to here.
ffd36e34 45492
6c391b21 454932008-01-21 Robert Millan <rmh@aybabtu.com>
45494
45495 Mostly based on bugfix from Bean.
45496
45497 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45498 attribute with hook() parameter.
45499 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45500 declaration.
45501 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45502 attribute with hook() parameter.
45503 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45504 declaration.
45505
55a581dc 455062008-01-21 Robert Millan <rmh@aybabtu.com>
45507
45508 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45509 (pkglib_MODULES): Add `memdisk.mod'.
45510 (memdisk_mod_SOURCES): New variable.
45511 (memdisk_mod_CFLAGS): Likewise.
45512 (memdisk_mod_LDFLAGS): Likewise.
45513
45514 * disk/memdisk.c: New file.
45515
45516 * include/grub/disk.h (grub_disk_dev_id): Add
45517 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45518
45519 * include/grub/i386/pc/kernel.h
45520 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45521 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45522 (grub_kernel_image_size): New variable declaration.
45523 (grub_total_module_size): Likewise.
45524 (grub_memdisk_image_size): Likewise.
45525
45526 * include/grub/i386/pc/memory.h
45527 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45528
45529 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45530 (grub_arch_memdisk_addr): New variable declaration.
45531 (grub_arch_memdisk_size): Likewise.
45532
45533 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45534 (grub_arch_memdisk_size): Likewise.
45535
45536 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45537 (codestart): Replace hardcoded `0x100000' with
45538 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45539
45540 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45541 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45542 not NULL, append the contents of the file it refers to, at the end of
45543 the compressed kernel image. Initialize `grub_memdisk_image_size'
45544 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45545 (options): Add "memdisk"|'m' option.
45546 (main): Parse --memdisk|-m option, and pass user-provided path as
45547 parameter to generate_image().
45548
3d7f54c9 455492008-01-20 Robert Millan <rmh@aybabtu.com>
45550
45551 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45552 grub_dprintf() calls from here ...
45553 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45554
0bf74728 455552008-01-20 Robert Millan <rmh@aybabtu.com>
45556
45557 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45558
45559 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45560 declaration.
45561 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45562 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45563 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45564 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45565 property).
45566 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45567 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45568
33bf70a7 455692008-01-19 Robert Millan <rmh@aybabtu.com>
45570
fe6b695a 45571 Get rid of confusing function (superseded by
33bf70a7 45572 `grub_ieee1275_get_integer_property')
45573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45574 prototype.
45575 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45576 function.
45577 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45578 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45579 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45580
e2da7d26 455812008-01-19 Robert Millan <rmh@aybabtu.com>
45582
45583 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45584 command after "shut-down", since implementations differ on which
45585 the command for halt is.
45586
59f1fd8d 455872008-01-19 Robert Millan <rmh@aybabtu.com>
45588
45589 * include/grub/i386/linuxbios/console.h: Add header protection.
45590 (grub_keyboard_controller_init): New function prototype.
45591 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45592 (KEYBOARD_COMMAND_READ): Likewise.
45593 (KEYBOARD_COMMAND_WRITE): Likewise.
45594 (KEYBOARD_SCANCODE_SET1): Likewise.
45595 (grub_keyboard_controller_write): New function.
45596 (grub_keyboard_controller_read): Likewise.
45597 (grub_keyboard_controller_init): Likewise.
45598
45599 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45600 (grub_console_init): On coreboot/LinuxBIOS, call
45601 grub_keyboard_controller_init().
45602
5f5a7c15 456032008-01-19 Robert Millan <rmh@aybabtu.com>
45604
45605 PowerPC changes provided by Pavel Roskin.
45606
45607 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45608 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45609 don't rely on cmain() doing it.
45610 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45611 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45612
1210e168 456132008-01-16 Robert Millan <rmh@aybabtu.com>
45614
45615 * include/grub/i386/linuxbios/memory.h
45616 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45617 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45618 receive `table_header' as argument. Instead, probe for it in the
45619 known memory ranges where it can be present.
45620 (grub_available_iterate): Do not pass a fixed `table_header' address
45621 to grub_linuxbios_table_iterate().
45622
3d04eab8 456232008-01-15 Robert Millan <rmh@aybabtu.com>
45624
45625 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45626 * conf/i386-ieee1275.rmk: New file.
45627 * include/grub/i386/ieee1275/console.h: Likewise.
45628 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45629 * include/grub/i386/ieee1275/kernel.h: Likewise.
45630 * include/grub/i386/ieee1275/time.h: Likewise.
45631 * kern/i386/ieee1275/init.c: Likewise.
45632 * kern/i386/ieee1275/startup.S: Likewise.
45633
d1bc1b73 456342008-01-15 Robert Millan <rmh@aybabtu.com>
45635
45636 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45637 when pointers are 32-bit (but still do set it to one when they are
45638 64-bit).
45639
66a65807 456402008-01-15 Robert Millan <rmh@aybabtu.com>
45641
45642 * include/grub/ieee1275/ieee1275.h
45643 (grub_ieee1275_get_integer_property): New function prototype.
45644
45645 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45646 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45647 grub_ieee1275_get_property() to handle endianness.
66a65807 45648
45649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45650 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45651 where appropriate.
66a65807 45652 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45653 (grub_map): Likewise.
45654 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45655
a83ccafd 456562008-01-15 Bean <bean123ch@gmail.com>
45657
45658 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45659 (grub_script_execute_cmdline): Reset grub_errno.
45660
45661 * normal/main.c (read_config_file): Reset grub_errno.
45662
45663 * normal/parse.y (script_init): New.
45664 (script): Move function and menuentry here.
45665 (delimiter): New.
45666 (command): Add delimiter at the end of command.
45667 (commands): Adjust to match the new command.
45668 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45669 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45670 (if): Use the new commands.
45671
45672 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45673
df6ecfc6 456742008-01-15 Robert Millan <rmh@aybabtu.com>
45675
45676 * normal/menu.c (run_menu): Move timeout message from here ...
45677 (print_timeout): ... to here.
45678 (run_menu): Use print_timeout() once during initial draw to print
45679 the whole message, and again in every clock tick to update only
45680 the number of seconds.
45681
87ae25eb 456822008-01-15 Robert Millan <rmh@aybabtu.com>
45683
45684 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45685 actual size of `available' from grub_ieee1275_get_property(), and
45686 restrict parsing to that bound.
45687
47bf09a4 456882008-01-15 Christian Franke <franke@computer.org>
45689
45690 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45691 (argp_program_version): Remove variable.
45692 (argp_program_bug_address): Likewise.
45693 (options): Convert from struct argp_option to struct option.
45694 (struct arguments): Remove.
45695 (parse_opt): Remove.
45696 (usage): New function.
45697 (main): Replace struct args members by simple variables.
45698 Replace argp_parse() by getopt_long().
45699 Add switch to evaluate options.
45700 Add missing "(...)" around root_dev in prefix string.
45701
c86f1469 457022008-01-14 Robert Millan <rmh@aybabtu.com>
45703
45704 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45705 for grub_ieee1275_exit(), in order to improve portability.
45706
e622c559 457072008-01-14 Robert Millan <rmh@aybabtu.com>
45708
45709 * util/grub.d/10_linux.in (prefix): Define.
45710 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45711
44cb1ec8 457122008-01-13 Pavel Roskin <proski@gnu.org>
45713
45714 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45715 grub_errno if no errors have been detected.
45716
1eb8c802 457172008-01-12 Robert Millan <rmh@aybabtu.com>
45718
45719 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45720 (grub_util_get_dev_abstraction): New function prototype.
45721
45722 * util/getroot.c: Include `<grub/util/getroot.h>'
45723 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45724 (grub_util_get_dev_abstraction): ... here (new function).
45725
45726 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45727 `PRINT_ABSTRACTION'.
45728 (probe): Probe for abstraction type when requested.
45729 (main): Understand `--target=abstraction'.
45730
45731 * util/i386/efi/grub-install.in: Add abstraction module to core
45732 image when it is found to be necessary.
45733 * util/i386/pc/grub-install.in: Likewise.
45734 * util/powerpc/ieee1275/grub-install.in: Likewise.
45735
45736 * util/update-grub_lib.in (font_path): Return system path without
45737 converting to GRUB path.
45738 * util/update-grub.in: Convert system path returned by font_path()
45739 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45740 abstraction module is needed for loading fonts (if any). Export
45741 that as `GRUB_PRELOAD_MODULES'.
45742 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45743 insmod commands).
45744
52bd3de9 457452008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45746
45747 Remove some unused code from reiserfs.
f19dbdb7 45748
52bd3de9 45749 * fs/reiserfs.c (struct grub_reiserfs_key)
45750 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45751 (struct grub_reiserfs_node_body): Removed.
45752 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45753 Likewise.
45754 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45755 Likewise.
45756 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45757 Likewise.
45758 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45759 Likewise.
45760 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45761 Likewise.
45762 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45763 Likewise.
45764 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45765 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45766 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45767
2f80039d 457682008-01-10 Robert Millan <rmh@aybabtu.com>
45769
45770 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45771 Determines if a file is garbage left by packaging systems, etc.
45772 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45773 for processing /etc/grub.d scripts.
45774 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45775 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45776 as a condition for processing Linux images.
45777
87888032 457782008-01-10 Pavel Roskin <proski@gnu.org>
45779
45780 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45781 to compile reiserfs.c on PowerPC.
45782
7e54fced 457832008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45784
45785 * kern/device.c (grub_device_iterate): Do not abort device iteration
45786 when one of the devices cannot be opened.
45787 * kern/disk.c (grub_disk_open): Do not account previous failures of
45788 unrelated functions when grub_errno is checked for.
45789
5aa541e6 457902008-01-08 Robert Millan <rmh@aybabtu.com>
45791
45792 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45793 `! grub_linux_is_bzimage', change order of address comparison to make
45794 it more intuitive, and improve "too big zImage" error message.
45795
7076340d 457962008-01-08 Robert Millan <rmh@aybabtu.com>
45797
45798 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45799 `$(update-grub_DATA)'.
45800 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45801 targets.
45802
9ca70333 458032008-01-07 Robert Millan <rmh@aybabtu.com>
45804
45805 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45806 which instruction is modified by grub-setup during installation
45807 (since it wasn't obvious by only looking at this file).
45808
38ccf575 458092008-01-07 Robert Millan <rmh@aybabtu.com>
45810
45811 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45812 listing actual TODO items.
45813
f5db4291 458142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45815
868967cf 45816 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45817 correctly.
45818 (grub_reiserfs_get_key_offset): Likewise.
45819 (grub_reiserfs_set_key_offset): Likewise.
45820 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45821 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45822
45823 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45824 better to remove the bitfield version completely.
f19dbdb7 45825
868967cf 458262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45827
f5db4291 45828 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45829 allocated from the heap, due to the fshelp implementation.
45830 (grub_reiserfs_dir): Free NODE, due to the same reason.
45831
492e6d9d 458322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45833
45834 Mostly from Vincent Pelletier:
f19dbdb7 45835
492e6d9d 45836 * fs/reiserfs.c: New file.
f19dbdb7 45837
492e6d9d 45838 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45839 (reiserfs_mod_SOURCES): New variable.
45840 (reiserfs_mod_CFLAGS): Likewise.
45841 (reiserfs_mod_LDFLAGS): Likewise.
45842
45843 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45844 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45845 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45846 normal/color.c.
45847
9ce3e7c1 458482008-01-06 Robert Millan <rmh@aybabtu.com>
45849
45850 * normal/color.c: Remove `<grub/env.h>'.
45851
f3b58148 458522008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45853
45854 * include/grub/normal.h: Include <grub/env.h>.
45855
7ac3bcfa 458562008-01-05 Robert Millan <rmh@aybabtu.com>
45857
45858 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45859 usage example with `(hd0,1)'.
fb358190 45860 Reported by Samuel Thibault.
7ac3bcfa 45861
c8ee99d7 458622008-01-05 Robert Millan <rmh@aybabtu.com>
45863
45864 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45865 (grub_linux_boot_zimage): Rename to ...
45866 (grub_linux_boot): ... this.
45867 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45868 (grub_linux_boot_zimage): Conditionalize zImage copy.
45869
45870 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45871 (grub_linux_boot_bzimage): Remove prototype.
45872 (grub_linux_boot_zimage): Rename to ...
45873 (grub_linux_boot): ... this.
45874
45875 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45876 (grub_linux_boot): Remove function.
45877
0ece25b1 458782008-01-05 Robert Millan <rmh@aybabtu.com>
45879
45880 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45881 (grub_env_write_color_highlight): Likewise.
45882 (grub_wait_after_message): Likewise.
45883
45884 * normal/color.c: New file.
45885
45886 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45887 (normal_mod_DEPENDENCIES): Likewise.
45888
45889 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45890 (normal_mod_DEPENDENCIES): Likewise.
45891
45892 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45893 (normal_mod_DEPENDENCIES): Likewise.
45894
45895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45896 (normal_mod_DEPENDENCIES): Likewise.
45897
45898 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45899 for waiting after a message is printed.
45900 * normal/main.c (read_config_file): Likewise.
45901 (grub_normal_init): Register grub_env_write_color_normal() and
45902 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45903 `color_highlight' variables as global.
45904
45905 * normal/menu.c (grub_wait_after_message): New function.
45906 (grub_color_menu_normal): New variable. Replaces ...
45907 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45908 (grub_color_menu_highlight): New variable. Replaces ...
45909 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45910 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45911 `GRUB_TERM_COLOR_STANDARD'.
45912 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45913 `normal_code' and `highlight_code' to `old_color_normal' and
45914 `old_color_highlight', respectively.
45915 (grub_menu_init_page): Update colors when drawing the menu, based on
45916 `menu_color_normal' and `menu_color_highlight' variables.
45917 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45918 a message is printed.
45919
182dd4e5 459202008-01-05 Robert Millan <rmh@aybabtu.com>
45921
45922 * kern/env.c (grub_env_context_open): Propagate hooks for global
45923 variables to new context.
45924
45925 * kern/main.c (grub_set_root_dev): Export `root' variable.
45926
ddf8f6ad 459272008-01-05 Robert Millan <rmh@aybabtu.com>
45928
45929 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45930 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45931 them.
45932
d8b43d9b 459332008-01-05 Robert Millan <rmh@aybabtu.com>
45934
45935 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45936
2bff2de3 459372008-01-04 Christian Franke <franke@computer.org>
45938
45939 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45940 of eisa_mmap.
45941
97eab917 459422008-01-03 Pavel Roskin <proski@gnu.org>
45943
45944 * kern/i386/linuxbios/init.c: Put "void" to all function
45945 declarations with no arguments.
45946 * kern/powerpc/ieee1275/init.c: Likewise.
45947 * term/i386/pc/at_keyboard.c: Likewise.
45948 * term/i386/pc/vga_text.c: Likewise.
45949 * util/grub-mkdevicemap.c: Likewise.
45950
b9416d00 459512008-01-02 Robert Millan <rmh@aybabtu.com>
45952
45953 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45954 message when loaded image is out of bounds.
45955 (grub_multiboot_load_elf64): Likewise.
45956
92695df9 459572008-01-02 Pavel Roskin <proski@gnu.org>
45958
45959 * util/grub.d/10_linux.in: Try version without ".old" when
45960 looking for initrd. It's better to use initrd from the newer
45961 kernel of the same version than no initrd at all.
45962
d98d9cad 459632008-01-01 Robert Millan <rmh@aybabtu.com>
45964
45965 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45966
dbfdce36 459672008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45968
f19dbdb7 45969 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45970 grub_video_get_active_render_target.
45971 (grub_video_adapter): Added unmap_color and get_active_render_target.
45972
f19dbdb7 45973 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45974 grub_video_get_active_render_target.
45975 (grub_video_get_info): Changed method to accept NULL pointer as an
45976 argument to allow detection of active video adapter.
45977
45978 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45979 grub_video_vbe_unmap_color_int.
45980 Added grub_video_vbe_unmap_color and
45981 grub_video_vbe_get_active_render_target.
45982 (grub_video_vbe_adapter): Added unmap_color and
45983 get_active_render_target.
45984
f19dbdb7 45985 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45986 with grub_video_vbe_unmap_color_int.
45987
45988 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45989 (DEFAULT_NORMAL_COLOR): Likewise.
45990 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45991 (DEFAULT_FG_COLOR): Removed.
45992 (DEFAULT_BG_COLOR): Likewise.
45993 (DEFAULT_CURSOR_COLOR): Changed value.
45994 (grub_virtual_screen): Added standard_color_setting,
45995 normal_color_setting, highlight_color_setting and term_color.
45996 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45997 (bitmap_width): Added.
45998 (bitmap_height): Likewise.
45999 (bitmap): Likewise.
46000 (set_term_color): Likewise.
46001 (grub_virtual_screen_setup): Changed to use new terminal coloring
46002 settings.
46003 (grub_gfxterm_init): Added init for bitmap.
46004 (grub_gfxterm_fini): Added destroy for bitmap.
46005 (redraw_screen_rect): Updated to use background bitmap and new
46006 terminal coloring.
46007 (scroll_up): Added optimization for case when there is no bitmap.
46008 (grub_gfxterm_cls): Fixed to use correct background color.
46009 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46010 coloring.
46011 (grub_virtual_screen_setcolor): Likewise.
46012 (grub_virtual_screen_getcolor): Added.
46013 (grub_gfxterm_background_image_cmd): Likewise.
46014 (grub_video_term): Added setcolor and getcolor.
46015 (MOD_INIT): Added registration of background_image command.
46016 (MOD_TERM): Added unregistration for background_image command.
46017
c3c20931 460182007-12-30 Pavel Roskin <proski@gnu.org>
46019
46020 * loader/multiboot_loader.c: Fix multiboot command
46021 unregistration. Fix all typos in the word "multiboot".
46022
df266716 460232007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46024
46025 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46026 support for initrd names used in Fedora.
46027
fc6e896c 460282007-12-26 Bean <bean123ch@gmail.com>
46029
46030 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46031 (cpio_mod_SOURCES): New variable.
46032 (cpio_mod_CFLAGS): Likewise.
46033 (cpio_mod_LDFLAGS): Likewise.
46034
46035 * fs/cpio.c: New file.
46036
46037 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46038
46039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46040
46041 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46042
46043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46044
533110ad 460452007-12-25 Robert Millan <rmh@aybabtu.com>
46046
46047 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46048 (grub_getcolor): New function.
46049
46050 * kern/term.c (grub_getcolor): New function.
46051 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46052 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46053 (print_entry): Set normal and highlight colors to
46054 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46055 respectively, before printing and restore them to old
46056 values afterwards.
46057 (grub_menu_init_page): Likewise. Fill an additional colored space
46058 that would otherwise be left blank.
46059
46060 * term/efi/console.c (grub_console_getcolor): New function.
46061 (struct grub_console_term.getcolor): New variable.
46062 * term/i386/pc/console.c (grub_console_getcolor): New function.
46063 (struct grub_console_term.getcolor): New variable.
46064 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46065 (struct grub_console_term.getcolor): New variable.
46066
46067 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46068 (struct grub_console_term.setcolor): Remove variable.
46069 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46070 (struct grub_console_term.setcolor): Remove variable.
46071 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46072 (struct grub_console_term.setcolor): Remove variable.
46073 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46074 (struct grub_console_term.setcolor): Remove variable.
46075
4931827f 460762007-12-25 Robert Millan <rmh@aybabtu.com>
46077
46078 * configure.ac: Search for possible unifont.hex locations, and
46079 define UNIFONT_HEX if found.
46080
46081 * Makefile.in (UNIFONT_HEX): Define variable.
46082 (DATA): Rename to ...
46083 (PKGLIB): ... this. Update all users.
46084 (PKGDATA): New variable.
46085 (pkgdata_IMAGES): Rename to ...
46086 (pkglib_IMAGES): ... this. Update all users.
46087 (pkgdata_MODULES): Rename to ...
46088 (pkglib_MODULES): ... this. Update all users.
46089 (pkgdata_PROGRAMS): Rename to ...
46090 (pkglib_PROGRAMS): ... this. Update all users.
46091 (pkgdata_DATA): Rename to ...
46092 (pkglib_DATA): ... this. Update all users.
46093 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46094 (unicode.pff, ascii.pff): New rules.
46095 (all-local): Add `$(PKGDATA)' dependency.
46096 (install-local): Process `$(PKGDATA)'.
46097
46098 * util/update-grub_lib.in (font_path): Search for *.pff files in
46099 a few more locations, including `${pkgdata}'.
46100
57e57e31 461012007-12-23 Robert Millan <rmh@aybabtu.com>
46102
46103 Patch from Bean <bean123ch@gmail.com>:
46104 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46105 `size'.
46106
4bc72aa9 461072007-12-21 Bean <bean123ch@gmail.com>
46108
46109 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46110 (ntfscomp_mod_SOURCES): New variable.
46111 (ntfscomp_mod_CFLAGS): Likewise.
46112 (ntfscomp_mod_LDFLAGS): Likewise.
46113
46114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46115 (grub_probe_SOURCES): Likewise.
46116 (grub_emu_SOURCES): Likewise.
46117
46118 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46119 (grub_emu_SOURCES): Likewise.
46120
46121 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46122 (grub_emu_SOURCES): Likewise.
46123
46124 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46125 (grub_emu_SOURCES): Likewise.
46126
46127 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46128 (read_run_list): Renamed to grub_ntfs_read_run_list.
46129 (decomp_nextvcn): Moved to ntfscomp.c.
46130 (decomp_getch): Likewise.
46131 (decomp_get16): Likewise.
46132 (decomp_block): Likewise.
46133 (read_block): Likewise.
46134 (read_data): Partially moved to ntfscomp.c.
46135 (fixup): Change unsigned to grub_uint16_t.
46136 (read_mft): Change unsigned long to grub_uint32_t.
46137 (read_attr): Likewise.
46138 (read_data): Likewise.
46139 (read_run_data): Likewise.
46140 (read_run_list): Likewise.
46141 (read_mft): Likewise.
46142
46143 * fs/ntfscomp.c: New file.
46144
46145 * include/grub/ntfs.h: New file.
46146
af680a87 461472007-12-16 Robert Millan <rmh@aybabtu.com>
46148
46149 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46150 IDE disk check, since Linux is known to support 20 IDE disks.
46151 Reported by Colin Watson.
46152
84be7599 461532007-12-15 Bean <bean123ch@gmail.com>
46154
46155 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46156 (lnxboot_img_SOURCES): New variable.
46157 (lnxboot_img_ASFLAGS): Likewise.
46158 (lnxboot_img_LDFLAGS): Likewise.
46159
46160 * boot/i386/pc/lnxboot.S: New file.
46161
6af9db01 461622007-11-24 Pavel Roskin <proski@gnu.org>
46163
46164 * configure.ac: Test if '--build-id=none' is supported by the
46165 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46166 objcopy to generate incorrect binary files (binutils
46167 2.17.50.0.18-1 as shipped by Fedora 8).
46168 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46169 linking, so that build ID doesn't break the test.
46170
7361cfe6 461712007-11-24 Pavel Roskin <proski@gnu.org>
46172
46173 * include/grub/i386/time.h: use "void" in the argument list
46174 of grub_cpu_idle().
46175 * include/grub/powerpc/time.h: Likewise.
46176 * include/grub/sparc64/time.h: Likewise.
46177
1593e10c 461782007-11-18 Christian Franke <franke@computer.org>
46179
46180 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46181 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46182 This fixes the problem that function keys did not work in grub-emu.
46183
3b8db1a8 461842007-11-18 Christian Franke <franke@computer.org>
46185
46186 * disk/host.c (grub_host_open): Remove attribute unused from
46187 name parameter. Add check for "host". This fixes the problem
46188 that grub-emu does not find partitions.
46189
2e29408d 461902007-11-18 Christian Franke <franke@computer.org>
46191
46192 * util/hostfs.c (is_dir): New function.
46193 (grub_hostfs_dir): Handle missing dirent.d_type case.
46194 (grub_hostfs_read): Add missing fseek().
46195 (grub_hostfs_label): Clear label pointer. This fixes a crash
46196 of grub-emu on "ls (host)".
46197
398cd047 461982007-11-18 Christian Franke <franke@computer.org>
46199
46200 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46201 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46202 to 64 bit boundary by default.
46203
c405c391 462042007-11-18 Bean <bean123ch@gmail.com>
46205
46206 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46207 (hexdump_mod_SOURCES): New variable.
46208 (hexdump_mod_CFLAGS): Likewise.
46209 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46210
c405c391 46211 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46212
46213 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46214
46215 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46216
46217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46218
46219 * include/grub/hexdump.h: New file.
46220
46221 * commands/hexdump.c: New file.
46222
5cced7fd 462232007-11-10 Robert Millan <rmh@aybabtu.com>
46224
46225 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46226 in grub_outb() calls.
46227 (beep_on): Likewise.
46228
8b714eb0 462292007-11-10 Christian Franke <franke@computer.org>
46230
46231 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46232 (grub_menu_run): Likewise.
46233
ce0f1839 462342007-11-10 Robert Millan <rmh@aybabtu.com>
46235
46236 * include/grub/i386/efi/machine.h: New file.
46237 * include/grub/i386/linuxbios/machine.h: Likewise.
46238 * include/grub/i386/pc/machine.h: Likewise.
46239 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46240 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46241
46242 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46243 (serial_hw_io_addr): New variable.
46244 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46245 instead of `(unsigned short *) 0x400'.
46246
270c237d 462472007-11-10 Bean <bean123ch@gmail.com>
46248
46249 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46250
a87783bf 462512007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46252
46253 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46254 (vga_mod_SOURCES): Added.
46255 (vga_mod_CFLAGS): Likewise.
46256 (vga_mod_LDFLAGS): Likewise.
46257
46258 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46259 grub_outb() calls.
46260 (set_map_mask): Likewise.
46261 (set_read_map): Likewise.
46262 (set_read_address): Likewise.
46263 (vga_font): Removed variable.
46264 (get_vga_glyph): Removed function.
46265 (invalidate_char): Likewise.
46266 (write_char): Changed to use grub_font_get_glyph() for font
46267 information.
46268 (grub_vga_putchar): Likewise.
46269 (grub_vga_getcharwidth): Likewise.
46270
6433b448 462712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46272
46273 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46274 flags.
46275 (pxeboot_img_LDFLAGS): Likewise.
46276 (diskboot_img_LDFLAGS): Likewise.
46277 (kernel_img_LDFLAGS): Likewise.
46278
49178511 462792007-11-06 Robert Millan <rmh@aybabtu.com>
46280
46281 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46282 in grub_outb() calls.
46283 (serial_hw_init): Likewise.
46284
53b052de 462852007-11-05 Robert Millan <rmh@aybabtu.com>
46286
46287 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46288 spaces. Skip non-regular files.
46289
5ab33bba 462902007-11-05 Robert Millan <rmh@aybabtu.com>
46291
46292 * kern/disk.c (grub_disk_firmware_fini)
46293 (grub_disk_firmware_is_tainted): New variables.
46294
46295 * include/grub/disk.h (grub_disk_firmware_fini)
46296 (grub_disk_firmware_is_tainted): Likewise.
46297
46298 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46299 (grub_disk_biosdisk_fini): ... to here.
46300 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46301 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46302 is set. Register grub_disk_biosdisk_fini() in
46303 `grub_disk_firmware_fini'.
46304
46305 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46306 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46307 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46308 to finish existing firmware disk interface.
46309
46310 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46311 (ata_mod_SOURCES): New variable.
46312 (ata_mod_CFLAGS): Likewise.
46313 (ata_mod_LDFLAGS): Likewise.
46314
0149ab7c 463152007-11-05 Robert Millan <rmh@aybabtu.com>
46316
46317 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46318 (grub_ata_wait): Reimplement using grub_millisleep().
46319
46320 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46321 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46322
be7ac41e 463232007-11-03 Marco Gerards <marco@gnu.org>
46324
46325 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46326 (CRTC_ADDR_PORT): New macro.
46327 (CRTC_DATA_PORT): Likewise.
46328 (CRTC_CURSOR): Likewise.
46329 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46330 (CRTC_CURSOR_ADDR_LOW): Likewise.
46331 (update_cursor): New function.
46332 (grub_console_real_putchar): Call `update_cursor'.
46333 (grub_console_gotoxy): Likewise.
46334 (grub_console_cls): Set the default color when clearing the
46335 screen.
46336 (grub_console_setcursor): Implemented.
46337
bb06ab2e 463382007-11-03 Marco Gerards <marco@gnu.org>
46339
46340 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46341 become activate.
46342 (grub_ata_pio_write): Likewise.
46343
46344 (grub_atapi_identify): Wait after issuing an ATA command.
46345 (grub_atapi_packet): Likewise.
46346 (grub_ata_identify): Likewise.
46347 (grub_ata_readwrite): Likewise.
46348
cf8f780b 463492007-11-03 Marco Gerards <marco@gnu.org>
46350
46351 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46352 (grub_ata_pio_write): Likewise.
46353 (grub_ata_readwrite): Use `grub_error', instead of
46354 returning `grub_errno'.
46355
ed649e54 463562007-11-03 Marco Gerards <marco@gnu.org>
46357
46358 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46359 grub_ata_pio_write once for every single sector, instead of for
46360 multiple sectors.
46361
ca25d8f0 463622007-10-31 Robert Millan <rmh@aybabtu.com>
46363
46364 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46365
46366 * conf/i386-linuxbios.rmk: New file.
46367
46368 * kern/i386/pc/hardware.c: Likewise.
46369 * term/i386/pc/at_keyboard.c: Likewise.
46370 * term/i386/pc/vga_text.c: Likewise.
46371
46372 * include/grub/i386/linuxbios/boot.h: Likewise.
46373 * include/grub/i386/linuxbios/console.h: Likewise.
46374 * include/grub/i386/linuxbios/init.h: Likewise.
46375 * include/grub/i386/linuxbios/kernel.h: Likewise.
46376 * include/grub/i386/linuxbios/loader.h: Likewise.
46377 * include/grub/i386/linuxbios/memory.h: Likewise.
46378 * include/grub/i386/linuxbios/serial.h: Likewise.
46379 * include/grub/i386/linuxbios/time.h: Likewise.
46380
46381 * kern/i386/linuxbios/init.c: Likewise.
46382 * kern/i386/linuxbios/startup.S: Likewise.
46383 * kern/i386/linuxbios/table.c: Likewise.
46384
e911ecc1 463852007-10-31 Marco Gerards <marco@gnu.org>
46386
46387 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46388 (ata_mod_SOURCES): New variable.
46389 (ata_mod_CFLAGS): Likewise.
46390 (ata_mod_LDFLAGS): Likewise.
46391
46392 * disk/ata.c: New file.
46393
46394 * include/grub/disk.h (grub_disk_dev_id): Add
46395 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46396
7f66d0e0 463972007-10-31 Robert Millan <rmh@aybabtu.com>
46398
46399 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46400 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46401
46402 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46403 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46404
46405 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46406 `<grub/types.h>'.
46407
46408 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46409
5cd7dd46 464102007-10-27 Robert Millan <rmh@aybabtu.com>
46411
3236ca65 46412 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46413
2ebfc90f 464142007-10-22 Robert Millan <rmh@aybabtu.com>
46415
46416 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46417 `"../realmode.S"'.
46418 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46419
73fcb0f3 464202007-10-22 Robert Millan <rmh@aybabtu.com>
46421
46422 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46423 (pkgdata_MODULES): Add `biosdisk.mod'.
46424 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46425 variables.
46426
46427 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46428 (grub_biosdisk_init): Replace with ...
46429 (GRUB_MOD_INIT(biosdisk)): ... this.
46430 (grub_biosdisk_fini): Replace with ...
46431 (GRUB_MOD_FINI(biosdisk)): ... this.
46432
46433 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46434 (grub_machine_init): Remove call to grub_biosdisk_init().
46435 (grub_machine_fini): Remove call to grub_machine_fini().
46436
46437 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46438
3381d274 464392007-10-22 Robert Millan <rmh@aybabtu.com>
46440
46441 * include/grub/time.h: New file.
46442 * include/grub/i386/time.h: Likewise.
46443 * include/grub/powerpc/time.h: Likewise.
46444 * include/grub/sparc64/time.h: Likewise.
46445
46446 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46447 instances to ...
46448 (KERNEL_MACHINE_TIME_HEADER): ... this.
46449 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46450 instances to ...
46451 (KERNEL_MACHINE_TIME_HEADER): ... this.
46452 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46453 instances to ...
46454 (KERNEL_MACHINE_TIME_HEADER): ... this.
46455
46456 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46457 (grub_millisleep): New function.
46458 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46459 (grub_millisleep): New function.
46460 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46461 Remove `grub/machine/time.h' include.
46462 (grub_millisleep): New function.
46463 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46464 Remove `grub/machine/time.h' include.
46465 (grub_millisleep): New function.
46466
46467 * include/grub/misc.h (grub_div_roundup): New function.
46468
46469 * kern/misc.c: Include `<grub/time.h>'.
46470 (grub_millisleep_generic): New function.
46471
46472 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46473 Add `time.h'.
46474 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46475 Add `time.h'.
46476 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46477 `machine/time.h'. Add `time.h'.
46478 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46479
a39a0312 464802007-10-21 Robert Millan <rmh@aybabtu.com>
46481
46482 * include/grub/misc.h (grub_max): New function.
46483
2aad70e2 464842007-10-21 Robert Millan <rmh@aybabtu.com>
46485
46486 * util/misc.c (grub_util_info): Call fflush() before returning.
46487
54b71c4b 464882007-10-20 Robert Millan <rmh@aybabtu.com>
46489
46490 * genmk.rb (Image): Copy `extra_flags' from here ...
46491 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46492
46493 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46494 to `argc' and `args' arguments.
46495
a979f513 464962007-10-17 Robert Millan <rmh@aybabtu.com>
46497
46498 * kern/i386/loader.S: New file.
46499
46500 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46501 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46502 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46503 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46504 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46505 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46506 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46507 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46508 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46509 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46510 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46511 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46512 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46513 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46514
46515 * kern/i386/realmode.S: New file.
46516
46517 * kern/i386/pc/startup.S (protstack): Moved from here ...
46518 * kern/i386/realmode.S (protstack)... to here.
46519 * kern/i386/pc/startup.S (gdt): Moved from here ...
46520 * kern/i386/realmode.S (gdt)... to here.
46521 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46522 * kern/i386/realmode.S (prot_to_real)... to here.
46523
46524 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46525 `kern/i386/realmode.S'.
46526
825fc8fd 465272007-10-17 Robert Millan <rmh@aybabtu.com>
46528
46529 * include/grub/i386/loader.h: New file.
46530
46531 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46532 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46533 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46534 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46535 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46536 * include/grub/i386/loader.h (grub_linux_prot_size)
46537 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46538 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46539 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46540 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46541
46542 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46543
e179b2f4 465442007-10-15 Robert Millan <rmh@aybabtu.com>
46545
46546 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46547 filesystem when dev->disk is unset.
46548 Do probe for filesystem even when dev->disk->has_partitions is set.
46549 In case a filesystem is found, always report it.
46550 In case it isn't, if dev->disk->has_partitions is set, report that
46551 a partition table was found instead of reporting that no filesystem
46552 could be identified.
46553
5db82af6 465542007-10-12 Robert Millan <rmh@aybabtu.com>
46555
46556 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46557 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46558
68f6ac74 46559 * include/grub/types.h (grub_host_to_target16): New macro.
46560 (grub_host_to_target32): Likewise.
46561 (grub_host_to_target64): Likewise.
46562 (grub_target_to_host16): Likewise.
46563 (grub_target_to_host32): Likewise.
46564 (grub_target_to_host64): Likewise.
5db82af6 46565
46566 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46567 Renamed from to ...
46568 (GRUB_MOD_ALIGN): ...this. Update all users.
46569
68f6ac74 46570 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46571 grub_host_to_target32.
46572 Replace grub_be_to_cpu32 with grub_target_to_host32.
46573 (load_modules): Likewise.
46574 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46575 Replace grub_be_to_cpu32 with grub_target_to_host32.
46576 Replace grub_cpu_to_be16 with grub_host_to_target16.
46577 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46578
3cf497cc 465792007-10-12 Robert Millan <rmh@aybabtu.com>
46580
46581 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46582 * util/elf/grub-mkimage.c: ... here.
46583
46584 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46585 `util/powerpc/ieee1275/grub-mkimage.c'.
46586
c8cc3692 465872007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46588
c8cc3692 46589 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46590 and make it easier to figure out.
46591 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46592 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46593 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46594 leave us with less than HEAP_MIN_SIZE total heap.
46595 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46596
5c58b791 465972007-10-03 Robert Millan <rmh@aybabtu.com>
46598
46599 * include/grub/i386/io.h: New file.
46600 * commands/i386/pc/play.c (inb): Removed.
46601 (outb): Removed.
46602 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46603 with grub_outb().
afcd2ef8 46604 * term/i386/pc/serial.c (inb): Removed.
46605 (outb): Removed.
46606 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46607 with grub_outb().
46608 * term/i386/pc/vga.c (inb): Removed.
46609 (outb): Removed.
46610 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46611 with grub_outb().
5c58b791 46612
1a477ed6 466132007-10-02 Robert Millan <rmh@aybabtu.com>
46614
46615 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46617 Reported by Marcin Kurek.
46618
6b5d80fa 466192007-09-07 Robert Millan <rmh@aybabtu.com>
46620
46621 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46622 SmartFirmware version updates (as released by Sven Luther), and avoid
46623 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46624 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46625 known broken.
46626
5618afbf 466272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46628
46629 From Hitoshi Ozeki:
46630 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46631 when merging two regions.
46632
6139dcd9 466332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46634
508e39ee 46635 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46636 * normal/completion.c (grub_normal_do_completion): Likewise.
46637 Reported by Hitoshi Ozeki.
46638
466392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46640
6139dcd9 46641 Do not use devices at boot in chainloading.
f19dbdb7 46642
6139dcd9 46643 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46644 (boot_part_addr): Likewise.
46645 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46646 with BOOT_DRIVE and BOOT_PART_ADDR.
46647 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46648 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46649
38da6516 466502007-08-29 Robert Millan <rmh@aybabtu.com>
46651
46652 Patch from Simon Peter <dn.tlp@gmx.net>:
46653 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46654 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46655 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46656 util/i386/pc/grub-setup.c_DEPENDENCIES.
46657 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46658 util/grub-probe.c_DEPENDENCIES.
46659 * conf/powerpc-ieee1275.rmk: Likewise.
46660
29d0928c 466612007-08-28 Robert Millan <rmh@aybabtu.com>
46662
46663 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46664 to tell grub-mkdevicemap how to name devices.
46665 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46666 feature).
46667
46668 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46669 util/i386/get_disk_name.c.
46670 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46671 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46672 util/ieee1275/get_disk_name.c.
46673
46674 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46675
46676 * DISTLIST: Add util/i386/get_disk_name.c and
46677 util/ieee1275/get_disk_name.c.
46678
46679 * util/grub-mkdevicemap.c: Replace device naming logic with
46680 grub_util_get_disk_name() calls.
46681
5a0d3cca 466822007-08-20 Robert Millan <rmh@aybabtu.com>
46683
46684 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46685 (so that it works for both plural and singular quantities).
46686
8b72db2f 466872007-08-05 Robert Millan <rmh@aybabtu.com>
46688
46689 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46690 so that [xz] isn't taken into account when determining order.
46691
352466bf 466922007-08-02 Marco Gerards <marco@gnu.org>
46693
46694 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46695 `include/multiboot2.h', `include/grub/elfload.h',
46696 `include/multiboot.h', `include/grub/multiboot.h',
46697 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46698 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46699 `kern/elf.c', `loader/multiboot_loader.c',
46700 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46701 `loader/i386/pc/multiboot2.c',
46702 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46703 `util/i386/pc/grub-mkrescue.in'. Remove
46704 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46705 `include/grub/i386/pc/util/biosdisk.h' and
46706 `include/grub/powerpc/ieee1275/multiboot.h'.
46707
8f096014 467082007-08-02 Bean <bean123ch@gmail.com>
46709
46710 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46711 (ntfs_mod_SOURCES): New variable.
46712 (ntfs_mod_CFLAGS): Likewise.
46713 (ntfs_mod_LDFLAGS): Likewise.
46714
46715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46716 (grub_probe_SOURCES): Likewise.
46717 (grub_emu_SOURCES): Likewise.
46718
46719 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46720 (grub_emu_SOURCES): Likewise.
46721
46722 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46723 (grub_emu_SOURCES): Likewise.
f19dbdb7 46724
8f096014 46725 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46726
46727 * fs/ntfs.c: New file.
46728
9959f7db 467292007-08-02 Bean <bean123ch@gmail.com>
46730
46731 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46732
46733 * file.h (grub_file): Likewise.
46734
46735 * fshelp.h (grub_fshelp_read_file): Likewise.
46736
46737 * util/i386/pc/grub-setup.c (setup): Likewise.
46738 (save_first_sector): Likewise.
46739 (save_blocklists): Likewise.
f19dbdb7 46740
9959f7db 46741 * fs/affs.c (grub_affs_read_file): Likewise.
46742
46743 * fs/ext2.c (grub_ext2_read_file): Likewise.
46744
46745 * fs/fat.c (grub_fat_read_data): Likewise.
46746
46747 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46748
46749 * fs/hfs.c (grub_hfs_read_file): Likewise.
46750
46751 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46752
46753 * fs/jfs.c (grub_jfs_read_file): Likewise.
46754
46755 * fs/minix.c (grub_minix_read_file): Likewise.
46756
46757 * fs/sfs.c (grub_sfs_read_file): Likewise.
46758
46759 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46760
9959f7db 46761 * fs/xfs.c (grub_xfs_read_file): Likewise.
46762
46763 * command/blocklist.c (read_blocklist): Likewise.
46764 (print_blocklist): Likewise.
46765
0a203f83 467662007-08-02 Marco Gerards <marco@gnu.org>
46767
46768 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46769 `util/hostfs.c'.
46770
46771 * disk/host.c: New file.
46772
46773 * util/hostfs.c: Likewise.
46774
46775 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46776 return `GRUB_ERR_BAD_FS'.
46777 * fs/sfs.c (grub_sfs_mount): Likewise.
46778 * fs/xfs.c (grub_xfs_mount): Likewise.
46779
46780 * include/grub/disk.h (enum grub_disk_dev_id): Add
46781 `GRUB_DISK_DEVICE_HOST_ID'.
46782
46783 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46784
e5dfe777 467852007-07-24 Jerone Young <jerone@gmail.com>
46786
f19dbdb7 46787 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46788 modules for compilation.
46789 * conf/powerpc-ieee1275.rmk: Likewise.
46790
46791 * include/multiboot.h: Move multiboot definitions to one file. Rename
46792 many definitions to not get grub specific.
46793 * include/multiboot2.h: Create header with multiboot 2 definitions.
46794 * include/grub/multiboot.h: Header for grub specific function
46795 prototypes and definitions.
46796 * include/grub/multiboot2.h: Likewise.
46797 * include/grub/multiboot_loader.h: Likewise.
46798 * include/grub/i386/pc/multiboot.h: Removed.
46799 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46800
46801 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46802 and 2 to allow for one multiboot and module commands.
46803 * loader/multiboot2.c: Add multiboot2 functionality.
46804 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46805 and definition names.
46806 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46807 2 functions.
46808 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46809 ieee1275 specific multiboot2 code.
46810
46811 * kern/i386/pc/startup.S: Change headers and definition names for
46812 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46813
daf0f0ba 468142007-07-22 Robert Millan <rmh@aybabtu.com>
46815
46816 * geninitheader.sh: Process file specified in first parameter rather
46817 than hardcoding grub_modules_init.lst.
fe6b695a 46818 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46819 than hardcoding grub_modules_init.h.
46820
46821 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46822 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46823 grub_probe_init.[ch] and grub_setup_init.[ch].
46824
46825 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46826 grub_modules_init.h with grub_emu_init.h.
46827 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46828 grub_probe_init.[ch] files.
46829 * conf/i386-efi.rmk: Likewise.
46830 * conf/i386-pc.rmk: Likewise.
46831 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46832 grub_setup_init.[ch] files.
46833
46834 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46835 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46836 to initialize modules rather than a list of hardcoded functions.
46837 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46838 grub_init_all() to initialize modules rather than a list of hardcoded
46839 functions.
46840
54cdc1cc 468412007-07-22 Robert Millan <rmh@aybabtu.com>
46842
46843 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46844 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46845
ad0686cc 468462007-07-22 Robert Millan <rmh@aybabtu.com>
46847
46848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46849 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46850 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46851 flag when running on SmartFirmware.
46852 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46853 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46854 was set.
46855
46856 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46857 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46858 rather than decreasing it.
46859
46860 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46861 there's not enough space to do it, fail in the same way as when it
46862 can't be done because there are no partitions.
46863
46864 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46865 when nvsetenv failed.
46866
969c02ec 468672007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46868
46869 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46870 because this rule is automatically generated.
46871 (grub-mkrescue): Removed for the same reason as above.
46872
5a79f472 468732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46874
46875 Migrate to GNU General Public License Version 3.
f19dbdb7 46876
5a79f472 46877 * COPYING: Replaced with the plain text version of GPLv3.
46878
46879 * config.guess: Updated from gnulib.
46880 * config.sub: Likewise.
46881
46882 * geninit.sh: Output a GPLv3 copyright notice.
46883 * geninitheader.sh: Likewise.
46884 * genmodsrc.sh: Likewise.
46885 * gensymlist.sh.in: Likewise.
46886
46887 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46888 * boot/i386/pc/diskboot.S: Likewise.
46889 * boot/i386/pc/pxeboot.S: Likewise.
46890 * commands/blocklist.c: Likewise.
46891 * commands/boot.c: Likewise.
46892 * commands/cat.c: Likewise.
46893 * commands/cmp.c: Likewise.
46894 * commands/configfile.c: Likewise.
46895 * commands/echo.c: Likewise.
46896 * commands/help.c: Likewise.
46897 * commands/ls.c: Likewise.
46898 * commands/search.c: Likewise.
46899 * commands/terminal.c: Likewise.
46900 * commands/test.c: Likewise.
46901 * commands/videotest.c: Likewise.
46902 * commands/i386/cpuid.c: Likewise.
46903 * commands/i386/pc/halt.c: Likewise.
46904 * commands/i386/pc/play.c: Likewise.
46905 * commands/i386/pc/reboot.c: Likewise.
46906 * commands/i386/pc/vbeinfo.c: Likewise.
46907 * commands/i386/pc/vbetest.c: Likewise.
46908 * commands/ieee1275/halt.c: Likewise.
46909 * commands/ieee1275/reboot.c: Likewise.
46910 * commands/ieee1275/suspend.c: Likewise.
46911 * disk/loopback.c: Likewise.
46912 * disk/lvm.c: Likewise.
46913 * disk/raid.c: Likewise.
46914 * disk/efi/efidisk.c: Likewise.
46915 * disk/i386/pc/biosdisk.c: Likewise.
46916 * disk/ieee1275/ofdisk.c: Likewise.
46917 * font/manager.c: Likewise.
46918 * fs/affs.c: Likewise.
46919 * fs/ext2.c: Likewise.
46920 * fs/fat.c: Likewise.
46921 * fs/fshelp.c: Likewise.
46922 * fs/hfs.c: Likewise.
46923 * fs/hfsplus.c: Likewise.
46924 * fs/iso9660.c: Likewise.
46925 * fs/jfs.c: Likewise.
46926 * fs/minix.c: Likewise.
46927 * fs/sfs.c: Likewise.
46928 * fs/ufs.c: Likewise.
46929 * fs/xfs.c: Likewise.
46930 * hello/hello.c: Likewise.
46931 * include/grub/acorn_filecore.h: Likewise.
46932 * include/grub/arg.h: Likewise.
46933 * include/grub/bitmap.h: Likewise.
46934 * include/grub/boot.h: Likewise.
46935 * include/grub/cache.h: Likewise.
46936 * include/grub/device.h: Likewise.
46937 * include/grub/disk.h: Likewise.
46938 * include/grub/dl.h: Likewise.
46939 * include/grub/elfload.h: Likewise.
46940 * include/grub/env.h: Likewise.
46941 * include/grub/err.h: Likewise.
46942 * include/grub/file.h: Likewise.
46943 * include/grub/font.h: Likewise.
46944 * include/grub/fs.h: Likewise.
46945 * include/grub/fshelp.h: Likewise.
46946 * include/grub/gzio.h: Likewise.
46947 * include/grub/hfs.h: Likewise.
46948 * include/grub/kernel.h: Likewise.
46949 * include/grub/loader.h: Likewise.
46950 * include/grub/lvm.h: Likewise.
46951 * include/grub/misc.h: Likewise.
46952 * include/grub/mm.h: Likewise.
46953 * include/grub/net.h: Likewise.
46954 * include/grub/normal.h: Likewise.
46955 * include/grub/parser.h: Likewise.
46956 * include/grub/partition.h: Likewise.
46957 * include/grub/pc_partition.h: Likewise.
46958 * include/grub/raid.h: Likewise.
46959 * include/grub/rescue.h: Likewise.
46960 * include/grub/script.h: Likewise.
46961 * include/grub/setjmp.h: Likewise.
46962 * include/grub/symbol.h: Likewise.
46963 * include/grub/term.h: Likewise.
46964 * include/grub/terminfo.h: Likewise.
46965 * include/grub/tparm.h: Likewise.
46966 * include/grub/types.h: Likewise.
46967 * include/grub/video.h: Likewise.
46968 * include/grub/efi/api.h: Likewise.
46969 * include/grub/efi/chainloader.h: Likewise.
46970 * include/grub/efi/console.h: Likewise.
46971 * include/grub/efi/console_control.h: Likewise.
46972 * include/grub/efi/disk.h: Likewise.
46973 * include/grub/efi/efi.h: Likewise.
46974 * include/grub/efi/pe32.h: Likewise.
46975 * include/grub/efi/time.h: Likewise.
46976 * include/grub/i386/linux.h: Likewise.
46977 * include/grub/i386/setjmp.h: Likewise.
46978 * include/grub/i386/types.h: Likewise.
46979 * include/grub/i386/efi/kernel.h: Likewise.
46980 * include/grub/i386/efi/loader.h: Likewise.
46981 * include/grub/i386/efi/time.h: Likewise.
46982 * include/grub/i386/pc/biosdisk.h: Likewise.
46983 * include/grub/i386/pc/boot.h: Likewise.
46984 * include/grub/i386/pc/chainloader.h: Likewise.
46985 * include/grub/i386/pc/console.h: Likewise.
46986 * include/grub/i386/pc/init.h: Likewise.
46987 * include/grub/i386/pc/kernel.h: Likewise.
46988 * include/grub/i386/pc/loader.h: Likewise.
46989 * include/grub/i386/pc/memory.h: Likewise.
46990 * include/grub/i386/pc/multiboot.h: Likewise.
46991 * include/grub/i386/pc/serial.h: Likewise.
46992 * include/grub/i386/pc/time.h: Likewise.
46993 * include/grub/i386/pc/vbe.h: Likewise.
46994 * include/grub/i386/pc/vbeblit.h: Likewise.
46995 * include/grub/i386/pc/vbefill.h: Likewise.
46996 * include/grub/i386/pc/vbeutil.h: Likewise.
46997 * include/grub/i386/pc/vga.h: Likewise.
46998 * include/grub/ieee1275/ieee1275.h: Likewise.
46999 * include/grub/ieee1275/ofdisk.h: Likewise.
47000 * include/grub/powerpc/libgcc.h: Likewise.
47001 * include/grub/powerpc/setjmp.h: Likewise.
47002 * include/grub/powerpc/types.h: Likewise.
47003 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47004 * include/grub/powerpc/ieee1275/console.h: Likewise.
47005 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47006 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47007 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47008 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47009 * include/grub/powerpc/ieee1275/time.h: Likewise.
47010 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47011 * include/grub/sparc64/libgcc.h: Likewise.
47012 * include/grub/sparc64/setjmp.h: Likewise.
47013 * include/grub/sparc64/types.h: Likewise.
47014 * include/grub/sparc64/ieee1275/console.h: Likewise.
47015 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47016 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47017 * include/grub/sparc64/ieee1275/time.h: Likewise.
47018 * include/grub/util/biosdisk.h: Likewise.
47019 * include/grub/util/getroot.h: Likewise.
47020 * include/grub/util/lvm.h: Likewise.
47021 * include/grub/util/misc.h: Likewise.
47022 * include/grub/util/raid.h: Likewise.
47023 * include/grub/util/resolve.h: Likewise.
47024 * io/gzio.c: Likewise.
47025 * kern/device.c: Likewise.
47026 * kern/disk.c: Likewise.
47027 * kern/dl.c: Likewise.
47028 * kern/elf.c: Likewise.
47029 * kern/env.c: Likewise.
47030 * kern/err.c: Likewise.
47031 * kern/file.c: Likewise.
47032 * kern/fs.c: Likewise.
47033 * kern/loader.c: Likewise.
47034 * kern/main.c: Likewise.
47035 * kern/misc.c: Likewise.
47036 * kern/mm.c: Likewise.
47037 * kern/parser.c: Likewise.
47038 * kern/partition.c: Likewise.
47039 * kern/rescue.c: Likewise.
47040 * kern/term.c: Likewise.
47041 * kern/efi/efi.c: Likewise.
47042 * kern/efi/init.c: Likewise.
47043 * kern/efi/mm.c: Likewise.
47044 * kern/i386/dl.c: Likewise.
47045 * kern/i386/efi/init.c: Likewise.
47046 * kern/i386/efi/startup.S: Likewise.
47047 * kern/i386/pc/init.c: Likewise.
47048 * kern/i386/pc/lzo1x.S: Likewise.
47049 * kern/i386/pc/startup.S: Likewise.
47050 * kern/ieee1275/ieee1275.c: Likewise.
47051 * kern/powerpc/cache.S: Likewise.
47052 * kern/powerpc/dl.c: Likewise.
47053 * kern/powerpc/ieee1275/cmain.c: Likewise.
47054 * kern/powerpc/ieee1275/crt0.S: Likewise.
47055 * kern/powerpc/ieee1275/init.c: Likewise.
47056 * kern/powerpc/ieee1275/openfw.c: Likewise.
47057 * kern/sparc64/cache.S: Likewise.
47058 * kern/sparc64/dl.c: Likewise.
47059 * kern/sparc64/ieee1275/init.c: Likewise.
47060 * kern/sparc64/ieee1275/openfw.c: Likewise.
47061 * loader/efi/chainloader.c: Likewise.
47062 * loader/efi/chainloader_normal.c: Likewise.
47063 * loader/i386/efi/linux.c: Likewise.
47064 * loader/i386/efi/linux_normal.c: Likewise.
47065 * loader/i386/pc/chainloader.c: Likewise.
47066 * loader/i386/pc/chainloader_normal.c: Likewise.
47067 * loader/i386/pc/linux.c: Likewise.
47068 * loader/i386/pc/linux_normal.c: Likewise.
47069 * loader/i386/pc/multiboot.c: Likewise.
47070 * loader/i386/pc/multiboot_normal.c: Likewise.
47071 * loader/powerpc/ieee1275/linux.c: Likewise.
47072 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47073 * normal/arg.c: Likewise.
47074 * normal/cmdline.c: Likewise.
47075 * normal/command.c: Likewise.
47076 * normal/completion.c: Likewise.
47077 * normal/execute.c: Likewise.
47078 * normal/function.c: Likewise.
47079 * normal/lexer.c: Likewise.
47080 * normal/main.c: Likewise.
47081 * normal/menu.c: Likewise.
47082 * normal/menu_entry.c: Likewise.
47083 * normal/misc.c: Likewise.
47084 * normal/parser.y: Likewise.
47085 * normal/script.c: Likewise.
47086 * normal/i386/setjmp.S: Likewise.
47087 * normal/powerpc/setjmp.S: Likewise.
47088 * normal/sparc64/setjmp.S: Likewise.
47089 * partmap/acorn.c: Likewise.
47090 * partmap/amiga.c: Likewise.
47091 * partmap/apple.c: Likewise.
47092 * partmap/gpt.c: Likewise.
47093 * partmap/pc.c: Likewise.
47094 * partmap/sun.c: Likewise.
47095 * term/gfxterm.c: Likewise.
47096 * term/terminfo.c: Likewise.
47097 * term/efi/console.c: Likewise.
47098 * term/i386/pc/console.c: Likewise.
47099 * term/i386/pc/serial.c: Likewise.
47100 * term/i386/pc/vesafb.c: Likewise.
47101 * term/i386/pc/vga.c: Likewise.
47102 * term/ieee1275/ofconsole.c: Likewise.
47103 * util/biosdisk.c: Likewise.
47104 * util/console.c: Likewise.
47105 * util/genmoddep.c: Likewise.
47106 * util/getroot.c: Likewise.
47107 * util/grub-emu.c: Likewise.
47108 * util/grub-mkdevicemap.c: Likewise.
47109 * util/grub-probe.c: Likewise.
47110 * util/lvm.c: Likewise.
47111 * util/misc.c: Likewise.
47112 * util/raid.c: Likewise.
47113 * util/resolve.c: Likewise.
47114 * util/update-grub.in: Likewise.
47115 * util/update-grub_lib.in: Likewise.
47116 * util/grub.d/00_header.in: Likewise.
47117 * util/grub.d/10_hurd.in: Likewise.
47118 * util/grub.d/10_linux.in: Likewise.
47119 * util/i386/efi/grub-install.in: Likewise.
47120 * util/i386/efi/grub-mkimage.c: Likewise.
47121 * util/i386/pc/grub-install.in: Likewise.
47122 * util/i386/pc/grub-mkimage.c: Likewise.
47123 * util/i386/pc/grub-mkrescue.in: Likewise.
47124 * util/i386/pc/grub-setup.c: Likewise.
47125 * util/i386/pc/misc.c: Likewise.
47126 * util/powerpc/ieee1275/grub-install.in: Likewise.
47127 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47128 * util/powerpc/ieee1275/misc.c: Likewise.
47129 * video/bitmap.c: Likewise.
47130 * video/video.c: Likewise.
47131 * video/i386/pc/vbe.c: Likewise.
47132 * video/i386/pc/vbeblit.c: Likewise.
47133 * video/i386/pc/vbefill.c: Likewise.
47134 * video/i386/pc/vbeutil.c: Likewise.
47135 * video/readers/tga.c: Likewise.
47136
3572d015 471372007-07-02 Robert Millan <rmh@aybabtu.com>
47138
47139 * conf/i386-efi.rmk: Replace obsolete reference to
47140 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47141 with util/getroot.c.
47142 * conf/powerpc-ieee1275.rmk: Likewise.
47143 * conf/sparc64-ieee1275.rmk: Likewise.
47144
47145 * util/grub-emu.c (main): Fix unchecked pointer handling.
47146
2c2a681b 471472007-07-02 Robert Millan <rmh@aybabtu.com>
47148
47149 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47150 invocation to fail, in order to support partition-less media.
47151
47152 * util/i386/pc/grub-install.in: Likewise.
47153
47154 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47155 which fs or partmap modules are needed (akin to its sister scripts).
47156
47157 Also use grub-probe to get rid of unportable /proc/mounts check.
47158
47159 Print the same informational message that the other scripts do, before
fe6b695a 47160 exiting.
2c2a681b 47161
6193defe 471622007-06-23 Robert Millan <rmh@aybabtu.com>
47163
fe6b695a 47164 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47165 a font file can be found and, if so, echo the GRUB path to it.
47166
47167 * util/update-grub.in: Handle multiple terminals depending on user
47168 input, platform availability and font file presence. Propagate
47169 variables of our findings to /etc/grub.d/ children.
47170
47171 * util/grub.d/00_header.in: Handle multiple terminals, based on
47172 environment setup by update-grub.
47173
eface1dc 471742007-06-23 Robert Millan <rmh@aybabtu.com>
47175
ba50d28f 47176 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47177
bf697e28 471782007-06-21 Robert Millan <rmh@aybabtu.com>
47179
47180 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47181 indicate end of data section in kernel image.
47182 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47183 GRUB_KERNEL_MACHINE_DATA_END.
47184
47185 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47186 space for it.
47187 * kern/i386/efi/startup.S: Likewise.
47188
47189 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47190 during image generation. Implement --prefix option to override this
47191 patch.
47192 * util/i386/efi/grub-mkimage.c: Likewise.
47193
47194 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47195 code to make path relative to its root into a separate function.
47196
47197 * util/i386/pc/grub-install.in: Use newly provided
47198 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47199 pass the result to grub-install --prefix.
47200
baa574b4 472012007-06-13 Robert Millan <rmh@aybabtu.com>
47202
47203 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47204 DEFAULT_DEVICE_MAP.
47205 * util/grub-emu.c: Use above definitions from misc.h instead of
47206 defining them.
47207 * util/grub-mkdevicemap.c: Likewise.
47208 * util/i386/pc/grub-setup.c: Likewise.
47209 * util/grub-probe.c: Likewise.
47210 (probe): Abort with grub_util_error() when either
47211 grub_guess_root_device or grub_util_get_grub_dev fails.
47212
0215dcbf 472132007-06-12 Robert Millan <rmh@aybabtu.com>
47214
47215 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47216 "pager" assignment.
47217 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47218 "pcdata".
47219 * util/grub-probe.c (probe): Likewise for "drive_name".
47220
8af2ab7b 472212007-06-11 Robert Millan <rmh@aybabtu.com>
47222
47223 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47224 not just the cdrom one.
47225
59d31694 472262007-06-11 Robert Millan <rmh@aybabtu.com>
47227
47228 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47229 Add --pkglibdir=DIR option to override pkglibdir.
47230 Mention --image-type=TYPE in help output.
47231 Fix --grub-mkimage (it was a no-op).
fe6b695a 47232 Abort gracefully when no parameter is given.
59d31694 47233
7ee367e4 472342007-06-11 Robert Millan <rmh@aybabtu.com>
47235
47236 * util/i386/pc/grub-mkrescue.in: New file.
47237 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47238 * Makefile.in: Handle bin_SCRIPTS.
47239
29b0ed46 472402007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47241
47242 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47243 list of video modes.
47244
c0f90770 472452007-06-06 Robert Millan <rmh@aybabtu.com>
47246
47247 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47248 file doesn't exist, or if it is in a filesystem grub can't read.
47249
47250 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47251 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47252 header comment to fit in 80 columns when the variables are resolved.
47253
47254 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47255 could be identified by update-grub. Remove redundant check for
fe6b695a 47256 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47257 handles that).
47258
fb36dc26 472592007-06-04 Robert Millan <rmh@aybabtu.com>
47260
47261 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47262
47263 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47264
47265 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47266
0c68c93e 472672007-06-04 Robert Millan <rmh@aybabtu.com>
47268
47269 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47270
47271 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47272 grub_apple_partition_map_fini.
47273
47274 * util/biosdisk.c
47275 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47276 to access >2 TiB disks).
47277
47278 Print disk->total_sectors with %llu instead of %lu, since this
47279 variable is always 64-bit (prevents wrong disk size from being displayed
47280 on either >2 TiB disk or big-endian CPU).
47281
47282 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47283 into a generic case that supports all (sane) partition maps.
47284
47285 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47286 breaks big-endian.
47287
47288 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47289 and grub_apple_partition_map_fini() after that.
47290
0f23eb74 472912007-06-01 Robert Millan <rmh@aybabtu.com>
47292
47293 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47294
47295 * util/grub.d/00_header.in: Only enable gfxterm when
47296 convert_system_path_to_grub_path() succeeds.
47297
42c71976 472982007-05-20 Robert Millan <rmh@aybabtu.com>
47299
47300 * util/update-grub_lib.in: New file.
47301 * DISTLIST: Add update-grub_lib.in.
47302 * conf/common.rmk: Generate update-grub_lib and install it in
47303 $(lib_DATA).
47304 * Makefile.in: Add install routine for $(lib_DATA).
47305
47306 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47307 function provided by update-grub_lib to support arbitrary paths of
47308 unifont.pff.
47309 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47310 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47311
5beb2291 473122007-05-19 Robert Millan <rmh@aybabtu.com>
47313
47314 * commands/i386/cpuid.c: New module.
47315 * DISTLIST: Add it.
47316 * conf/i386-efi.rmk: Enable cpuid.mod.
47317 * conf/i386-pc.rmk: Likewise.
47318
7262eca1 473192007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47320
47321 * kern/disk.c (grub_disk_read): Check return value of
47322 grub_realloc().
47323
260ba823 473242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47325
47326 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47327 arrays.
47328 * disk/raid.c (grub_raid_open): Likewise.
47329
1ecb6cf2 473302007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47331
47332 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47333 stack instead of on the heap.
47334
47335 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47336 before doing a read on it.
47337
47338 * configure.ac: Only use -fno-stack-protector for the target
47339 environment.
f19dbdb7 47340
21c8cbb1 473412007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47342
47343 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47344 __attribute_ ((unused)) to mode_type argument.
47345
47346 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47347
21c8cbb1 47348 * kern/misc.c (memcmp): Fix prototype.
47349
47350 * include/grub/partition.h [GRUB_UTIL]
47351 (grub_gpt_partition_map_init): Add prototype.
47352 (grub_gpt_partition_map_fini): Likewise.
47353
47354 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47355 at the right place.
47356
47357 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47358 (grub_fat_read_data): Likewise.
47359 (grub_fat_find_dir): Likewise.
47360
47361 * font/manager.c (find_glyph): Make table a const.
47362 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47363
849d55d3 473642007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47365
47366 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47367 code, first search for device in /dev/mapper, then in /dev.
47368 (grub_util_get_grub_dev): New function.
47369 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47370 prototype.
47371 * util/grub-probe.c (probe): Remove check for RAID, call
47372 grub_util_get_grub_dev() instead of
47373 grub_util_biosdisk_get_grub_dev().
47374 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47375 grub_util_biosdisk_get_grub_dev().
47376 * util/i386/pc/grub-setup.c (main): Likewise.
47377
8fff7c2f 473782007-05-16 Robert Millan <rmh@aybabtu.com>
47379
47380 * DISTLIST: Update for the latest changes.
47381 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47382 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47383 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47384 grub/util/biosdisk.h.
47385 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47386 grub/util/biosdisk.h.
47387
48e12b52 473882007-05-16 Robert Millan <rmh@aybabtu.com>
47389
47390 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47391
46b9d128 473922007-05-16 Robert Millan <rmh@aybabtu.com>
47393
47394 * util/i386/efi/grub-install.in: New.
47395 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47396 newly added grub-install.
47397 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47398 include.
47399 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47400 grub/util/biosdisk.h.
47401 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47402 grub/util/biosdisk.h.
47403
2d1a40a9 474042007-05-16 Robert Millan <rmh@aybabtu.com>
47405
47406 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47407 * include/grub/util/biosdisk.h: ... here.
47408 * util/i386/pc/biosdisk.c: Moved to ...
47409 * util/biosdisk.c: ... here.
47410 * util/i386/pc/getroot.c: Moved to ...
47411 * util/getroot.c: ... here.
47412 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47413 * util/grub-mkdevicemap.c: ... here.
47414 * util/i386/pc/grub-probe.c: Moved to ...
47415 * util/grub-probe.c: ... here.
47416
9e26e3bc 474172007-05-15 Robert Millan <rmh@aybabtu.com>
47418
47419 * util/update-grub.in: Remove duplicated line in grub.cfg header
47420 message.
47421
57f96397 474222007-05-13 Robert Millan <rmh@aybabtu.com>
47423
47424 * util/update-grub.in: Fix a few assumptions about the devices holding
47425 /, /boot and /boot/grub being the same.
47426 * util/grub.d/00_header.in: Likewise.
47427 * util/grub.d/10_hurd.in: Likewise.
47428 * util/grub.d/10_linux.in: Likewise.
47429
47430 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47431 patterns. Use that to define the `.old' suffix as older than `'.
47432
47433 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47434
47435 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47436 the grub.cfg header message.
47437
2e610d62 474382007-05-11 Robert Millan <rmh@aybabtu.com>
47439
47440 * util/update-grub.in: Create device.map if it doesn't already exist,
47441 before attempting to run grub-probe.
47442 Check for grub-probe and grub-mkdevicemap with the same code
47443 grub-install is using.
47444 Remove test mode.
47445
3f6a10ef 474462007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47447
47448 * Makefile.in: Add the datarootdir autoconf variable.
47449
02e7b75e 474502007-05-09 Robert Millan <rmh@aybabtu.com>
47451
47452 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47453 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47454
75f396cc 474552007-05-07 Robert Millan <rmh@aybabtu.com>
47456
47457 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47458 determine partition map module.
47459 * util/i386/pc/grub-install.in: Use this feature to decide which
47460 partition module to load, instead of hardcoding pc and gpt.
47461
da65cb36 474622007-05-07 Robert Millan <rmh@aybabtu.com>
47463
47464 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47465 source directory differs from build directory.
47466
b57d6a91 474672007-05-05 Robert Millan <rmh@aybabtu.com>
47468
47469 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47470 initialisation.
47471
509d00f1 474722007-05-05 Robert Millan <rmh@aybabtu.com>
47473
47474 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47475
c48f23ef 474762007-05-05 Robert Millan <rmh@aybabtu.com>
47477
47478 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47479 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47480
20b97658 474812007-05-05 Robert Millan <rmh@aybabtu.com>
47482
47483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47484 (grub_probe_SOURCES): Likewise.
47485 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47486 GPT and initialize dos_part and bsd_part accordingly.
47487 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47488 install_bsd_part.
47489 (main): Activate gpt module for use during partition identification,
47490 and deactivate it afterwards.
47491 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47492 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47493 partition identification, and deactivate it afterwards.
47494
99123174 474952007-05-05 Robert Millan <rmh@aybabtu.com>
47496
47497 * term/i386/pc/console.c (grub_console_fini): Call
47498 grub_term_set_current() before grub_term_unregister().
47499
ebd97f6e 475002007-05-04 Robert Millan <rmh@aybabtu.com>
47501
47502 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47503 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47504 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47505 and update-grub_DATA.
47506 * conf/common.rmk: Build and install update-grub components.
47507 * conf/common.mk: Regenerate.
47508 * util/update-grub.in: New. Core of update-grub.
47509 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47510 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47511 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47512 * util/grub.d/README: New. Document grub.d directory layout.
47513
b06a264d 475142007-05-01 Robert Millan <rmh@aybabtu.com>
47515
47516 * util/grub-emu.c: Move initialization functions
47517 grub_util_biosdisk_init() and grub_init_all() before
47518 grub_util_biosdisk_get_grub_dev(), which relies on them.
47519
41f0050e 475202007-04-19 Robert Millan <rmh@aybabtu.com>
47521
47522 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47523 it is used later.
47524
04582bb3 475252007-04-18 Jerone Young <jerone@gmail.com>
47526
f19dbdb7 47527 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47528 stanza.
47529
08db4632 475302007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47531
08db4632 47532 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47533 continue on and look for device node with real device name.
47534
801b76be 475352007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47536
fe6b695a 47537 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47538 ability.
47539 * Makefile.in: Add autoconf package transformation code.
47540 * util/i386/pc/grub-install.in: Likewise.
47541 * util/powerpc/ieee1275/grub-install.in: Likewise.
47542
6795c4e1 475432007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47544
47545 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47546 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47547 (EXT2_REVISION): Likewise.
47548 (EXT2_INODE_SIZE): Likewise.
47549 (struct grub_ext2_block_group): Added a missing member
47550 "used_dirs".
47551 (grub_ext2_read_inode): Divide by the inode size in a superblock
47552 instead of 128 to obtain INODES_PER_BLOCK.
47553 Use the macro EXT2_INODE_SIZE instead of directly using
47554 SBLOCK->INODE_SIZE.
47555
d70af616 475562007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47557
47558 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47559 superblock instead of the structure size to compute an
47560 offset. This fixes the problem that GRUB could not read a
47561 filesystem when inode size is different from 128-byte.
47562
3b801603 475632007-03-05 Marco Gerards <marco@gnu.org>
47564
47565 * normal/main.c (read_config_file): When "menu" is not set, create
47566 an initial context.
47567
4785bfe4 475682007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47569
47570 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47571 (HEAP_LIMIT): New macro.
47572 (grub_claim_heap): Claim memory up to `heaplimit'.
47573
a0cbb023 475742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47575
47576 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47577 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47578 (_start): Likewise.
47579 (grub_arch_modules_addr): Return address after `_end'.
47580 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47581 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47582 (add_segments): Calculate `_end' from phdr size and location.
47583 (ALIGN_UP): Moved to ...
47584 * include/grub/misc.h: here.
47585 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47586 New macro.
47587 (GRUB_IEEE1275_MODULE_BASE): Removed.
47588
fd7d8eba 475892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47590
47591 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47592 loop boundary.
47593
9b09e6fc 475942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47595
47596 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47597 All users updated.
47598 (grub_elf64_load_hook_t): Likewise.
47599 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47600 debug output.
47601
3ce27299 476022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47603
47604 * kern/mm.c: Update copyright.
47605 (grub_mm_debug): Correct syntax error.
47606 (grub_mm_dump_free): New function.
47607 (grub_debug_free): Call `grub_free'.
47608 * include/grub/mm.h: Update copyright.
47609 (grub_mm_dump_free): Add declaration.
47610
077d5fee 476112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47612
47613 * include/grub/ieee1275/ieee1275.h: Update copyright.
47614 * kern/powerpc/ieee1275/init.c: Likewise.
47615 * kern/powerpc/ieee1275/openfw.c: Likewise.
47616
47617 * loader/powerpc/ieee1275/linux.c: Likewise.
47618 * include/grub/elfload.h: Likewise.
47619 * kern/elf.c: Likewise.
47620 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47621 callers.
47622 (grub_elf64_load): Likewise.
47623 (grub_elf32_load_segment): Move to a nested function.
47624 (grub_elf64_load_segment): Likewise.
47625
dc946850 476262007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47627
47628 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47629 prototype.
47630 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47631 (grub_heap_len): Likewise.
47632 (HEAP_SIZE): New macro.
47633 (grub_claim_heap): New function.
47634 (grub_machine_init): Don't claim heap directly. Call
47635 `grub_claim_heap'.
47636 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47637 (grub_available_iterate): New function.
47638
baa2a121 476392007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47640
47641 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47642 * configure.ac: Use it for testing the HOST and TARGET compilers.
47643
4fe9862e 476442006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47645
47646 * Makefile.in (enable_grub_emu): New variable.
47647 * configure.ac (--enable-grub-emu): New option.
47648 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47649 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47650 * conf/i386-pc.rmk: Likewise.
47651 * conf/powerpc-ieee1275.rmk: Likewise.
47652 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47653
a8aa5762 476542006-12-12 Marco Gerards <marco@gnu.org>
47655
47656 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47657
47658 * kern/env.c (grub_env_unset): Don't free the member `value' when
47659 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47660 pointer.
47661
47662 * normal/main.c (current_menu): Removed.
47663 (free_menu): Unset the `menu' environment variable.
47664 (grub_normal_menu_addentry): Make use of the environment variable
47665 `menu', instead of using the global `current_menu'. Allocate
47666 memory for the sourcecode of this entry.
47667 (read_config_file): New argument `nested', changed all callers.
47668 Only in the case of a new context, initialize a new menu. Set the
47669 `menu' environment variable.
47670 (grub_normal_execute): Don't set and unset the environment
47671 variable `menu' here anymore. Only free the menu when leaving the
47672 context.
47673
47674 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47675 leak.
47676
957b3a3e 476772006-12-11 Marco Gerards <marco@gnu.org>
47678
47679 * normal/menu_entry.c (run): Fix off by one bug so the last line
47680 is executed. Move the loader check to outside the loop.
47681
ef875714 476822006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47683
47684 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47685
4e739985 476862006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47687
47688 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47689 the number of sectors. Reported by Andrey Shuvikov
47690 <mr_hyro@yahoo.com>.
f19dbdb7 47691
790707f2 476922006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47693
47694 * kern/disk.c (grub_disk_read): When there is a read error, always
47695 try to read only the necessary data.
f19dbdb7 47696
790707f2 47697 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47698 disk/raid.c.
47699 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47700 prototype.
47701 [GRUB_UTIL] (grub_raid_fini): Likewise.
47702 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47703 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47704 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47705 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47706 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47707 and grub_raid_fini().
f19dbdb7 47708
03e58196 477092006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47710
47711 * include/grub/types.h (__unused): Rename to UNUSED.
47712 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47713 (grub_elf64_size): Likewise.
f19dbdb7 47714
ae4f23bf 477152006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47716
47717 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47718 grub_error_push and grub_error_pop in the error-handling path.
47719 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47720 length.
47721
2166cc83 477222006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47723
47724 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47725 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47727 (kernel_elf_SOURCES): Likewise.
47728 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47729 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47730 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47731 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47732 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47733 (elf_mod_SOURCES): New variable.
47734 (elf_mod_CFLAGS): Likewise.
47735 (elf_mod_LDFLAGS): Likewise.
47736 * include/grub/types.h (__unused): New macro.
47737 * include/grub/elfload.h: New file.
47738 * kern/elf.c: Likewise.
47739 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47740 (ELF32_LOADMASK): New macro.
47741 (ELF64_LOADMASK): Likewise.
47742 (vmlinux): Removed.
47743 (grub_linux_load32): New function.
47744 (grub_linux_load64): Likewise.
47745 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47746 Use grub_elf_t instead of grub_file_t.
47747
a09d5aa5 477482006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47749
47750 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47751 `catch_result' to struct set_color_args.
47752
d976fc51 477532006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47754
47755 * normal/menu.c: Include grub/script.h.
47756 * normal/menu_entry.c: Likewise.
47757 * include/grub/normal.h: Do not include grub/script.h.
47758
67507549 477592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47760
47761 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47762
69203a99 477632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47764
47765 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47766 disk.
47767 (grub_disk_close): Print debug messages when closing a disk.
47768 (grub_disk_read): Print debug messages when disk read fails.
47769 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47770 filesystem type.
47771 * kern/partition.c: Include misc.h.
47772 (grub_partition_iterate): Print debug messages when detecting
47773 partition type.
47774
e2b8278c 477752006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47776
47777 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47778 is negative.
47779 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47780
97b2f2ff 477812006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47782
47783 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47784 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47785
6555d655 477862006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47787
47788 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47789 instead of sizeof(lv). Patch by Michael Guntsche.
47790
4d42b77f 477912006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47792
47793 * disk/lvm.c: Rename VGS to VG_LIST.
47794 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47795 (grub_lvm_open): Likewise.
47796 Thanks to Michael Guntsche for finding this bug.
47797
5d74d927 477982006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47799
47800 * configure.ac (AC_INIT): Bumped to 1.95.
47801
a1bb27e4 478022006-10-14 Robert Millan <rmh@aybabtu.com>
47803
47804 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47805 with "/dev/.static/dev/md".
47806
e0994b8b 478072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47808
47809 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47810 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47811 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47812 DRIVE_NAME are always freed.
47813
47814 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47815 DOS_PART, as a DOS partition is counted from one instead of zero
47816 now. Reported by Robert Millan.
47817
ddd5cee9 478182006-10-14 Robert Millan <rmh@aybabtu.com>
47819
47820 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47821 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47822 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47823 string returned by grub_guess_root_device.
47824 * util/i386/pc/grub-setup.c: Likewise.
47825 * util/i386/pc/grub-probefs.c: Likewise.
47826
47827 * util/i386/pc/grub-probefs.c: Rename to ...
47828 * util/i386/pc/grub-probe.c: ... this.
47829 * DISTLIST: Remove grub-probefs, add grub-probe.
47830 * conf/i386-efi.rmk: Likewise.
47831 * conf/i386-pc.rmk: Likewise.
47832 * util/i386/pc/grub-install.in: Likewise.
47833
47834 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47835 choose which information we want to print.
47836
2b002173 478372006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47838
47839 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47840 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47841 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47842 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47843 video/readers/tga.c and video/i386/pc/vbeutil.c.
47844
478452006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47846
47847 Added support for RAID and LVM.
f19dbdb7 47848
2b002173 47849 * disk/lvm.c: New file.
47850 * disk/raid.c: Likewise.
47851 * include/grub/lvm.h: Likewise.
f19dbdb7 47852 * include/grub/raid.h: Likewise.
2b002173 47853 * include/grub/util/lvm.h: Likewise.
47854 * include/grub/util/raid.h: Likewise.
47855 * util/lvm.c: Likewise.
47856 * util/raid.c: Likewise.
47857
47858 * include/grub/disk.h (grub_disk_dev_id): Add
47859 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47860 (grub_disk_get_size): New prototype.
47861 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47862 returns a partition.
47863 (grub_disk_get_size): New function.
f19dbdb7 47864
2b002173 47865 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47866 verbatim if grub_install_dos_part is -2.
47867
47868 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47869 and LVM devices.
47870
47871 * util/i386/pc/grub-setup.c (setup): New argument
47872 MUST_EMBED. Force embedding of GRUB when the argument is
47873 true. Close FILE before returning.
47874 (main): Add support for RAID and LVM.
f19dbdb7 47875
2b002173 47876 * conf/common.rmk: Add RAID and LVM modules.
47877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47878 util/lvm.c.
47879 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47880
47881 * kern/misc.c (grub_strstr): New function.
47882 * include/grub/misc.h (grub_strstr): New prototype.
47883
050548d0 478842006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47885
47886 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47887
da849d2d 478882006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47889
47890 * kern/misc.c (grub_strtoull): Guess the base only if not
47891 specified.
47892
97b2f2ff 478932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47894
47895 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47896 PowerMac support.
47897
97b2f2ff 478982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47899
47900 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47901
47902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47903 Remove `flags' argument. All callers changed.
47904 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47905 (IEEE1275_IHANDLE_INVALID): New variable.
47906 (IEEE1275_CELL_INVALID): New variable.
47907 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47908 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47909 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47910 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47911 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47912 codes from Open Firmware. All callers updated.
47913 (grub_ieee1275_next_property): Directly return Open Firmware return
47914 code.
47915 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47916 Standardize error checking from `grub_ieee1275_get_property'.
47917 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47918 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47919
97b2f2ff 479202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47921
47922 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47923 `instance_to_package_args' to `instance_to_path_args'.
47924
47925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47926 `grub_ieee1275_chosen'.
47927
47928 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47929 `grub_ieee1275_interpret'.
47930
97b2f2ff 479312006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47932
47933 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47934
97b2f2ff 479352006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47936
47937 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47938 (__cmpdi): Likewise.
47939
47940 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47941 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47942 `grub_ssize_t'.
47943
02bb8acc 47944 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47945
47946 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47947 to type `grub_ssize_t'.
47948 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47949
7f9a8531 479502006-09-22 Marco Gerards <marco@gnu.org>
47951
47952 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47953 newlines.
47954
b5ef1102 479552006-09-22 Marco Gerards <marco@gnu.org>
47956
47957 * commands/echo.c: New file.
47958
47959 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47960
47961 * conf/common.rmk (echo_mod_SOURCES): New variable.
47962 (echo_mod_CFLAGS): Likewise.
47963 (echo_mod_LDFLAGS): Likewise.
47964
2cff3677 479652006-09-22 Marco Gerards <marco@gnu.org>
47966
47967 * normal/main.c (get_line): Malloc memory instead of using
47968 preallocated memory. Removed the arguments `cmdline' and
47969 `max_len'. Updated all callers.
47970
6ba4688b 479712006-09-22 Marco Gerards <marco@gnu.org>
47972
47973 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47974 (normal_mod_DEPENDENCIES): Likewise.
47975
47976 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47977 (normal_mod_DEPENDENCIES): Likewise.
47978
47979 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47980
e02ac02c 479812006-09-22 Johan Rydberg <jrydberg@gnu.org>
47982
47983 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47984 programs.
47985 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47986 (normal_mod_DEPENDENCIES): Likewise.
47987 * conf/i386-pc.mk: Regenerate.
47988 * conf/i386-efi.mk: Likewise
47989 * conf/common.mk: Likewise.
47990 * conf/powerpc-ieee1275.mk: Likewise.
47991 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47992
8d252e44 479932006-09-22 Robert Millan <rmh@aybabtu.com>
47994
47995 Sync with i386 version.
47996 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47997 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47998
209bf7ac 479992006-09-21 Robert Millan <rmh@aybabtu.com>
48000
48001 Import from GRUB Legacy (lib/device.c):
48002 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48003 (init_device_map) [__linux__]: Add support for I2O devices.
48004
6b146090 480052006-09-14 Marco Gerards <marco@gnu.org>
48006
48007 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48008 `-melf_i386'.
48009
e38600a8 480102006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48011
48012 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48013 /boot/grub/*.lst.
78fa1790 48014
2952da5d 48015 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48016
2952da5d 48017 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48018 before adding it to device.map.
48019
01b82a64 480202006-08-15 Johan Rydberg <jrydberg@gnu.org>
48021
fe6b695a 48022 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48023 compiles a file; using the -MD option.
48024 * conf/common.mk: Regenerate.
48025 * conf/i386-pc.mk: Likewise.
48026 * conf/i386-efi.mk: Likewise.
48027 * conf/powerpc-ieee1275.mk: Likewise.
48028 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48029
1064790d 480302006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48031
48032 Move the prototypes of grub_setjmp and grub_longjmp to
48033 cpu/setjmp.h, so that each architecture may specify different
48034 attributes.
f19dbdb7 48035
1064790d 48036 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48037 (grub_longjmp): Likewise.
48038 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48039 (grub_longjmp): Likewise.
48040 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48041 (grub_longjmp): Likewise.
48042
48043 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48044 [!GRUB_UTIL] (grub_longjmp): Removed.
48045
29dda3ed 480462006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48047
48048 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48049 "color!" method does not return any value.
48050
ad2a06ed 480512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48052
48053 * include/grub/bitmap.h: New file.
48054
48055 * include/grub/i386/pc/vbeutil.h: Likewise.
48056
48057 * video/bitmap.c: Likewise.
48058
48059 * video/readers/tga.c: Likewise.
48060
48061 * video/i386/pc/vbeutil.c: Likewise.
48062
48063 * commands/videotest.c: Code cleanup and updated to reflect to new
48064 video API.
48065
48066 * term/gfxterm.c: Likewise.
48067
48068 * video/video.c: Likewise.
48069
48070 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48071 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48072 (bitmap_mod_SOURCES): New entry.
48073 (bitmap_mod_CFLAGS): Likewise.
48074 (bitmap_mod_LDFLAGS): Likewise.
48075 (tga_mod_SOURCES): Likewise.
48076 (tga_mod_CFLAGS): Likewise.
48077 (tga_mod_LDFLAGS): Likewise.
48078
48079 * include/grub/video.h (grub_video_blit_operators): New enum type.
48080 (grub_video_render_target): Changed as forward declaration and moved
48081 actual definition to be video driver specific.
48082 (grub_video_adapter.blit_bitmap): Added blitting operator.
48083 (grub_video_adapter.blit_render_target): Likewise.
48084 (grub_video_blit_bitmap): Likewise.
48085 (grub_video_blit_render_target): Likewise.
48086
48087 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48088 driver specific render target definition.
48089 (grub_video_vbe_map_rgba): Added driver internal helper.
48090 (grub_video_vbe_unmap_color): Updated to use
48091 grub_video_i386_vbeblit_info.
48092 (grub_video_vbe_get_video_ptr): Likewise.
48093
48094 * include/grub/i386/pc/vbeblit.h
48095 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48096 grub_video_i386_vbeblit_info.
48097 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48098 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48099 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48100 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48101 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48102 (grub_video_i386_vbeblit_index_index): Likewise.
48103 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48105 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48106 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48107 operator.
48108 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48109 operator.
48110
48111 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48112 include/grub/i386/pc/vbeblit.h.
48113
48114 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48115 Updated to use grub_video_i386_vbeblit_info.
48116 (grub_video_i386_vbefill_R8G8B8): Likewise.
48117 (grub_video_i386_vbefill_index): Likewise.
48118 (grub_video_i386_vbefill): Added generic filler.
48119
48120 * video/i386/pc/vbefill.c: Updated to reflect changes on
48121 include/grub/i386/pc/vbefill.h.
48122
48123 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48124 grub_video_i386_vbeblit_info.
48125 (grub_video_vbe_unmap_color): Likewise.
48126 (grub_video_vbe_blit_glyph): Likewise.
48127 (grub_video_vbe_scroll): Likewise.
48128 (grub_video_vbe_draw_pixel): Removed function.
48129 (grub_video_vbe_get_pixel): Likewise.
48130 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48131 updated code to use it.
48132 (common_blitter): Added common blitter for render target and bitmap.
48133 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48134 (grub_video_vbe_blit_render_target): Likewise.
48135
bc8c036d 481362006-07-30 Johan Rydberg <jrydberg@gnu.org>
48137
48138 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48139 is in text mode if there is no console control protocol instance
48140 available.
48141
684a8eff 481422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48143
48144 * include/grub/video.h: Code cleanup.
48145
48146 * include/grub/i386/pc/vbe.h: Likewise.
48147
48148 * video/i386/pc/vbe.c: Likewise.
48149
48150 * video/i386/pc/vbeblit.c: Likewise.
48151
48152 * video/i386/pc/vbefill.c: Likewise.
48153
48154 * video/video.c: Likewise. Also added more comments.
48155
5915059b 481562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48157
48158 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48159 (struct grub_biosdisk_dap): Likewise.
48160
48161 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48162 linkage settings for all functions.
48163
90ce5d56 481642006-07-12 Marco Gerards <marco@gnu.org>
48165
48166 * configure.ac (--enable-mm-debug): Fix typo.
48167
48168 * genkernsyms.sh.in: Use proper quoting for `CC'.
48169
43e7f879 481702006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48171
48172 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48173 (normal_mod_ASFLAGS): Remove "-m32".
48174
4889bdec 481752006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48176
48177 * util/misc.c: Include config.h.
48178 [!HAVE_MEMALIGN]: Do not include malloc.h.
48179 (grub_memalign): Use posix_memalign, if present. Then, use
48180 memalign, if present. Otherwise, emit an error.
48181
48182 * util/grub-emu.c: Do not include malloc.h.
48183
48184 * include/grub/util/misc.h: Include unistd.h. This is required for
48185 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48186 D. Eades III <hde@foobar-qux.org>.
48187
48188 * configure.ac (AC_GNU_SOURCE): Added.
48189 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48190 type.
48191
fd39d4da 481922006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48193
48194 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48195 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48196
b786f3b5 481972006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48198
48199 * include/grub/types.h (grub_host_addr_t): Rename to
48200 grub_target_addr_t.
48201 (grub_host_off_t): Rename to grub_target_off_t.
48202 (grub_host_size_t): Rename to grub_target_size_t.
48203 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48204 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48205
48206 * include/grub/kernel.h (struct grub_module_header): Change type
48207 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48208 (grub_module_info): Likewise.
f19dbdb7 48209
051988bb 482102006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48211
48212 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48213 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48214 Velazquez <jesus.velazquez@gmail.com>.
48215
deae281b 482162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48217
48218 Count partitions from 1 instead of 0 in the string representation
48219 of partitions. Still use 0-based internally.
f19dbdb7 48220
deae281b 48221 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48222 (sun_partition_map_iterate): Use grub_partition_t instead of
48223 struct grub_partition *. Cast DESC->START_CYLINDER to
48224 grub_uint64_t after converting the endian.
48225 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48226 (sun_partition_map_get_name): Add 1 to P->INDEX.
48227
48228 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48229 PCDATA->DOS_PART.
48230 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48231
48232 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48233 zero instead of one.
48234 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48235 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48236
48237 * partmap/apple.c (apple_partition_map_iterate): Change the type
48238 of POS to unsigned.
48239 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48240 (apple_partition_map_get_name): Add 1 into P->INDEX.
48241
48242 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48243 of POS to unsigned.
48244 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48245 calculate the offset of a partition.
48246 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48247 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48248
48249 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48250 SECTOR to grub_disk_addr_t.
48251 (acorn_partition_map_iterate): Likewise.
48252 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48253 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48254 top.
48255 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48256
48257 * kern/i386/pc/init.c (make_install_device): Add 1 into
48258 GRUB_INSTALL_DOS_PART.
48259
48260 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48261 conditional.
48262
524a1e6a 482632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48264
48265 Clean up the code to support 64-bit addressing in disks and
48266 files. This change is not enough for filesystems yet.
f19dbdb7 48267
524a1e6a 48268 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48269 type of "start" to grub_uint64_t.
48270 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48271 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48272 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48273 convert addresses.
48274
48275 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48276 to grub_disk_addr_t.
48277
48278 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48279 string.
48280
48281 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48282
48283 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48284 to char *.
48285
48286 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48287
48288 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48289
48290 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48291
48292 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48293 to grub_off_t, to detect an error from grub_file_seek.
48294 (grub_multiboot_load_elf32): Likewise.
48295
48296 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48297 maximum unsigned long value when an overflow is detected.
48298 (grub_strtoull): New function.
48299 (grub_divmod64): Likewise.
48300 (grub_lltoa): use grub_divmod64.
48301
48302 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48303 grub_disk_addr_t.
48304 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48305 the pointer to next character. Use grub_strtoull instead of
48306 grub_strtoul.
48307 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48308 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48309 respectively.
48310
fe6b695a 48311 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48312 return value is signed.
48313 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48314 test if OFFSET is less than zero, as OFFSET is unsigned now.
48315
48316 * kern/disk.c (struct grub_disk_cache): Change the type of
48317 "sector" to grub_disk_addr_t.
48318 (grub_disk_cache_get_index): Change the type of SECTOR to
48319 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48320 unsigned after shifting.
48321 (grub_disk_cache_invalidate): Change the type of SECTOR to
48322 grub_disk_addr_t.
48323 (grub_disk_cache_unlock): Likewise.
48324 (grub_disk_cache_store): Likewise.
48325 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48326 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48327 grub_disk_addr_t and grub_uint64_t, respectively.
48328 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48329 body, as the value of OFFSET is tweaked by
48330 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48331 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48332 respectively.
48333 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48334 body, as the value of OFFSET is tweaked by
48335 grub_disk_check_range. Change the types of LEN and N to
48336 grub_size_t.
48337
48338 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48339 and "saved_offset" to grub_off_t.
48340 (test_header): Cast BUF to char *.
48341 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48342 to char *.
48343 (grub_gzio_read): Change the types of OFFSET and SIZE to
48344 grub_off_t and grub_size_t, respectively.
48345
48346 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48347 Removed.
48348 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48349 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48350 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48351 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48352 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48353
48354 * include/grub/types.h (grub_off_t): Unconditionally set to
48355 grub_uint64_t.
48356 (grub_disk_addr_t): Changed to grub_uint64_t.
48357
48358 * include/grub/partition.h (struct grub_partition): Change the
48359 types of "start", "len" and "offset" to grub_disk_addr_t,
48360 grub_uint64_t and grub_disk_addr_t, respectively.
48361 (grub_partition_get_start): Return grub_disk_addr_t.
48362 (grub_partition_get_len): Return grub_uint64_t.
48363
48364 * include/grub/misc.h (grub_strtoull): New prototype.
48365 (grub_divmod64): Likewise.
48366
48367 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48368 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48369 grub_off_t, respectively.
48370 All callers and references changed.
48371
48372 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48373 grub_size_t in "read".
48374 All callers and references changed.
48375
48376 * include/grub/file.h (struct grub_file): Change the types of
48377 "offset" and "size" to grub_off_t and grub_off_t,
48378 respectively. Change the type of SECTOR to grub_disk_addr_t in
48379 "read_hook".
48380 (grub_file_read): Change the type of LEN to grub_size_t.
48381 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48382 grub_off_t.
48383 (grub_file_size): Return grub_off_t.
48384 (grub_file_tell): Likewise.
48385 All callers and references changed.
48386
48387 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48388 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48389 "write".
48390 (struct grub_disk): Change the type of "total_sectors" to
48391 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48392 "read_hook".
524a1e6a 48393 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48394 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48395 (grub_disk_write): Likewise.
48396 All callers and references changed.
48397
48398 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48399 char * for grub_strncmp to silence gcc.
48400 (grub_iso9660_mount): Likewise.
48401 (grub_iso9660_mount): Likewise.
48402 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48403 return statement.
48404 (grub_iso9660_iterate_dir): Likewise.
48405 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48406
48407 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48408 LEN to grub_disk_addr_t and grub_size_t, respectively.
48409
48410 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48411
48412 * fs/jfs.c (grub_jfs_read_file): Likewise.
48413
48414 * fs/minix.c (grub_jfs_read_file): Likewise.
48415
48416 * fs/sfs.c (grub_jfs_read_file): Likewise.
48417
48418 * fs/ufs.c (grub_jfs_read_file): Likewise.
48419
48420 * fs/xfs.c (grub_jfs_read_file): Likewise.
48421
48422 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48423 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48424 respectively.
48425
48426 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48427 BLKNR to -1 instead of returning GRUB_ERRNO.
48428 (grub_ext2_read_file): Change the types of SECTOR and
48429 LEN to grub_disk_addr_t and grub_size_t, respectively.
48430
48431 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48432 LEN to grub_disk_addr_t and grub_size_t, respectively.
48433
48434 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48435 grub_file_read.
48436
48437 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48438 string. Do not cast SECTOR explicitly.
48439
48440 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48441 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48442 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48443 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48444 over 2TB and LBA mode is not supported, raise an error.
48445 (get_safe_sectors): New function.
48446 (grub_biosdisk_read): Use get_safe_sectors.
48447 (grub_biosdisk_write): Likewise.
48448
48449 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48450 (grub_efidisk_write): Likewise.
48451
48452 * disk/loopback.c (delete_loopback): Cosmetic changes.
48453 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48454 correctly.
48455 (grub_loopback_open): Likewise.
48456 (grub_loopback_read): Likewise. Also, change the type of POS to
48457 grub_off_t, and fix the usage of grub_memset.
48458
48459 * commands/i386/pc/play.c: Include grub/machine/time.h.
48460
48461 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48462 print FILE->SIZE.
48463
48464 * commands/configfile.c: Include grub/env.h.
48465
48466 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48467 GRUB_ERRNO directly instead. Change the type of POS to
48468 grub_off_t. Follow the coding standard.
48469
48470 * commands/blocklist.c: Include grub/partition.h.
48471 (grub_cmd_blocklist): Return an error if the underlying device is
48472 not a disk. Take the starting sector of a partition into account,
48473 if a partition is used.
48474
48475 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48476 a length field.
48477 (lba_mode): Support 64-bit addresses.
48478 (chs_mode): Likewise.
48479 (copy_buffer): Adapted to the new offsets of a length field and a
48480 segment field.
48481 (blocklist_default_start): Allocate 64-bit space.
48482
48483 * boot/i386/pc/boot.S (force_lba): Removed.
48484 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48485 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48486 space.
48487 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48488 is useless.
48489 (lba_mode): Refactored to support a 64-bit address. More size
48490 optimization.
48491 (setup_sectors): Likewise.
48492
53af98ad 484932006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48494
48495 * DISTLIST: Added include/grub/i386/linux.h. Removed
48496 include/grub/i386/pc/linux.h
48497
48498 * configure.ac (AC_INIT): Bumped to 1.94.
48499
48500 * config.guess: Updated from gnulib.
48501 * config.sub: Likewise.
48502 * install-sh: Likewise.
48503 * mkinstalldirs: Likewise.
48504
b4c1940a 485052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48506
48507 * conf/common.rmk (grub_modules_init.lst): Depended on
48508 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48509 MODSRCFILES.
48510
48511 * genmk.rb (PModule::rule): Reverted the previous change.
48512
cfca1cfd 485132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48514
48515 * conf/common.rmk (grub_modules_init.lst): Depends on
48516 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48517 that the target does not exist before producing.
48518 (grub_modules_init.h): Remove the target before generating.
48519 (grub_emu_init.c): Likewise.
48520
48521 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48522
aa6d7826 485232006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48524
48525 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48526 for the target-specific tests. Make sure that we also have the
48527 up-to-date target variables for those tests.
48528
26c607b9 485292006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48530
48531 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48532 (PModule::rule): Likewise.
48533
0162321a 485342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48535
48536 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48537 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48538 target-specific flags should be prefixed.
48539 (PModule::rule): Likewise.
48540
6c826348 485412006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48542
48543 * configure.ac (CMP): Check if cmp is available explicitly.
48544
b977bf01 485452006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48546
48547 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48548 (target_cpu): New variable.
48549 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48550
b977bf01 48551 * util/i386/pc/grub-install.in (host_cpu): Removed.
48552 (target_cpu): New variable.
48553 (pkglibdir): Use target_cpu instead of host_cpu.
48554
48555 * util/genmoddep.c: Removed.
f19dbdb7 48556
b977bf01 48557 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48558 instead of GRUB_HOST_SIZEOF_VOID_P.
48559 * kern/dl.c: Likewise.
48560
48561 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48562 ...
48563 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48564 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48565 (GRUB_TARGET_SIZEOF_LONG): ... this.
48566 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48567 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48568 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48569 to ...
48570 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48571 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48572 (GRUB_TARGET_SIZEOF_LONG): ... this.
48573 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48574 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48575 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48576 to ...
48577 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48578 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48579 (GRUB_TARGET_SIZEOF_LONG): ... this.
48580 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48581 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48582
48583 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48584 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48585 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48586 instead of GRUB_HOST_SIZEOF_LONG.
48587 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48588 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48589 GRUB_CPU_WORDS_BIGENDIAN.
48590 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48591 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48592 grub_host_ssize_t.
48593
48594 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48595 (genmoddep_SOURCES): Likewise.
48596 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48597 (genmoddep_SOURCES): Likewise.
48598 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48599 (genmoddep_SOURCES): Likewise.
48600 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48601 Likewise.
48602 (genmoddep_SOURCES): Likewise.
48603
48604 * genmoddep.awk: New file.
48605
48606 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48607 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48608 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48609 (PModule::rule): Likewise.
48610 (Program::rule): Likewise.
48611 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48612 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48613 respectively.
48614
48615 * configure.ac: Rewritten intensively to use host and target
48616 instead of build and host, respectively.
48617
48618 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48619 (host_cpu): Removed.
48620 (target_cpu): New variable.
48621 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48622 (BUILD_CC): Removed.
48623 (BUILD_CFLAGS): Likewise.
48624 (BUILD_CPPFLAGS): Likewise.
48625 (TARGET_CC): New variable.
48626 (TARGET_CFLAGS): Likewise.
48627 (TARGET_CPPFLAGS): Likewise.
48628 (TARGET_LDFLAGS): Likewise.
48629 (AWK): Likewise.
48630 (include): Use target_cpu instead of host_cpu.
48631 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48632
b977bf01 48633 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48634
f09771a1 486352006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48636
48637 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48638 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48639 field 'false' to 'exec_on_false'.
48640 (grub_script_create_cmdif): Renamed argument names to reflect above
48641 changes.
48642
48643 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48644
48645 * normal/script.c (grub_script_create_cmdif): Likewise.
48646
118f4fb3 486472006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48648
48649 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48650 top.
48651 (grub_hfsplus_btree_recptr): Likewise.
48652 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48653 FILEBLOCK both to pass a block number and store next block
48654 number.
48655 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48656 overflow file correctly. Specify errors appropriately, because
48657 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48658 grub_hfsplus_btree_recptr to get the pointer to a found key.
48659 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48660 is found.
48661
48662 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48663 linux.mod.
48664 (_linux_mod_SOURCES): New variable.
48665 (_linux_mod_CFLAGS): Likewise.
48666 (_linux_mod_LDFLAGS): Likewise.
48667 (linux_mod_SOURCES): Likewise.
48668 (linux_mod_CFLAGS): Likewise.
48669 (linux_mod_LDFLAGS): Likewise.
48670
48671 * DISTLIST: Added loader/i386/efi/linux.c,
48672 loader/i386/efi/linux_normal.c and
48673 include/grub/i386/efi/loader.h.
48674
48675 * loader/i386/efi/linux.c: New file.
48676 * loader/i386/efi/linux_normal.c: Likewise.
48677 * include/grub/i386/efi/loader.h: Likewise.
48678
89a7d726 486792006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48680
48681 * commands/blocklist.c: New file.
48682
48683 * DISTLIST: Added commands/blocklist.c.
48684
48685 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48686 color for the background, and a darker color for the foreground.
89a7d726 48687 (grub_console_checkkey): Return READ_KEY.
48688 (grub_console_cls): Set the background to
48689 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48690
48691 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48692
48693 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48694 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48695
48696 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48697 prototype.
48698
48699 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48700 BG. The spec is wrong again.
48701
48702 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48703 prototype.
48704 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48705
48706 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48707 commands/blocklist.c.
48708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48709
89a7d726 48710 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48711 (blocklist_mod_SOURCES): New variable.
48712 (blocklist_mod_CFLAGS): Likewise.
48713 (blocklist_mod_LDFLAGS): Likewise.
48714
75c8f258 487152006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48716
48717 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48718 duplication.
48719 (lba_mode): Use %eax more intensively to reduce the code size.
48720
da2eb181 487212006-05-20 Marco Gerards <marco@gnu.org>
48722
48723 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48724
48725 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48726 for `menuentry'.
48727 (script): Accept leading newlines.
48728 (newlines): New rule to describe 0 or more newlines.
48729 (commands): Accept `command' with trailing newline. Fixed the
48730 order in which arguments were passed to `grub_script_add_cmd'.
48731 Accept commands separated by newlines.
48732 (function): Changed to accept newlines.
48733 (menuentry) Rewritten.
48734
48735 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48736 front of the list, instead of to the end.
48737
577b4050 487382006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48739
48740 * util/i386/pc/grub-install.in (bindir): New variable.
48741 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48742 Shaver <lbgwjl@gmail.com>.
48743
0d6e1189 487442006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48745
48746 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48747 grub/machine/linux.h
48748 * loader/i386/pc/linux.c: Likewise.
48749
48750 * include/grub/i386/pc/linux.h: Moved to ...
48751 * include/grub/i386/linux.h: ... here.
48752
48753 * include/grub/i386/linux.h (struct linux_kernel_params): New
48754 struct.
f19dbdb7 48755
31b86e9f 487562006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48757
48758 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48759 checking.
48760 (grub_video_vbe_blit_glyph): Likewise.
48761 (grub_video_vbe_blit_bitmap): Likewise.
48762 (grub_video_vbe_blit_render_target): Likewise.
48763
83b984de 487642006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48765
48766 * configure.ac (--with-platform): Properly quote the square
48767 brackets.
48768
5f0413bd 487692006-05-08 Marco Gerards <marco@gnu.org>
48770
48771 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48772 this...
48773 (kernel_elf_HEADERS): ...to this. Updated all users.
48774 (grubof_symlist.c): Renamed from this...
48775 (kernel_elf_symlist.c): ...to this. Updated all users.
48776 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48777 (grubof_SOURCES): Renamed from this...
48778 (kernel_elf_SOURCES): ...to this.
48779 (grubof_HEADERS): Renamed from this...
48780 (kernel_elf_HEADERS): ...to this.
48781 (grubof_CFLAGS): Renamed from this...
48782 (kernel_elf_CFLAGS): ...to this.
48783 (grubof_ASFLAGS): Renamed from this...
48784 (kernel_elf_ASFLAGS): ...to this.
48785 (grubof_LDFLAGS): Renamed from this...
48786 (kernel_elf_LDFLAGS): ...to this.
48787
48788 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48789 this...
48790 (kernel_elf_HEADERS): ...to this. Updated all users.
48791 (grubof_symlist.c): Renamed from this...
48792 (kernel_elf_symlist.c): ...to this. Updated all users.
48793 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48794 (grubof_SOURCES): Renamed from this...
48795 (kernel_elf_SOURCES): ...to this.
48796 (grubof_HEADERS): Renamed from this...
48797 (kernel_elf_HEADERS): ...to this.
48798 (grubof_CFLAGS): Renamed from this...
48799 (kernel_elf_CFLAGS): ...to this.
48800 (grubof_ASFLAGS): Renamed from this...
48801 (kernel_elf_ASFLAGS): ...to this.
48802 (grubof_LDFLAGS): Renamed from this...
48803 (kernel_elf_LDFLAGS): ...to this.
48804
48805 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48806 `kernel.elf' instead of `grubof'.
48807
05568c2e 488082006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48809
48810 Add --with-platform to configure. Use pkglibdir instead of
48811 pkgdatadir. This is reported by Roger Leigh.
48812
48813 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48814 (host_vendor): Likewise.
48815 (host_os): Likewise.
48816 (pkgdatadir): Likewise.
48817 (platform): New variable.
48818 (pkglibdir): Likewise.
48819 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48820
05568c2e 48821 * util/i386/pc/grub-install.in (datadir): Removed.
48822 (host_vendor): Likewise.
48823 (host_os): Likewise.
48824 (pkgdatadir): Likewise.
48825 (platform): New variable.
48826 (pkglibdir): Likewise.
48827 Use PKGLIBDIR instead of PKGDATADIR.
48828
48829 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48830 instead of GRUB_DATADIR.
48831 (main): Likewise.
48832 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48833 (main): Likewise.
48834 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48835 (main): Likewise.
48836
48837 * configure.ac (--with-platform): New option.
48838 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48839
48840 * Makefile.in: Include a makefile based on PLATFORM instead of
48841 HOST_VENDOR.
48842 (pkgdatadir): Not appended by the machine type.
48843 (pkglibdir): Appended by the machine type.
48844 (host_vendor): Removed.
48845 (platform): New variable.
48846 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48847 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48848 (uninstall): Likewise.
48849
4e93851c 488502006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48851
48852 Use the environment context in the menu. Remove the commands
48853 "default" and "timeout", and use variables instead.
f19dbdb7 48854
4e93851c 48855 * normal/menu.c: Include grub/env.h.
48856 (print_entry): Cast TITLE to silence gcc.
48857 (get_timeout): New function.
48858 (set_timeout): Likewise.
48859 (get_entry_number): Likewise.
48860 (run_menu): Use a default entry, a fallback entry and a timeout
48861 in the environment variables "default", "fallback" and
48862 "timeout". Also, tweak the default entry if it is not within the
48863 current menu entries.
48864 (grub_menu_run): Use a fallback entry in the environment variable
48865 "fallback".
48866
48867 * normal/main.c (read_config_file): Do not initialize
48868 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48869 NEWMENU->TIMEOUT.
48870 (grub_normal_execute): Use a data slot to store the menu.
48871
48872 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48873 fallback_entry and timeout.
48874 (struct grub_menu_list): Removed.
48875 (grub_menu_list_t): Likewise.
48876 (struct grub_context): Likewise.
48877 (grub_context_t): Likewise.
48878 (grub_context_get): Likewise.
48879 (grub_context_get_current_menu): Likewise.
48880 (grub_context_push_menu): Likewise.
48881 (grub_context_pop_menu): Likewise.
48882 (grub_default_init): Likewise.
48883 (grub_default_fini): Likewise.
48884 (grub_timeout_init): Likewise.
48885 (grub_timeout_fini): Likewise.
48886
48887 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48888 and timeout.mod.
48889 (normal_mod_SOURCES): Removed normal/context.c.
48890
48891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48892 commands/default.c, commands/timeout.c and normal/context.c.
48893 (normal_mod_SOURCES): Removed normal/context.c.
48894
48895 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48896 commands/timeout.c and normal/context.c.
48897 (normal_mod_SOURCES): Removed normal/context.c.
48898
48899 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48900 commands/default.c, commands/timeout.c and normal/context.c.
48901 (normal_mod_SOURCES): Removed normal/context.c.
48902
48903 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48904 timeout.mod.
48905 (default_mod_SOURCES): Removed.
48906 (default_mod_CFLAGS): Likewise.
48907 (default_mod_LDFLAGS): Likewise.
48908 (timeout_mod_SOURCES): Removed.
48909 (timeout_mod_CFLAGS): Likewise.
48910 (timeout_mod_LDFLAGS): Likewise.
48911
48912 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48913 normal/context.c.
48914
48915 * commands/default.c: Removed.
48916 * commands/timeout.c: Likewise.
48917 * normal/context.c: Likewise.
48918
1eb9cc1d 489192006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48920
48921 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48922
385bd9c1 489232006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48924
48925 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48926 "next" to "prev" for readability.
48927 (struct grub_env_sorted_var): New struct.
48928 (grub_env_context): Renamed to ...
48929 (initial_context): ... this.
48930 (grub_env_var_context): Renamed to ...
48931 (current_context): ... this.
48932 (grub_env_find): Look only at CURRENT_CONTEXT.
48933 (grub_env_context_open): Rewritten to copy exported variables from
48934 previous context.
48935 (grub_env_context_close): Rewritten according to the new
48936 scheme. Also, add an assertion to prevent the initial context from
48937 removed.
48938 (grub_env_insert): Removed the code for the sorted list.
48939 (grub_env_remove): Likewise.
48940 (grub_env_export): Simply mark the variable with
48941 GRUB_ENV_VAR_GLOBAL.
48942 (grub_env_set): A cosmetic change for naming consistency.
48943 (grub_env_get): Likewise.
48944 (grub_env_unset): Likewise.
48945 (grub_env_iterate): Rewritten to sort variables within this
48946 function.
48947 (grub_register_variable_hook): Fixed for naming consistency. Call
48948 grub_env_find again, only if NAME is not found at the first time.
48949 (mangle_data_slot_name): New function.
48950 (grub_env_set_data_slot): Likewise.
48951 (grub_env_get_data_slot): Likewise.
48952 (grub_env_unset_data_slot): Likewise.
48953
48954 * include/grub/env.h (grub_env_var_type): New enum.
48955 (GRUB_ENV_VAR_LOCAL): New constant.
48956 (GRUB_ENV_VAR_GLOBAL): Likewise.
48957 (GRUB_ENV_VAR_DATA): Likewise.
48958 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48959 "type".
48960 (grub_env_set): Replace VAR with NAME for consistency.
48961 (grub_register_variable_hook): Likewise.
48962 (grub_env_export): Specify the name of the argument.
48963 (grub_env_set_data_slot): New prototype.
48964 (grub_env_get_data_slot): Likewise.
48965 (grub_env_unset_data_slot): Likewise.
48966
7f362539 489672006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48968
48969 Extend the loader so that GRUB can accept a loader which comes
48970 back to GRUB when a loaded image exits. Also, this change adds
48971 support for a chainloader on EFI.
f19dbdb7 48972
7f362539 48973 * term/efi/console.c: Include grub/misc.h.
48974 (grub_console_checkkey): Display a scan code on the top for
48975 debugging. This will be removed once the EFI port gets stable.
48976 Correct the scan code mapping.
48977
48978 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48979 allocate memory from larger regions, in order to reduce the number
48980 of allocated regions. Otherwise, the MacOSX loader panics.
48981 (filter_memory_map): Avoid less than 1MB for compatibility with
48982 other loaders.
48983 (add_memory_regions): Allocate from the tail of a region, if
48984 possible, to avoid allocating a region near to 1MB, for the MacOSX
48985 loader.
48986
48987 * kern/efi/init.c (grub_efi_set_prefix): Specify
48988 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48989
48990 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48991 argument IMAGE_HANDLE and specify it to get a loaded image.
48992 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48993 grub_efi_get_loaded_image.
fe6b695a 48994 (grub_efi_get_filename): Divide the length by the size of
7f362539 48995 grub_efi_char16_t.
48996 (grub_efi_get_device_path): New function.
48997 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48998 the length by the size of grub_efi_char16_t for a file path device
48999 path node.
49000
49001 * kern/loader.c (grub_loader_noreturn): New variable.
49002 (grub_loader_set): Accept a new argument NORETURN. Set
49003 GRUB_LOADER_NORETURN to NORETURN.
49004 All callers changed.
49005 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49006 grub_machine_fini.
49007
49008 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49009 prototype.
49010 (grub_efi_get_loaded_image): Take an argument to specify an image
49011 handle.
49012
49013 * include/grub/loader.h (grub_loader_set): Added one more argument
49014 NORETURN.
49015
49016 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49017 instead of grub_efi_open_protocol.
49018 (grub_efidisk_get_device_name): Likewise.
49019 (grub_efidisk_close): Print a newline.
49020 (grub_efidisk_get_device_handle): Fixed to use
49021 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49022 GRUB_EFI_DEVICE_PATH_TYPE.
49023
49024 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49025 * kern/efi/efi.c (device_path_guid): ... here.
49026
49027 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49028 chain.mod.
49029 (kernel_mod_HEADERS): Added efi/disk.h.
49030 (_chain_mod_SOURCES): New variable.
49031 (_chain_mod_CFLAGS): Likewise.
49032 (_chain_mod_LDFLAGS): Likewise.
49033 (chain_mod_SOURCES): Likewise.
49034 (chain_mod_CFLAGS): Likewise.
49035 (chain_mod_LDFLAGS): Likewise.
49036
49037 * DISTLIST: Added include/grub/efi/chainloader.h,
49038 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49039
49040 * include/grub/efi/chainloader.h: New file.
49041 * loader/efi/chainloader.c: Likewise.
49042 * loader/efi/chainloader_normal.c: Likewise.
49043
c0111d6e 490442006-04-30 Marco Gerards <marco@gnu.org>
49045
49046 * commands/configfile.c (grub_cmd_source): New function.
49047 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49048 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49049
df5341da 490502006-04-30 Marco Gerards <marco@gnu.org>
49051
49052 * normal/execute.c (grub_script_execute_cmd): Change the return
49053 type to `grub_err_t'. Correctly return the error.
49054 (grub_script_execute_cmdline): In case a command line is not a
49055 command or a function, try to interpret it as an assignment.
49056
f85934bd 490572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49058
49059 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49060 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49061 skip a node whose name is obviously invalid as UTF-16,
49062 i.e. contains a NUL character. Stop the iteration when the last
49063 directory entry is found. Instead of using the return value of
49064 grub_hfsplus_btree_iterate_node, store the value in RET and use
49065 it, because the iterator can be stopped by the last directory
49066 entry.
49067
8f8a2cf8 490682006-04-30 Marco Gerards <marco@gnu.org>
49069
49070 * include/grub/env.h (grub_env_export): New prototype. Reported
49071 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49072
a27e84ce 490732006-04-30 Marco Gerards <marco@gnu.org>
49074
49075 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49076 size of the extents in a catalog file record.
49077
eaef0553 490782006-04-29 Marco Gerards <marco@gnu.org>
49079
49080 * commands/configfile.c (grub_cmd_configfile): Execute the
49081 configfile within its own context.
49082
49083 * include/grub/env.h (grub_env_context_open): New prototype.
49084 (grub_env_context_close): Likewise.
49085
49086 * kern/env.c (grub_env): Removed.
49087 (grub_env_sorted): Likewise.
49088 (grub_env_context): New variable.
49089 (grub_env_var_context): Likewise.
49090 (grub_env_find): Search both the active context and the global
49091 context.
49092 (grub_env_context_open): New function.
49093 (grub_env_context_close): Likewise.
49094 (grub_env_insert): Likewise.
49095 (grub_env_remove): Likewise.
49096 (grub_env_export): Likewise.
49097 (grub_env_set): Changed to use helper functions to avoid code
49098 duplication.
49099 (grub_env_iterate): Rewritten so both the current context and the
49100 global context are being used.
49101
49102 * normal/command.c (export_command): New function.
49103 (grub_command_init): Register the `export' function.
49104
7b455f4d 491052006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49106
49107 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49108 explicitly to suppress gcc's warnings.
49109 * fs/fat.c (grub_fat_find_dir): Likewise.
49110 (grub_fat_label): Likewise.
49111 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49112 (grub_xfs_mount): Likewise.
49113 (grub_xfs_label): Likewise.
49114 * fs/affs.c (grub_affs_mount): Likewise.
49115 (grub_affs_label): Likewise.
49116 (grub_affs_iterate_dir): Likewise.
49117 * fs/sfs.c (grub_sfs_mount): Likewise.
49118 (grub_sfs_iterate_dir): Likewise.
49119 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49120 * fs/hfs.c (grub_hfs_mount): Likewise.
49121 (grub_hfs_cmp_catkeys): Likewise.
49122 (grub_hfs_find_dir): Likewise.
49123 (grub_hfs_dir): Likewise.
49124 (grub_hfs_label): Likewise.
49125 * fs/jfs.c (grub_jfs_mount): Likewise.
49126 (grub_jfs_opendir): Likewise.
49127 (grub_jfs_getent): Likewise.
49128 (grub_jfs_lookup_symlink): Likewise.
49129 (grub_jfs_label): Likewise.
49130 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49131 (grub_hfsplus_iterate_dir): Likewise.
49132 (grub_hfsplus_btree_iterate_node): Made static.
49133
49134 * util/grub-emu.c (prefix): New variable.
49135 (grub_machine_set_prefix): New function.
49136 (main): Do not set the environment variable "prefix" here. Only
49137 set PREFIX, which is used later by grub_machine_set_prefix.
49138
49139 * include/grub/video.h: Do not include grub/symbol.h.
49140 (grub_video_register): Not exported. This symbol is not defined in
49141 the kernel.
49142 (grub_video_unregister): Likewise.
49143 (grub_video_iterate): Likewise.
49144 (grub_video_setup): Likewise.
49145 (grub_video_restore): Likewise.
49146 (grub_video_get_info): Likewise.
49147 (grub_video_get_blit_format): Likewise.
49148 (grub_video_set_palette): Likewise.
49149 (grub_video_get_palette): Likewise.
49150 (grub_video_set_viewport): Likewise.
49151 (grub_video_get_viewport): Likewise.
49152 (grub_video_map_color): Likewise.
49153 (grub_video_map_rgb): Likewise.
49154 (grub_video_map_rgba): Likewise.
49155 (grub_video_fill_rect): Likewise.
49156 (grub_video_blit_glyph): Likewise.
49157 (grub_video_blit_bitmap): Likewise.
49158 (grub_video_blit_render_target): Likewise.
49159 (grub_video_scroll): Likewise.
49160 (grub_video_swap_buffers): Likewise.
49161 (grub_video_create_render_target): Likewise.
49162 (grub_video_delete_render_target): Likewise.
49163 (grub_video_set_active_render_target): Likewise.
49164
49165 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49166 Undefined.
49167 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49168
49169 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49170 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49171 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49172 instead of $(srcdir)/genkernsyms.sh.
49173
49174 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49175 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49176 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49177 instead of $(srcdir)/genkernsyms.sh.
49178
49179 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49180 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49181 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49182 instead of $(srcdir)/genkernsyms.sh.
49183
49184 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49185 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49186 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49187 instead of $(srcdir)/genkernsyms.sh.
49188
49189 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49190 genkernsyms.sh.
49191
49192 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49193 genkernsyms.sh.
49194 (gensymlist.sh): New target.
49195 (genkernsyms.sh): Likewise.
49196
49197 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49198 genkernsyms.sh.in and gensymlist.sh.in.
49199
49200 * genkernsyms.sh: Removed.
49201 * gensymlist.sh: Likewise.
f19dbdb7 49202
7b455f4d 49203 * genkernsyms.sh.in: New file.
49204 * gensymlist.sh.in: Likewise.
49205
1885bb27 492062006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49207
49208 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49209 clobber "prefix", since we may have already set it manually.
49210
71538dff 492112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49212
49213 * kern/misc.c (abort): New alias for grub_abort.
49214
2965c7cc 492152006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49216
49217 A new machine-specific function "grub_machine_set_prefix" is
49218 defined. This is called after loading modules, so that a prefix
49219 initialization can use modules. Also, this change adds an
49220 intensive debugging feature for the memory manager via the
49221 configure option "--enable-mm-debug".
f19dbdb7 49222
2965c7cc 49223 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49224 PART.LEN.
49225
49226 * kern/sparc64/ieee1275/init.c (abort): Removed.
49227 (grub_stop): Likewise.
49228 (grub_exit): New function.
49229 (grub_set_prefix): Renamed to ...
49230 (grub_machine_set_prefix): ... this.
49231 (grub_machine_init): Do not call grub_set_prefix.
49232
49233 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49234 (grub_machine_set_prefix): ... this.
49235 (grub_machine_init): Do not call grub_set_prefix.
49236
49237 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49238 (grub_machine_init): Do not set the prefix here.
49239
49240 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49241
49242 * kern/efi/init.c: Include grub/mm.h.
49243 (grub_efi_set_prefix): New function.
49244
49245 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49246 (grub_efi_get_filename): New function.
49247 (grub_print_device_path): Renamed to ...
49248 (grub_efi_print_device_path): ... this.
49249
49250 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49251 [MM_DEBUG] (grub_realloc): Likewise.
49252 [MM_DEBUG] (grub_free): Likewise.
49253 [MM_DEBUG] (grub_memalign): Likewise.
49254 [MM_DEBUG] (grub_mm_debug): New variable.
49255 [MM_DEBUG] (grub_debug_malloc): New function.
49256 [MM_DEBUG] (grub_debug_free): New function.
49257 [MM_DEBUG] (grub_debug_realloc): New function.
49258 [MM_DEBUG] (grub_debug_memalign): New function.
49259
49260 * kern/misc.c (grub_abort): Print a newline to distinguish
49261 the message.
49262
49263 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49264 grub_set_root_dev after loading modules. This is necessary when
49265 setting a prefix depends on modules.
49266
49267 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49268 (grub_efi_print_device_path): ... this.
49269 (grub_efi_get_filename): New prototype.
49270 (grub_efi_set_prefix): Likewise.
49271
49272 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49273 and grub/disk.h.
49274 (grub_efidisk_get_device_handle): New prototype.
49275 (grub_efidisk_get_device_name): Likewise.
49276
49277 * include/grub/mm.h: Include config.h.
49278 (MM_DEBUG): Removed.
49279 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49280 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49281 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49282 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49283 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49284 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49285 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49286 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49287 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49288
49289 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49290
49291 * disk/efi/efidisk.c: Include grub/partition.h.
49292 (iterate_child_devices): New function.
49293 (add_device): First, compare only last device path nodes, so that
49294 devices are sorted by the types.
49295 (grub_efidisk_get_device_handle): New function.
49296 (grub_efidisk_get_device_name): Likewise.
49297
49298 * configure.ac (--enable-mm-debug): New option to enable the
49299 memory manager debugging feature. This makes the binary much
49300 bigger, so is disabled by default.
49301
9cacaa17 493022006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49303
49304 Use grub_abort instead of grub_stop, and grub_exit must be
49305 define in each architecture now. Also, this change adds support
49306 for EFI disks.
f19dbdb7 49307
9cacaa17 49308 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49309 (grub_getkey): New function.
49310 (grub_term_get_current): Likewise.
49311
49312 * util/i386/pc/grub-setup.c: Include grub/term.h.
49313 (grub_getkey): New function.
49314 (grub_term_get_current): Likewise.
49315
49316 * util/misc.c (grub_stop): Renamed to ...
49317 (grub_exit): ... this.
49318
49319 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49320 (grub_exit): ... this.
49321 (grub_machine_init): Use grub_abort instead of abort.
49322 (grub_stop): Removed.
49323
49324 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49325 abort.
49326
49327 * kern/i386/pc/startup.S (grub_exit): New function.
49328 (cold_reboot): New label.
49329
49330 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49331 (grub_efi_init): Call grub_efidisk_init.
49332 (grub_efi_fini): Call grub_efidisk_fini.
49333
49334 * kern/efi/efi.c: Include grub/mm.h.
49335 (grub_efi_console_control_guid): Renamed to ...
49336 (console_control_guid): ... this.
49337 (grub_efi_loaded_image_guid): Renamed to ...
49338 (loaded_image_guid): ... this.
49339 (grub_efi_locate_handle): New function.
49340 (grub_efi_open_protocol): Likewise.
49341 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49342 GRUB_EFI_CONSOLE_CONTROL_GUID.
49343 (grub_efi_exit): Removed.
49344 (grub_stop): Likewise.
49345 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49346 (grub_exit): New function.
49347 (grub_print_device_path): Likewise.
49348
49349 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49350 (grub_enter_rescue_mode): Register "exit".
49351
49352 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49353 (grub_abort): New function.
49354
49355 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49356
49357 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49358
49359 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49360
49361 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49362 (grub_print_device_path): New prototype.
49363 (grub_efi_locate_handle): Likewise.
49364 (grub_efi_open_protocol): Likewise.
49365
49366 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49367 * disk/efi/efidisk.c: Likewise.
49368
49369 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49370
49371 * include/grub/efi/console_control.h
49372 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49373
49374 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49375 last 8 bytes as an array.
49376 (GRUB_EFI_DISK_IO_GUID): New macro.
49377 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49378 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49379 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49380 grub_uint8_t.
49381 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49382 (struct grub_efi_device_path): Rename the member "sub_type" to
49383 "subtype".
49384 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49385 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49386 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49387 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49388 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49389 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49390 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49391 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49392 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49393 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49394 (struct grub_efi_pci_device_path): New structure.
49395 (grub_efi_pci_device_path_t): New type.
49396 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49397 (struct grub_efi_pccard_device_path): New structure.
49398 (grub_efi_pccard_device_path_t): New type.
49399 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49400 (struct grub_efi_memory_mapped_device_path): New structure.
49401 (grub_efi_memory_mapped_device_path_t): New type.
49402 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49403 (struct grub_efi_vendor_device_path): New structure.
49404 (grub_efi_vendor_device_path_t): New type.
49405 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49406 (struct grub_efi_controller_device_path): New structure.
49407 (grub_efi_controller_device_path_t): New type.
49408 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49409 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49410 (struct grub_efi_acpi_device_path): New structure.
49411 (grub_efi_acpi_device_path_t): New type.
49412 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49413 (struct grub_efi_expanded_acpi_device_path): New structure.
49414 (grub_efi_expanded_acpi_device_path_t): New type.
49415 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49416 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49417 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49418 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49419 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49420 (struct grub_efi_atapi_device_path): New structure.
49421 (grub_efi_atapi_device_path_t): New type.
49422 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49423 (struct grub_efi_fibre_channel_device_path): New structure.
49424 (grub_efi_fibre_channel_device_path_t): New type.
49425 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49426 (struct grub_efi_1394_device_path): New structure.
49427 (grub_efi_1394_device_path_t): New type.
49428 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49429 (struct grub_efi_usb_device_path): New structure.
49430 (grub_efi_usb_device_path_t): New type.
49431 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49432 (struct grub_efi_usb_class_device_path): New structure.
49433 (grub_efi_usb_class_device_path_t): New type.
49434 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49435 (struct grub_efi_i2o_device_path): New structure.
49436 (grub_efi_i2o_device_path_t): New type.
49437 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49438 (struct grub_efi_mac_address_device_path): New structure.
49439 (grub_efi_mac_address_device_path_t): New type.
49440 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49441 (struct grub_efi_ipv4_device_path): New structure.
49442 (grub_efi_ipv4_device_path_t): New type.
49443 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49444 (struct grub_efi_ipv6_device_path): New structure.
49445 (grub_efi_ipv6_device_path_t): New type.
49446 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49447 (struct grub_efi_infiniband_device_path): New structure.
49448 (grub_efi_infiniband_device_path_t): New type.
49449 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49450 (struct grub_efi_uart_device_path): New structure.
49451 (grub_efi_uart_device_path_t): New type.
49452 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49453 (struct grub_efi_vendor_messaging_device_path): New structure.
49454 (grub_efi_vendor_messaging_device_path_t): New type.
49455 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49456 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49457 (struct grub_efi_hard_drive_device_path): New structure.
49458 (grub_efi_hard_drive_device_path_t): New type.
49459 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49460 (struct grub_efi_cdrom_device_path): New structure.
49461 (grub_efi_cdrom_device_path_t): New type.
49462 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49463 (struct grub_efi_vendor_media_device_path): New structure.
49464 (grub_efi_vendor_media_device_path_t): New type.
49465 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49466 (struct grub_efi_file_path_device_path): New structure.
49467 (grub_efi_file_path_device_path_t): New type.
49468 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49469 (struct grub_efi_protocol_device_path): New structure.
49470 (grub_efi_protocol_device_path_t): New type.
49471 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49472 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49473 (struct grub_efi_bios_device_path): New structure.
49474 (grub_efi_bios_device_path_t): New type.
49475 (struct grub_efi_disk_io): New structure.
49476 (grub_efi_disk_io_t): New type.
49477 (struct grub_efi_block_io_media): New structure.
49478 (grub_efi_block_io_media_t): New type.
49479 (struct grub_efi_block_io): New structure.
49480 (grub_efi_block_io_t): New type.
49481
49482 * include/grub/misc.h (grub_stop): Removed.
49483 (grub_exit): New prototype.
49484 (grub_abort): Likewise.
49485
49486 * include/grub/disk.h (enum grub_disk_dev_id): Added
49487 GRUB_DISK_DEVICE_EFIDISK_ID.
49488
49489 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49490 disk/efi/efidisk.c.
49491 (kernel_syms.lst): Remove the target if an error occurs.
49492
49986a9f 494932006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49494
49495 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49496 as it was simply too buggy.
49497
970d3b8a 494982006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49499
49500 * kern/misc.c (grub_lltoa): New function.
49501 (grub_vsprintf): Added support for the long long suffix,
49502 i.e. "ll".
49503
ff04ec24 495042006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49505
49506 * Makefile.in (LDFLAGS): Add variable.
49507 (LD): Remove variable.
49508 * configure.ac: Add -m32 to LDFLAGS.
49509 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49510 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49511 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49512 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49513 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49514 variables.
49515 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49516 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49517 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49518
37e5e1a4 495192006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49520
49521 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49522 length for unknown glyph.
49523
c352d8dd 495242006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49525
2eab1c0d 49526 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49527
2eab1c0d 49528 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49529 completely. Accept one more argument DIR. The caller has changed.
49530
49531 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49532
49533 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49534 (grub_efi_loaded_image_guid): New variable.
49535 (grub_efi_get_loaded_image): New function.
49536 (grub_arch_modules_addr): Likewise.
49537
49538 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49539 prototype.
49540
49541 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49542 (struct grub_efi_loaded_image): New structure.
49543 (grub_efi_loaded_image_t): New type.
49544
495452006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49546
c352d8dd 49547 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49548 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49549 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49550
6d01d6b4 495512006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49552
49553 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49554
976a4ea0 495552006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49556
49557 * DISTLIST: Added include/grub/efi/console.h,
49558 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49559 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49560
49561 * include/grub/efi/console.h: New file.
49562 * include/grub/efi/time.h: Likewise.
49563 * include/grub/i386/efi/kernel.h: Likewise.
49564 * kern/efi/init.c: Likewise.
49565 * kern/efi/mm.c: Likewise.
49566 * term/efi/console.c: Likewise.
f19dbdb7 49567
976a4ea0 49568 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49569 (grub_stop): Removed.
49570 (grub_get_rtc): Likewise.
49571 (grub_machine_init): Simply call grub_efi_init.
49572 (grub_machine_fini): Call grub_efi_fini.
49573
49574 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49575 (grub_efi_output_string): Removed.
49576 (grub_efi_stall): New function.
49577 (grub_stop): Likewise.
49578 (grub_get_rtc): Likewise.
49579
49580 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49581 (grub_efi_stall): New prototype.
49582 (grub_efi_allocate_pages): Likewise.
49583 (grub_efi_free_pages): Likewise.
49584 (grub_efi_get_memory_map): Likewise.
49585 (grub_efi_mm_init): Likewise.
49586 (grub_efi_mm_fini): Likewise.
49587 (grub_efi_init): Likewise.
49588 (grub_efi_fini): Likewise.
49589
49590 * include/grub/i386/efi/time.h: Do not include
49591 grub/symbol.h. Include grub/efi/time.h.
49592 (GRUB_TICKS_PER_SECOND): Removed.
49593 (grub_get_rtc): Likewise.
49594
49595 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49596 Added padding. The EFI spec is buggy.
49597 (GRUB_EFI_BLACK): New macro.
49598 (GRUB_EFI_BLUE): Likewise.
49599 (GRUB_EFI_GREEN): Likewise.
49600 (GRUB_EFI_CYAN): Likewise.
49601 (GRUB_EFI_RED): Likewise.
49602 (GRUB_EFI_MAGENTA): Likewise.
49603 (GRUB_EFI_BROWN): Likewise.
49604 (GRUB_EFI_LIGHTGRAY): Likewise.
49605 (GRUB_EFI_BRIGHT): Likewise.
49606 (GRUB_EFI_DARKGRAY): Likewise.
49607 (GRUB_EFI_LIGHTBLUE): Likewise.
49608 (GRUB_EFI_LIGHTGREEN): Likewise.
49609 (GRUB_EFI_LIGHTCYAN): Likewise.
49610 (GRUB_EFI_LIGHTRED): Likewise.
49611 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49612 (GRUB_EFI_YELLOW): Likewise.
49613 (GRUB_EFI_WHITE): Likewise.
49614 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49615 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49616 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49617 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49618 (GRUB_EFI_BACKGROUND_RED): Likewise.
49619 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49620 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49621 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49622 (GRUB_EFI_TEXT_ATTR): Likewise.
49623
49624 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49625 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49626 (kernel_mod_HEADERS): Added efi/time.h.
49627
83709125 496282006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49629
49630 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49631 include/grub/efi/api.h, include/grub/efi/console_control.h,
49632 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49633 include/grub/i386/efi/time.h, kern/efi/efi.c,
49634 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49635 and util/i386/efi/grub-mkimage.c.
49636
49637 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49638
49639 * genmk.rb (PModule#rule): Do not export symbols if
49640 #{prefix}_EXPORTS is set to "no".
49641
49642 * conf/i386-efi.mk: New file.
49643 * conf/i386-efi.rmk: Likewise.
49644 * include/grub/efi/api.h: Likewise.
49645 * include/grub/efi/console_control.h: Likewise.
49646 * include/grub/efi/efi.h: Likewise.
49647 * include/grub/efi/pe32.h: Likewise.
49648 * include/grub/i386/efi/time.h: Likewise.
49649 * kern/efi/efi.c: Likewise.
49650 * kern/i386/efi/init.c: Likewise.
49651 * kern/i386/efi/startup.S: Likewise.
49652 * util/i386/efi/grub-mkimage.c: Likewise.
49653
496542006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49655
49656 * include/grub/script.h: Include <grub/parser.h> and
49657 "grub_script.tab.h".
49658 (struct grub_lexer_param): New struct.
49659 (struct grub_parser_param): Likewise.
49660 (grub_script_create_arglist): Pass the state in an argument.
49661 (grub_script_add_arglist): Likewise.
49662 (grub_script_create_cmdline): Likewise.
49663 (grub_script_create_cmdblock): Likewise.
49664 (grub_script_create_cmdif): Likewise.
49665 (grub_script_create_cmdmenu): Likewise.
49666 (grub_script_add_cmd): Likewise.
49667 (grub_script_arg_add): Likewise.
49668 (grub_script_lexer_ref): Likewise.
49669 (grub_script_lexer_deref): Likewise.
49670 (grub_script_lexer_record_start): Likewise.
49671 (grub_script_lexer_record_stop): Likewise.
49672 (grub_script_mem_record): Likewise.
49673 (grub_script_mem_record_stop): Likewise.
49674 (grub_script_malloc): Likewise.
49675 (grub_script_yylex): Likewise.
49676 (grub_script_yyparse): Likewise.
49677 (grub_script_yyerror): Likewise.
49678 (grub_script_yylex): Likewise.
49679 (grub_script_lexer_init): Return the state.
49680
49681 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49682 (grub_script_lexer_done): Likewise.
49683 (grub_script_lexer_getline): Likewise.
49684 (grub_script_lexer_refs): Likewise.
49685 (script): Likewise.
49686 (newscript): Likewise.
49687 (record): Likewise.
49688 (recording): Likewise.
49689 (recordpos): Likewise.
49690 (recordlen): Likewise.
49691 (grub_script_lexer_init): Return the state instead of setting
49692 global variables.
49693 (grub_script_lexer_ref): Use the newly added argument for state
49694 instead of globals.
49695 (grub_script_lexer_deref): Likewise.
49696 (grub_script_lexer_record_start): Likewise.
49697 (grub_script_lexer_record_stop): Likewise.
49698 (recordchar): Likewise.
49699 (nextchar): Likewise.
49700 (grub_script_yylex2): Likewise.
49701 (grub_script_yylex): Likewise.
49702 (grub_script_yyerror): Likewise.
49703
49704 * normal/parser.y (func_mem): Removed variable.
49705 (menu_entry): Likewise.
49706 (err): Likewise.
49707 (%lex-param): New parser option.
49708 (%parse-param): Likewise.
49709 (script): Always return the AST.
49710 (argument): Pass the state around.
49711 (arguments): Likewise.
49712 (grubcmd): Likewise.
49713 (commands): Likewise.
49714 (function): Likewise.
49715 (menuentry): Likewise.
49716 (if_statement): Likewise.
49717 (if): Likewise.
49718
49719 * normal/script.c (grub_script_memused): Removed variable.
49720 (grub_script_parsed): Likewise.
49721 (grub_script_malloc): Added a state argument. Use that instead of
49722 global variables.
49723 (grub_script_mem_record): Likewise.
49724 (grub_script_mem_record_stop): Likewise.
49725 (grub_script_arg_add): Likewise.
49726 (grub_script_add_arglist): Likewise.
49727 (grub_script_create_cmdline): Likewise.
49728 (grub_script_create_cmdif): Likewise.
49729 (grub_script_create_cmdmenu): Likewise.
49730 (grub_script_add_cmd): Likewise.
49731 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49732
e2a8c904 497332006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49734
49735 * normal/command.c (grub_command_init): Remove the title command.
49736
49737 * normal/lexer.c (grub_script_yylex): Renamed from this...
49738 (grub_script_yylex2): ... to this.
49739 (grub_script_yylex): New function. Temporary
49740 introduced to filter some tokens.
49741 (grub_script_yyerror): Print a newline.
49742
49743 * normal/main.c (read_config_file): Output information about the
49744 lines that contain errors. Wait for a key after all lines have
49745 been processed. Don't return an empty menu.
49746
49747 * normal/parser.y (func_mem): Don't initialize.
49748 (menu_entry): Likewise.
49749 (err): New variable.
49750 (script): Don't return anything when an error was encountered.
49751 (ws, returns): Removed rules.
49752 (argument): Disabled concatenated variable support.
49753 (arguments): Remove explicit separators.
49754 (grubcmd): Likewise.
49755 (function): Likewise.
49756 (menuentry): Likewise.
49757 (if): Likewise.
49758 (commands): Likewise. Add error handling.
49759
49760 * normal/script.c (grub_script_create_cmdline): If
49761 `grub_script_parsed' is 0, assume the parser encountered an error.
49762
c9a86192 497632006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49764
49765 * configure.ac: Add support for EFI. Fix the typo
49766 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49767
70f3b243 497682006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49769
49770 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49771 foreign multibyte characters should be shown correctly.
49772
65f201ad 497732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49774
49775 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49776 calculation.
49777 (read_config_file): Made it to close file before returning.
49778
b4b93674 497792006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49780
49781 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49782 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49783 video/i386/pc/vbefill.c.
49784
49785 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49786 video/i386/pc/vbefill.c.
49787
49788 * include/grub/video.h (grub_video_blit_format): New enum.
49789 (grub_video_mode_info): Added new member blit_format.
49790 (grub_video_get_blit_format): New function prototype.
49791
49792 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49793 function prototype.
49794 (grub_video_vbe_map_rgb): Likewise.
49795 (grub_video_vbe_unmap_color): Likewise.
49796
49797 * include/grub/i386/pc/vbeblit.h: New file.
49798
49799 * include/grub/i386/pc/vbefill.h: New file.
49800
49801 * video/video.c (grub_video_get_blit_format): New function.
49802 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49803 (grub_video_vbe_map_rgb): Likewise.
49804 (grub_video_vbe_unmap_color): Likewise.
49805
49806 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49807 optimized fills.
49808 (grub_video_vbe_blit_render_target): Changed to use more optimized
49809 blits.
49810 (grub_video_vbe_setup): Added detection for optimized settings.
49811 (grub_video_vbe_create_render_target): Likewise.
49812
49813 * video/i386/pc/vbeblit.c: New file.
49814
49815 * video/i386/pc/vbefill.c: New file.
49816
c2379b9c 498172006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49818
49819 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49820 here...
49821
49822 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49823 parsing to support both hex and dec ranges. If filename was missing
49824 show usage information.
49825
bd0d7896 498262006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49827
49828 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49829 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49830
49831 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49832 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49833 (video_mod_SOURCES): Added.
49834 (video_mod_CFLAGS): Likewise.
49835 (video_mod_LDFLAGS): Likewise.
49836 (gfxterm_mod_SOURCES): Likewise.
49837 (gfxterm_mod_CFLAGS): Likewise.
49838 (gfxterm_mod_LDFLAGS): Likewise.
49839 (videotest_mod_SOURCES): Likewise.
49840 (videotest_mod_CFLAGS): Likewise.
49841 (videotest_mod_LDFLAGS): Likewise.
49842 (vesafb_mod_SOURCES): Removed.
49843 (vesafb_mod_CFLAGS): Likewise.
49844 (vesafb_mod_LDFLAGS): Likewise.
49845 (vga_mod_SOURCES): Likewise.
49846 (vga_mod_CFLAGS): Likewise.
49847 (vga_mod_LDFLAGS): Likewise.
49848
49849 * commands/videotest.c: New file.
49850
49851 * font/manager.c (fill_with_default_glyph): Modified to use
49852 grub_font_glyph.
49853 (grub_font_get_glyph): Likewise.
49854 (fontmanager): Renamed from this...
49855 (font_manager): ... to this.
49856
49857 * include/grub/font.h (grub_font_glyph): Added new structure.
49858 (grub_font_get_glyph): Modified to use grub_font_glyph.
49859
49860 * include/grub/misc.h (grub_abs): Added as inline function.
49861
49862 * include/grub/video.h: New file.
49863
49864 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49865 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49866 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49867 (grub_vbe_get_controller_info): Renamed from this...
49868 (grub_vbe_bios_get_controller_info): ... to this.
49869 (grub_vbe_get_mode_info): Renamed from this...
49870 (grub_vbe_bios_get_mode_info): ... to this.
49871 (grub_vbe_set_mode): Renamed from this...
49872 (grub_vbe_bios_set_mode): ... to this.
49873 (grub_vbe_get_mode): Renamed from this...
49874 (grub_vbe_bios_get_mode): ... to this.
49875 (grub_vbe_set_memory_window): Renamed from this...
49876 (grub_vbe_bios_set_memory_window): ... to this.
49877 (grub_vbe_get_memory_window): Renamed from this...
49878 (grub_vbe_bios_get_memory_window): ... to this.
49879 (grub_vbe_set_scanline_length): Renamed from this...
49880 (grub_vbe_set_scanline_length): ... to this.
49881 (grub_vbe_get_scanline_length): Renamed from this...
49882 (grub_vbe_bios_get_scanline_length): ... to this.
49883 (grub_vbe_set_display_start): Renamed from this...
49884 (grub_vbe_bios_set_display_start): ... to this.
49885 (grub_vbe_get_display_start): Renamed from this...
49886 (grub_vbe_bios_get_display_start): ... to this.
49887 (grub_vbe_set_palette_data): Renamed from this...
49888 (grub_vbe_bios_set_palette_data): ... to this.
49889 (grub_vbe_set_pixel_rgb): Removed.
49890 (grub_vbe_set_pixel_index): Likewise.
49891
49892 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49893 from this...
49894 (grub_vbe_bios_get_controller_info): ... to this.
49895 (grub_vbe_get_mode_info): Renamed from this...
49896 (grub_vbe_bios_get_mode_info): ... to this.
49897 (grub_vbe_set_mode): Renamed from this...
49898 (grub_vbe_bios_set_mode): ... to this.
49899 (grub_vbe_get_mode): Renamed from this...
49900 (grub_vbe_bios_get_mode): ... to this.
49901 (grub_vbe_set_memory_window): Renamed from this...
49902 (grub_vbe_bios_set_memory_window): ... to this.
49903 (grub_vbe_get_memory_window): Renamed from this...
49904 (grub_vbe_bios_get_memory_window): ... to this.
49905 (grub_vbe_set_scanline_length): Renamed from this...
49906 (grub_vbe_set_scanline_length): ... to this.
49907 (grub_vbe_get_scanline_length): Renamed from this...
49908 (grub_vbe_bios_get_scanline_length): ... to this.
49909 (grub_vbe_set_display_start): Renamed from this...
49910 (grub_vbe_bios_set_display_start): ... to this.
49911 (grub_vbe_get_display_start): Renamed from this...
49912 (grub_vbe_bios_get_display_start): ... to this.
49913 (grub_vbe_set_palette_data): Renamed from this...
49914 (grub_vbe_bios_set_palette_data): ... to this.
49915 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49916 getting corrupted after calling it. Added more pushes and pops.
49917 (grub_vbe_bios_set_mode): Likewise.
49918 (grub_vbe_bios_get_mode): Likewise.
49919 (grub_vbe_bios_get_memory_window): Likewise.
49920 (grub_vbe_bios_set_scanline_length): Likewise.
49921 (grub_vbe_bios_get_scanline_length): Likewise.
49922 (grub_vbe_bios_get_display_start): Likewise.
49923 (grub_vbe_bios_set_palette_data): Likewise.
49924
49925 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49926 (cl_insert): Likewise.
49927 (cl_delete): Likewise.
49928
49929 * term/gfxterm.c: New file.
49930
49931 * term/i386/pc/vesafb.c: Removed file.
49932
49933 * video/video.c: New file.
49934
49935 * video/i386/pc/vbe.c (real2pm): Added new function.
49936 (grub_video_vbe_draw_pixel): Likewise.
49937 (grub_video_vbe_get_video_ptr): Likewise.
49938 (grub_video_vbe_get_pixel): Likewise
49939 (grub_video_vbe_init): Likewise.
49940 (grub_video_vbe_fini): Likewise.
49941 (grub_video_vbe_setup): Likewise.
49942 (grub_video_vbe_get_info): Likewise.
49943 (grub_video_vbe_set_palette): Likewise.
49944 (grub_video_vbe_get_palette): Likewise.
49945 (grub_video_vbe_set_viewport): Likewise.
49946 (grub_video_vbe_get_viewport): Likewise.
49947 (grub_video_vbe_map_color): Likewise.
49948 (grub_video_vbe_map_rgb): Likewise.
49949 (grub_video_vbe_map_rgba): Likewise.
49950 (grub_video_vbe_unmap_color): Likewise.
49951 (grub_video_vbe_fill_rect): Likewise.
49952 (grub_video_vbe_blit_glyph): Likewise.
49953 (grub_video_vbe_blit_bitmap): Likewise.
49954 (grub_video_vbe_blit_render_target): Likewise.
49955 (grub_video_vbe_scroll): Likewise.
49956 (grub_video_vbe_swap_buffers): Likewise.
49957 (grub_video_vbe_create_render_target): Likewise.
49958 (grub_video_vbe_delete_render_target): Likewise.
49959 (grub_video_vbe_set_active_render_target): Likewise.
49960 (grub_vbe_set_pixel_rgb): Remove function.
49961 (grub_vbe_set_pixel_index): Likewise.
49962 (index_color_mode): Remove static variable.
49963 (active_mode): Likewise.
49964 (framebuffer): Likewise.
49965 (bytes_per_scan_line): Likewise.
49966 (grub_video_vbe_adapter): Added new static variable.
49967 (framebuffer): Likewise.
49968 (render_target): Likewise.
49969 (initial_mode): Likewise.
49970 (mode_in_use): Likewise.
49971 (mode_list): Likewise.
49972
5f97350b 499732006-03-10 Marco Gerards <marco@gnu.org>
49974
49975 * configure.ac (AC_INIT): Bumped to 1.93.
49976
49977 * DISTLIST: Added `include/grub/hfs.h'.
49978
a3c5c6f8 499792006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49980
49981 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49982 18H, which might help the BIOS falling back to next boot media.
49983
6de53d26 499842006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49985
49986 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49987 Poe Chen <poe.poechen@gmail.com>.
49988
77c4a393 499892006-01-17 Marco Gerards <marco@gnu.org>
49990
49991 * include/grub/normal.h: Include <grub/script.h>.
49992 (grub_command_list): Removed struct.
49993 (grub_command_list_t): Removed type.
49994 (grub_menu_entry): Remove members `num' and `command_list'. Add
49995 members `commands' and `sourcecode'.
49996 * include/grub/script.h: Add inclusion guards.
49997 (grub_script_cmd_menuentry): New struct.
49998 (grub_script_execute_menuentry): New prototype.
49999 (grub_script_lexer_record_start): Likewise.
50000 (grub_script_lexer_record_stop): Likewise.
50001 * normal/execute.c (grub_script_execute_menuentry): New function.
50002 * normal/lexer.c (record, recording, recordpos, recordlen): New
50003 variables.
50004 (grub_script_lexer_record_start): New function.
50005 (grub_script_lexer_record_stop): Likewise.
50006 (recordchar): Likewise.
50007 (nextchar): Likewise.
50008 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50009 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50010 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50011 (current_menu): New variable.
50012 (free_menu): Mainly rewritten.
50013 (grub_normal_menu_addentry): New function.
50014 (read_config_file): Rewritten.
50015 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50016 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50017 the menu entry.
50018 (run): Mainly rewritten.
50019 * normal/parser.y (menu_entry): New variable.
50020 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50021 (menuentry): New rule.
50022 (command): Add `menuentry'.
50023 (if_statement): Allow additional returns before `fi'.
50024 * normal/script.c (grub_script_create_cmdmenu): New function.
50025
144f1f98 500262006-01-03 Marco Gerards <marco@gnu.org>
50027
50028 * INSTALL: GNU Bison is required.
50029 * configure.ac: Rewritten the test to detect Bison.
50030 * Makefile.in (YACC): New variable. Reported by Xun Sun
50031 <xun.sun.cn@gmail.com>.
50032
af4b2d89 500332006-01-03 Marco Gerards <marco@gnu.org>
50034
50035 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50036 the HFS+ filesystem to filesystem blocks.
50037 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50038 GCC warning is silenced.
50039
15643b71 500402006-01-03 Marco Gerards <marco@gnu.org>
50041
50042 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50043 read from disk from big endian to host byte order.
50044
00905879 500452006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50046
50047 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50048 documentation.
50049 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50050 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50051 embedded HFS+ filesystem.
50052 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50053 (grub_hfs_sblock): Move from here...
50054 * include/grub/hfs.h: To here... New file.
50055 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50056 documentation.
50057 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50058 New macros.
50059 (grub_hfsplus_volheader): Change type of member `magic' to
50060 `grub_uint16_t'.
50061 (grub_hfsplus_data): Add new member `embedded_offset'.
50062 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50063 returned block.
50064 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50065 Calculate the offset.
50066
8899bc3e 500672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50068
50069 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50070 Removed.
50071 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50072
ae8c0277 500732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50074
50075 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50076 ENV->NAME is NULL after allocating ENV->VALUE.
50077
07084456 500782005-12-25 Marco Gerards <marco@gnu.org>
50079
50080 * kern/env.c (grub_env_set): Rewritten the error handling code.
50081
4750f5f1 500822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50083
50084 * geninit.sh: Made more robust, and more portable.
50085
50214199 500862005-12-25 Marco Gerards <marco@gnu.org>
50087
50088 Add support for Apple HFS+ filesystems.
f19dbdb7 50089
50214199 50090 * fs/hfsplus.c: New file.
50091
50092 * DISTLIST: Added `fs/hfsplus.c'.
50093
50094 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50095 (hfsplus_mod_SOURCES): New variable.
50096 (hfsplus_mod_CFLAGS): Likewise.
50097 (hfsplus_mod_LDFLAGS): Likewise.
50098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50099 (grub_setup_SOURCES): Likewise.
50100 (grub_mkdevicemap_SOURCES): Likewise.
50101 (grub_emu_SOURCES): Likewise.
50102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50103
50104 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50105
50106 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50107
befaed6c 501082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50109
50110 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50111 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50112 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50113 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50114 normal/lexer.c, normal/parser.y, normal/script.c, and
50115 partmap/gpt.c.
50116 Removed kern/sparc64/cache.c.
50117
50118 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50119 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50120 grub_emu_init.c.
50121
50122 * configure.ac (AC_INIT): Bumped to 1.92.
50123
6a124103 501242005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50125
50126 * kern/err.c (grub_error_push): Added new function to support error
50127 stacks.
50128 (grub_error_pop): Likewise.
50129 (grub_error_stack_items): New local variable to support error stacks.
50130 (grub_error_stack_pos): Likewise.
50131 (grub_error_stack_assert): Likewise.
50132 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50133 stack depth.
50134 (grub_print_error): Added support to print errors from error stack.
50135
50136 * include/grub/err.h (grub_error_push): Added function prototype.
50137 (grub_error_pop): Likewise.
50138
be973c1b 501392005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50140
50141 * configure.ac: Accept `powerpc64' as host_cpu.
50142 (amd64): Rename to `biarch32'.
50143
50144 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50145 non-cacheline-aligned addresses.
50146
50147 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50148 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50149 if `size' is non-zero.
50150
b04216ab 501512005-12-03 Marco Gerards <mgerards@xs4all.nl>
50152
50153 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50154 and `cd' to make sure the filename is not prefixed with a
50155 directory name.
50156 (pkgdata_MODULES): Add `gpt.mod'.
50157 (gpt_mod_SOURCES): New variable.
50158 (gpt_mod_CFLAGS): Likewise.
50159 (gpt_mod_LDFLAGS): Likewise.
50160
50161 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50162
50163 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50164 New macro.
50165
50166 * partmap/gpt.c: New file.
50167
50168 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50169 GPT partition map is detected.
50170
41730ed9 501712005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50172
50173 * commands/i386/pc/play.c: New file.
50174 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50175 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50176 macros.
f19dbdb7 50177
95dc3643 501782005-11-27 Marco Gerards <mgerards@xs4all.nl>
50179
50180 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50181 ((unused))' to silence gcc warning.
50182
1569ec51 501832005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50184
50185 * configure.ac: Correct `AC_PROG_YACC' test.
50186
9abde152 501872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50188
50189 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50190 check before installing files.
50191
44b83271 501922005-11-22 Mike Small <smallm@panix.com>
50193
50194 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50195 number regex so multidigit numbers are recognized correctly.
50196
501972005-11-22 Mike Small <smallm@panix.com>
50198
50199 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50200 debugging message before attempting to claim memory.
50201 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50202 multiple addresses in case of failure.
50203
9c12956b 502042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50205
50206 * term/tparm.c (get_space): Remove empty `if' statement.
50207
50208 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50209
50210 * kern/parser.c (check_varstate): Rename `state' to 's'.
50211
aeaf81d9 502122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50213
50214 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50215 variable definitions to the beginning of each function. Sort stack
50216 variables by size.
50217 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50218 `buf' argument to `char *'.
50219
79bbb63f 502202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50221
50222 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50223 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50224 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50225 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50226 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50227 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50228 configfile.mod, search.mod, gzio.mod and test.mod.
50229 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50230 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50231 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50232 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50233 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50234 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50235 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50236 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50237 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50238 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50239 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50240 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50241 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50242 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50243 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50244 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50245 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50246 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50247 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50248 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50249 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50250 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50251 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50252
50253 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50254 `grep --include'.
50255 (pkgdata_MODULES): Add test.mod.
50256
233b1628 502572005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50258
50259 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50260 appending to variables with "+=".
50261 (PModule): Use full pathname to generate *.lst filenames.
50262
50263 * Makefile.in: Fixed list rules moved from genmk.rb.
50264 (.DELETE_ON_ERROR): New special target.
50265 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50266
50267 * conf/i386-pc.rmk: Include conf/common.mk.
50268 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50269 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50270 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50271 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50272 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50273 configfile.mod, search.mod, gzio.mod and test.mod.
50274 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50275 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50276 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50277 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50278 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50279 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50280 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50281 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50282 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50283 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50284 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50285 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50286 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50287 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50288 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50289 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50290 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50291 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50292 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50293 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50294 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50295 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50296 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50297 here...
50298 * conf/common.rmk: ... to here. New file.
50299
50300 * conf/common.mk: New file.
50301
16f820c8 503022005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50305 (grub_script.tab.c): ... here.
50306
50307 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50308 (grub_script.tab.c): ... here.
50309
50310 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50311 (grub_script.tab.c): ... here.
50312
50313 * normal/command.c (grub_command_find): Fixed a memory leak of
50314 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50315
63ba1554 503162005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50317
50318 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50319 "@" which marks the start of a comment on ARM.
50320 (VARIABLE): Likewise.
50321
7f67dc13 503222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50323
79bbb63f 50324 Add support for Linux/ADFS partition tables.
7f67dc13 50325
50326 * partmap/acorn.c: New file.
50327
50328 * include/grub/acorn_filecore.h: Likewise.
50329
50330 * DISTLIST: Added `partmap/acorn.c' and
50331 `include/grub/acorn_filecore.h'.
f19dbdb7 50332
7f67dc13 50333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50334 `partmap/acorn.c'.
50335 (pkgdata_MODULES): Add `acorn.mod'.
50336 (acorn_mod_SOURCES): New variable.
50337 (acorn_mod_CFLAGS): Likewise.
50338
50339 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50340 `partmap/acorn.c'.
50341 (pkgdata_MODULES): Add `acorn.mod'.
50342 (acorn_mod_SOURCES): New variable.
50343 (acorn_mod_CFLAGS): Likewise.
50344
50345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50346 (pkgdata_MODULES): Add `acorn.mod'.
50347 (acorn_mod_SOURCES): New variable.
50348 (acorn_mod_CFLAGS): Likewise.
50349 (acorn_mod_LDFLAGS): Likewise.
50350
50351 * include/types.h (grub_disk_addr_t): New typedef.
50352
6d099807 503532005-11-13 Marco Gerards <mgerards@xs4all.nl>
50354
50355 * geninit.sh: New file.
50356
50357 * geninitheader.sh: Likewise.
50358
50359 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50360 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50361 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50362 * commands/configfile.c (grub_configfile_init)
50363 (grub_configfile_fini): Likewise.
50364 * commands/default.c (grub_default_init, grub_default_fini):
50365 Likewise.
50366 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50367 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50368 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50369 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50370 Likewise.
50371 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50372 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50373 Likewise.
50374 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50375 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50376 Likewise.
50377 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50378 Likewise.
fe6b695a 50379 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50380 Likewise.
50381 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50382 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50383 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50384 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50385 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50386 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50387 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50388 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50389 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50390 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50391 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50392 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50393 * partmap/amiga.c (grub_amiga_partition_map_init)
50394 (grub_amiga_partition_map_fini): Likewise.
50395 * partmap/apple.c (grub_apple_partition_map_init)
50396 (grub_apple_partition_map_fini): Likewise.
50397 * partmap/pc.c (grub_pc_partition_map_init)
50398 (grub_pc_partition_map_fini): Likewise.
50399 * partmap/sun.c (grub_sun_partition_map_init,
50400 grub_sun_partition_map_fini): Likewise.
50401 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50402 Likewise.
50403
50404 * util/grub-emu.c: Include <grub_modules_init.h>.
50405 (main): Don't initialize and de-initialize any modules directly,
50406 use `grub_init_all' and `grub_fini_all' instead.
50407
50408 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50409 `grub_vesafb_mod_init'.
50410 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50411 all users.
50412 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50413 `grub_vga_mod_init'. Updated all users.
50414 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50415
6d099807 50416 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50417 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50418 rules.
50419
50420 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50421 Generate a function to initialize the module in utilities.
50422 Updated all callers.
50423 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50424 initialize the module in utilities. Updated all callers.
50425
9046bcf0 504262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50427
50428 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50429 escape sequence and a literal ^L to clear the screen.
50430
50431 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50432 when returning from Open Firmware.
50433
d13ea639 504342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50435
50436 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50437 (grub_ofconsole_height): Likewise.
50438 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50439 manually insert a '\n'.
50440 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50441 `grub_ofconsole_height'. Return early if these are already set.
50442
a8fcf206 504432005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50444
50445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50446 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50447 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50448 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50449 and `normal/script.c'.
50450 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50451 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50452 (test_mod_SOURCES): New variable.
50453 (test_mod_CFLAGS): Likewise.
50454 (test_mod_LDFLAGS): Likewise.
50455 (pkgdata_MODULES): Add `test.mod'.
50456 (grub_script.tab.c): New rule.
50457 (grub_script.tab.h): Likewise.
50458
b6b32745 504592005-11-07 Marco Gerards <mgerards@xs4all.nl>
50460
50461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50462 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50463 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50464 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50465 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50466 (test_mod_SOURCES): New variable.
50467 (test_mod_CFLAGS): Likewise.
50468 (pkgdata_MODULES): Add `test.mod'.
50469 (grub_script.tab.c): New rule.
50470 (grub_script.tab.h): Likewise.
50471
daac212a 504722005-11-06 Marco Gerards <mgerards@xs4all.nl>
50473
50474 Add initial scripting support.
50475
50476 * commands/test.c: New file.
50477 * include/grub/script.h: Likewise.
50478 * normal/execute.c: Likewise.
50479 * normal/function.c: Likewise.
50480 * normal/lexer.c: Likewise.
50481 * normal/parser.y: Likewise.
50482 * normal/script.c: Likewise.
50483
50484 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50485
daac212a 50486 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50487 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50488 `normal/function.c' and `normal/script.c'.
50489 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50490 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50491 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50492 variables.
daac212a 50493 (pkgdata_MODULES): Add `test.mod'.
50494 (grub_script.tab.c): New rule.
50495 (grub_script.tab.h): Likewise.
50496
50497 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50498
50499 * include/grub/normal.h (grub_test_init): New prototype.
50500 (grub_test_fini): Likewise.
f19dbdb7 50501
daac212a 50502 * normal/command.c: Include <grub/script.h>.
50503 (grub_command_execute): Rewritten.
f19dbdb7 50504
daac212a 50505 * util/grub-emu.c (main): Call `grub_test_init' and
50506 `grub_test_fini'.
50507
77500b2b 505082005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50509
50510 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50511 to 0.
50512 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50513 there are no pending characters.
50514
e45deb9e 505152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50516
50517 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50518 `grub_strndup' to drop device arguments. Replace unnecessary
50519 `grub_strndup' with `grub_strdup'.
50520
4ce32619 505212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50522
50523 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50524 `debug' environment variable has been set.
50525
505262005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50527
4ce32619 50528 * Makefile.in (install-local): Use $(DATA).
50529 (uninstall): Likewise.
50530 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50531 (sbin_UTILITIES): ... to here.
50532 (sbin_SCRIPTS): New variable.
50533 (grub_install_SOURCES): New variable.
50534 * util/powerpc/ieee1275/grub-install.in: New file.
50535 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50536 variable.
50537 (add_segments): Call `grub_util_get_path'.
50538
25fe6f03 505392005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50540
50541 From Timothy Baldwin:
50542 * commands/ls.c (grub_ls_list_files): Close FILE with
50543 grub_file_close.
50544 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50545
04ccf3ec 505462005-10-24 Marco Gerards <mgerards@xs4all.nl>
50547
50548 * include/grub/parser.h: New file.
50549
50550 * kern/parser.c: Likewise.
50551
50552 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50553 (grub_setup_SOURCES): Likewise.
50554 (grub_probefs_SOURCES): Likewise.
50555 (grub_emu_SOURCES): Likewise.
50556 (kernel_img_HEADERS): Add `parser.h'.
50557
50558 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50559 (grub_emu_SOURCES): Add `kern/parser.c'.
50560 (grubof_SOURCES): Likewise.
50561
50562 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50563 (grubof_SOURCES): Add `kern/parser.c'.
50564
50565 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50566
50567 * kern/misc.c (grub_split_cmdline): Removed function.
50568
50569 * kern/rescue.c: Include <grub/parser.h>.
50570 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50571 of `grub_split_cmdline'.
50572
50573 * normal/command.c: Include <grub/parser.h>.
50574 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50575 of `grub_split_cmdline'.
50576
50577 * normal/completion.c: Include <grub/parser.h>.
50578 (cmdline_state): New variable.
50579 (iterate_dir): End the filename with a quote depending on the
50580 command line state.
50581 (get_state): new function.
50582 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50583 split the arguments and determine the current argument. When the
50584 argument string is not quoted, escape all spaces.
50585
6d8f4b0e 505862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50587
50588 * normal/sparc64/setjmp.S: New file.
50589
15cf03ed 505902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50591
50592 * include/grub/sparc64/libgcc.h: New file.
50593 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50594 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50595 normal/sparc64/setjmp.c.
50596
03e8661a 505972005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50598
50599 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50600 * kern/sparc64/cache.S: New file.
50601 * kern/sparc64/cache.c: Removed.
50602 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50603 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50604 -mtune=ultrasparc.
50605 (COMMON_LDFLAGS): Add -melf64_sparc.
50606 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50607 (grubof_SOURCES): Use cache.S instead of cache.c.
50608 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50609 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50610 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50611 commented though.
50612 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50613 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50614 (linux_mod_CFLAGS): Commented out.
50615 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50616 out because module isn't built.
50617 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50618 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50619 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50620 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50621 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50622 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50623 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50624 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50625 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50626 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50627 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50628 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50629 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50630 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50631
34eeec8a 506322005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50633
50634 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50635 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50636 longer, because HFS should not be used on PC.
50637
708367a3 506382005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50639
50640 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50641 consistently within the loop.
50642
6fa1251a 506432005-10-15 Marco Gerards <mgerards@xs4all.nl>
50644
50645 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50646 directory can not be read.
50647
4801580b 506482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50649
50650 * configure.ac (AC_INIT): Increase the version number to 1.91.
50651
50652 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50653 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50654 term/i386/pc/serial.c.
50655
219ad426 506562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50657
50658 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50659 file size must be permitted.
50660
50661 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50662 between %ah and %al.
50663
688e5699 506642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50665
50666 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50667 grub_uint64_t.
50668 Call the hook with a NUL-terminated filename.
50669 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50670 grub_cpu_to_be32.
50671
50672 * kern/term.c (cursor_state): New variable.
50673 (grub_term_set_current): Reset the cursor state on a new
50674 terminal.
50675 (grub_setcursor): Rewritten to use CURSOR_STATE.
50676 (grub_getcursor): New function.
50677
50678 * include/grub/term.h (grub_getcursor): New prototype.
50679
50680 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50681 integers on ARM. Reported by Timothy Baldwin
50682 <T.E.Baldwin99@members.leeds.ac.uk>.
50683
bb34586c 506842005-10-11 Marco Gerards <mgerards@xs4all.nl>
50685
50686 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50687 allocated.
50688 (grub_sfs_dir): Likewise.
50689
9a909877 506902005-10-09 Marco Gerards <mgerards@xs4all.nl>
50691
50692 Add support for the SFS filesystem.
50693
50694 * fs/sfs.c: New file.
50695
50696 * DISTLIST: Added `fs/sfs.c'.
50697
50698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50699 (grub_probefs_SOURCES): Likewise.
50700 (grub_emu_SOURCES): Likewise.
50701 (pkgdata_MODULES): Add `sfs.mod'.
50702 (sfs_mod_SOURCES): New variable.
50703 (sfs_mod_CFLAGS): Likewise.
50704 (sfs_mod_LDFLAGS): Likewise.
50705
50706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50707 (pkgdata_MODULES): Add `sfs.mod'.
50708 (sfs_mod_SOURCES): New variable.
50709 (sfs_mod_CFLAGS): Likewise.
50710
50711 * util/grub-emu.c (main): Call `grub_sfs_init' and
50712 `grub_sfs_fini'.
50713
50714 * include/grub/fs.h (grub_sfs_init): New prototype.
50715 (grub_sfs_fini): Likewise.
50716
57bdbde3 507172005-10-07 Marco Gerards <mgerards@xs4all.nl>
50718
50719 Add support for the AFFS filesystem.
50720
50721 * fs/affs.c: New file.
50722
50723 * DISTLIST: Added `fs/affs.c'.
50724
50725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50726 (grub_probefs_SOURCES): Likewise.
50727 (grub_emu_SOURCES): Likewise.
50728 (pkgdata_MODULES): Add `affs.mod'.
50729 (affs_mod_SOURCES): New variable.
50730 (affs_mod_CFLAGS): Likewise.
50731 (affs_mod_LDFLAGS): Likewise.
50732
50733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50734 (pkgdata_MODULES): Add `affs.mod'.
50735 (affs_mod_SOURCES): New variable.
50736 (affs_mod_CFLAGS): Likewise.
50737
50738 * util/grub-emu.c (main): Call `grub_affs_init' and
50739 `grub_affs_fini'.
50740
50741 * include/grub/fs.h (grub_affs_init): New prototype.
50742 (grub_affs_fini): Likewise.
50743
047b67e0 507442005-10-01 Marco Gerards <mgerards@xs4all.nl>
50745
50746 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50747
59b8208a 507482005-10-01 Marco Gerards <mgerards@xs4all.nl>
50749
50750 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50751 `-m32' to CFLAGS.
50752
50753 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50754 linking.
f19dbdb7 50755
59b8208a 50756 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50757 (COMMON_LDFLAGS): New variable.
50758 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50759 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50760 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50761 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50762 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50763 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50764 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50765 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50766 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50767 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50768 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50769 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50770 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50771 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50772 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50773 variables.
50774 (normal_mod_ASFLAGS): Add `-m32'.
50775
50776 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50777 (grub_host_size_t, grub_host_ssize_t): New types.
50778 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50779 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50780 `GRUB_HOST_SIZEOF_VOID_P'.
50781
50782 * include/grub/kernel.h (struct grub_module_header): Type of
50783 member offset changed to `grub_host_off_t'. Type of member size
50784 changed to `grub_host_size_t'.
50785 (struct grub_module_info): Type of member offset changed to
50786 `grub_host_off_t'. Type of member size changed to
50787 `grub_host_size_t'.
50788
b4093103 507892005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50790
50791 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50792
b4093103 50793 * kern/i386/pc/startup.S (multiboot_header): New label.
50794 (multiboot_entry): Likewise.
50795 (multiboot_trampoline): Likewise.
50796
50797 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50798 Increased to 0x4A0.
50799
50800 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50801 put parentheses after a question mark.
50802 [!GRUB_UTIL] (my_mod): New variable.
50803
50804 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50805
b2499b29 508062005-09-28 Marco Gerards <mgerards@xs4all.nl>
50807
50808 Adds support for the XFS filesystem. Btrees are not supported
50809 yet.
50810
50811 * fs/xfs.c: New file.
50812
50813 * DISTLIST: Added `fs/xfs.c'.
50814
50815 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50816 (grub_probefs_SOURCES): Likewise.
50817 (grub_emu_SOURCES): Likewise.
50818 (pkgdata_MODULES): Add `xfs.mod'.
50819 (xfs_mod_SOURCES): New variable.
50820 (xfs_mod_CFLAGS): Likewise.
50821
50822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50823 (pkgdata_MODULES): Add `xfs.mod'.
50824 (xfs_mod_SOURCES): New variable.
50825 (xfs_mod_CFLAGS): Likewise.
50826
50827 * util/grub-emu.c (main): Call `grub_xfs_init' and
50828 `grub_xfs_fini'.
50829
50830 * include/grub/fs.h (grub_xfs_init): New prototype.
50831 (grub_xfs_fini): Likewise.
50832
f19dbdb7 50833
83d37a62 508342005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50835
50836 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50837 color modes, allow greater than 16 colors to be configured as
50838 a default palette.
50839
47d2d65e 508402005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50841
50842 * normal/completion.c (complete_arguments): Add the qualifier
50843 const into OPTIONS.
50844
50845 From Omniflux <omniflux+lists@omniflux.com>:
50846 * include/grub/terminfo.h: New file.
50847 * include/grub/tparm.h: Likewise.
50848 * include/grub/i386/pc/serial.h: Likewise.
50849 * term/terminfo.c: Likewise.
50850 * term/tparm.c: Likewise.
50851 * term/i386/pc/serial.c: Likewise.
50852 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50853 serial.mod.
50854 (terminfo_mod_SOURCES): New variable.
50855 (terminfo_mod_CFLAGS): Likewise.
50856 (serial_mod_SOURCES): Likewise.
50857 (serial_mod_CFLAGS): Likewise.
50858
48b671ff 508592005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50860
50861 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50862 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50863 and kern/powerpc/ieee1275/cmain.c, respectively.
50864
50865 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50866 * kern/powerpc/ieee1275/crt0.S: ... here.
50867
50868 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50869 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50870
48b671ff 50871 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50872 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50873 instead of boot/powerpc/ieee1275/crt0.S and
50874 boot/powerpc/ieee1275/cmain.c, respectively.
50875
50876 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50877 sectors. It was not used anyway.
50878
09fc77a7 508792005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50880
50881 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50882 `unused parameter' warning.
50883
003789c7 508842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50885
50886 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50887 function.
50888 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50889 getcharwidth.
50890
67f44c86 508912005-08-28 Marco Gerards <metgerards@student.han.nl>
50892
50893 * include/grub/normal.h (enum grub_completion_type): Added
50894 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50895
50896 * normal/cmdline.c (print_completion): Handle
50897 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50898 * normal/menu_entry.c (store_completion): Likewise.
50899
50900 * normal/completion.c (complete_arguments): New function.
50901 (grub_normal_do_completion): Call `complete_arguments' when the
50902 current words start with a dash.
50903
0b5abe02 509042005-08-27 Marco Gerards <metgerards@student.han.nl>
50905
50906 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50907 `gzio.mod' instead of `io.mod').
50908
d9864ee1 509092005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50910
50911 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50912 (DISTDIRS): Added io and video.
50913 Rewrite the search routine to make an output consistently.
50914
50915 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50916 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50917 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50918 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50919 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50920 util/powerpc/ieee1275/misc.c.
f19dbdb7 50921
d9864ee1 50922 * include/grub/gzio.h: New file.
50923 * io/gzio.c: Likewise.
f19dbdb7 50924
d9864ee1 50925 * kern/file.c (grub_file_close): Call grub_device_close only if
50926 FILE->DEVICE is not NULL.
50927
50928 * include/grub/mm.h [!NULL] (NULL): New macro.
50929
50930 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50931
50932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50933 (pkgdata_MODULES): Added gzio.mod.
50934 (gzio_mod_SOURCES): New variable.
50935 (gzio_mod_CFLAGS): Likewise.
50936
50937 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50938 (pkgdata_MODULES): Added gzio.mod.
50939 (gzio_mod_SOURCES): New variable.
50940 (gzio_mod_CFLAGS): Likewise.
50941
50942 * commands/cat.c: Include grub/gzio.h.
50943 (grub_cmd_cat): Use grub_gzfile_open instead of
50944 grub_file_open.
f19dbdb7 50945
d9864ee1 50946 * commands/cmp.c: Include grub/gzio.h.
50947 (grub_cmd_cmp): Use grub_gzfile_open instead of
50948 grub_file_open.
50949
50950 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50951 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50952 grub_file_open.
50953 (grub_rescue_cmd_module): Likewise.
50954
fa46f4b5 509552005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50956
50957 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50958 kern/sparc64/ieee1275/init.c because it contains _start.
50959 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50960
e9211b5d 509612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50962
50963 * configure.ac: Add support for sparc64 host with ieee1275
50964 firmware.
50965 * configure: Generated from configure.ac.
50966 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50967 instead of int.
50968 (grub_ofdisk_read): Likewise.
50969 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50970 pointers as (void *) to remove a warning.
50971 (grub_ofdisk_close): Likewise.
50972 (grub_ofdisk_read): Likewise.
50973 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50974 returns, so make it return void to remove a warning.
50975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50976 Corresponding prototype change.
50977 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50978 values, and cast the pointers as (void *) to remove a warning.
50979 (grub_mm_dump): Likewise.
50980 * conf/sparc64-ieee1275.mk: New file.
50981 * conf/sparc64-ieee1275.rmk: Likewise.
50982 * include/grub/sparc64/setjmp.h: Likewise.
50983 * include/grub/sparc64/types.h: Likewise.
50984 * include/grub/sparc64/ieee1275/console.h: Likewise.
50985 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50986 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50987 * include/grub/sparc64/ieee1275/time.h: Likewise.
50988 * kern/sparc64/cache.c: Likewise.
50989 * kern/sparc64/dl.c: Likewise.
50990 * kern/sparc64/ieee1275/init.c: Likewise.
50991 * kern/sparc64/ieee1275/openfw.c: Likewise.
50992
385c6a92 509932005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50994
50995 * util/console.c (grub_ncurses_putchar): If C is greater than
50996 0x7f, set C to a question mark.
50997 (grub_ncurses_getcharwidth): New function.
50998 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50999 getcharwidth.
51000
51001 * normal/menu.c (print_entry): Made aware of Unicode. First,
51002 convert TITLE to UCS-4, and predict the cursor position by
51003 grub_getcharwidth.
51004
51005 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51006 const to SRC.
51007 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51008
16ccb8b1 510092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51010
51011 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51012 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51013 grub_strcat.
51014
51015 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51016 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51017 grub_strcpy and grub_strlen. Take it into account that a space
51018 character is inserted as a delimiter.
51019
6a85ce79 510202005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51021
51022 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51023 invalid magic in the error.
6a85ce79 51024
51025 * commands/search.c: New file.
f19dbdb7 51026
6a85ce79 51027 * util/grub-emu.c (main): Call grub_search_init and
51028 grub_search_fini.
51029
51030 * kern/rescue.c (grub_rescue_print_disks): Removed.
51031 (grub_rescue_print_devices): New function.
51032 (grub_rescue_cmd_ls): Use grub_device_iterate with
51033 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51034 grub_rescue_print_disks.
51035
51036 * kern/partition.c (grub_partition_iterate): Return the result of
51037 PARTMAP->ITERATE instead of GRUB_ERRNO.
51038
51039 * kern/device.c: Include grub/partition.h.
51040 (grub_device_iterate): New function.
51041
51042 * include/grub/partition.h (grub_partition_iterate): Return int
51043 instead of grub_err_t.
51044
51045 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51046 prototype.
51047 [GRUB_UTIL] (grub_search_fini): Likewise.
51048
51049 * include/grub/device.h (grub_device_iterate): New prototype.
51050
51051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51052 commands/search.c.
51053 (pkgdata_MODULES): Added search.mod.
51054 (search_mod_SOURCES): New variable.
51055 (search_mod_CFLAGS): Likewise.
51056
51057 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51058 (pkgdata_MODULES): Added search.mod.
51059 (search_mod_SOURCES): New variable.
51060 (search_mod_CFLAGS): Likewise.
51061
51062 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51063 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51064 All callers changed.
51065
51066 * DISTLIST: Added commands/search.c.
51067
ef095434 510682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51069
51070 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51071 conversion.
51072 (grub_getcharwidth): New function.
51073
51074 * kern/misc.c (grub_utf8_to_ucs4): New function.
51075
51076 * include/grub/term.h (struct grub_term): Added a new member
51077 "getcharwidth".
51078 (grub_getcharwidth): New prototype.
51079
51080 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51081
51082 * term/i386/pc/console.c (map_char): New function. Segregated from
51083 grub_console_putchar.
51084 (grub_console_putchar): Use map_char.
51085 (grub_console_getcharwidth): New function.
51086 (grub_console_term): Specified grub_console_getcharwidth as
51087 getcharwidth.
51088
51089 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51090 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51091
51092 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51093 GRUB_ERRNO.
51094 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51095 on grub_strtoul completely.
51096 (write_char): Declare local variables in the beginning of the
51097 function.
51098 (grub_vesafb_getcharwidth): New function.
51099 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51100 getcharwidth.
51101
1f0a95e4 511022005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51103
51104 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51105 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51106 commands/i386/pc/vbetest.c.
51107
51108 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51109 call grub_vbe_get_controller_info again, because the returned
51110 information is volatile.
51111 (grub_vbe_set_video_mode): Mostly rewritten.
51112 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51113 grub_vbe_status_t correctly.
51114 (grub_vbe_get_video_mode_info): Likewise.
51115 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51116 several if statements.
51117
51118 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51119 * commands/i386/pc/vbeinfo.c: ... this.
51120
51121 * commands/i386/pc/vbe_test.c: Renamed to ...
51122 * commands/i386/pc/vbetest.c: ... this.
51123
51124 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51125 ...
51126 (grub_cmd_vbeinfo): ... this. Save video modes before
51127 iterating. Skip a video mode, if it is not available, not enough
51128 information is given or it is monochrome. Show the memory
51129 model. Leave the interpretation of MODEVAR to grub_strtoul
51130 completely.
51131 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51132 (GRUB_MOD_FINI): Likewise.
51133
51134 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51135 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51136 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51137 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51138 grub_strtoul completely.
51139 (real2pm): Removed.
51140 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51141 (GRUB_MOD_FINI): Likewise.
51142
51143 * normal/misc.c: Include grub/mm.h.
51144
51145 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51146 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51147 (vbe_list_modes_mod_SOURCES): Removed.
51148 (vbe_list_modes_mod_CFLAGS): Likewise.
51149 (vbe_test_mod_SOURCES): Likewise.
51150 (vbe_test_mod_CFLAGS): Likewise.
51151 (vbeinfo_mod_SOURCES): New variable.
51152 (vbeinfo_mod_CFLAGS): Likewise.
51153 (vbetest_mod_SOURCES): Likewise.
51154 (vbetest_mod_CFLAGS): Likewise.
51155
992ffbbe 511562005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51157
51158 * normal/misc.c: New file.
51159
51160 * DISTLIST: Added normal/misc.c.
f19dbdb7 51161
992ffbbe 51162 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51163 DISK to HOOK. Call HOOK with DISK.
51164 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51165 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51166 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51167
51168 * normal/menu_entry.c (struct screen): Added a new member
51169 "completion_shown".
51170 (completion_buffer): New global variable.
51171 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51172 (store_completion): New function.
51173 (complete): Likewise.
51174 (clear_completions): Likewise.
51175 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51176 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51177 a tab, call complete.
51178
51179 * normal/completion.c (disk_dev): Removed.
51180 (print_simple_completion): Likewise.
51181 (print_partition_completion): Likewise.
51182 (print_func): New global variable.
51183 (add_completion): Do not take the arguments WHAT or PRINT any
51184 longer. Added a new argument TYPE. Instead of printing directly,
51185 call PRINT_FUNC if not NULL.
51186 All callers changed.
51187 (complete_device): Use a local variable DEV instead of
51188 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51189 (grub_normal_do_completion): Take a new argument HOOK. Do not
51190 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51191 empty string, return NULL instead.
51192 All callers changed.
51193
51194 * normal/cmdline.c (print_completion): New function.
51195
51196 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51197 to HOOK.
51198 All callers changed.
51199
51200 * kern/disk.c (grub_print_partinfo): Removed.
51201
51202 * include/grub/partition.h (struct grub_partition_map): Add a new
51203 argument DISK into HOOK of ITERATE.
51204 (grub_partition_iterate): Add a new argument DISK to HOOK.
51205
51206 * include/grub/normal.h (enum grub_completion_type): New enum.
51207 (grub_completion_type_t): New type.
51208 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51209 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51210 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51211 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51212 (grub_normal_do_completion): Added a new argument HOOK.
51213 (grub_normal_print_device_info): New prototype.
51214
51215 * include/grub/disk.h (grub_print_partinfo): Removed.
51216
51217 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51218 (normal_mod_SOURCES): Likewise.
51219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51220 (normal_mod_SOURCES): Likewise.
51221
51222 * commands/ls.c (grub_ls_list_disks): Use
51223 grub_normal_print_device_info instead of grub_print_partinfo. Free
51224 PNAME.
51225 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51226 duplicating the code.
51227
0bd41162 512282005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51229
51230 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51231 follow GCS more precisely.
51232 * commands/i386/pc/vbe_test.c: Likewise.
51233 * include/grub/i386/pc/vbe.h: Likewise.
51234 * term/i386/pc/vesafb.c: Likewise.
51235 * video/i386/pc/vbe.c: Likewise.
0bd41162 51236
6323696a 512372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51238
51239 * DISTLIST: Added term/i386/pc/vesafb.c
51240 DISTLIST: Added video/i386/pc/vbe.c
51241 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51242 DISTLIST: Added commands/i386/pc/vbe_test.c.
51243 * commands/i386/pc/vbe_list_modes.c: New file.
51244 * commands/i386/pc/vbe_test.c: Likewise.
51245 * term/i386/pc/vesafb.c: Likewise.
51246 * video/i386/pc/vbe.c: Likewise.
51247 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51248 (grub_vbe_probe) Added prototype.
51249 (grub_vbe_set_video_mode) Likewise.
51250 (grub_vbe_get_video_mode) Likewise.
51251 (grub_vbe_get_video_mode_info) Likewise.
51252 (grub_vbe_set_pixel_rgb) Likewise.
51253 (grub_vbe_set_pixel_index) Likewise.
51254 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51255 (pkgdata_MODULES): Added vesafb.mod.
51256 (pkgdata_MODULES): Added vbe_list_modes.mod.
51257 (pkgdata_MODULES): Added vbe_test.mod.
51258 (vbe_mod_SOURCES): Added.
51259 (vbe_mod_CFLAGS): Likewise.
51260 (vesafb_mod_SOURCES): Likewise.
51261 (vesafb_mod_CFLAGS): Likewise.
51262 (vbe_list_modes_mod_SOURCES): Likewise.
51263 (vbe_list_modes_mod_CFLAGS): Likewise.
51264 (vbe_test_mod_SOURCES): Likewise.
51265 (vbe_test_mod_CFLAGS): Likewise.
51266
0a74e62f 512672005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51268
0a74e62f 51269 * normal/command.c (grub_command_execute): If INTERACTIVE is
51270 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51271 CMDLINE. Disable the pager if INTERACTIVE is true.
51272 All callers are changed.
51273
51274 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51275 before reading a config file.
51276 * normal/main.c (read_config_file): Even if a command is not
51277 found, register it if it is within an entry.
51278
51279 * util/grub-emu.c: Include sys/types.h and unistd.h.
51280 (options): Added --hold.
51281 (struct arguments): Added a new member "hold".
51282 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51283 missing.
51284 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51285 cleared by a debugger, if it is not zero.
51286
51287 * include/grub/normal.h (grub_command_execute): Add an argument
51288 INTERACTIVE.
51289
e51f85ae 512902005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51291
51292 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51293
e9c6f39b 512942005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51295
51296 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51297 program with another one, because the old one didn't detect a bug
51298 in gcc-3.4. Always use regparm 2, because the new test is still
51299 not enough for gcc-4.0. Someone must investigate a simple test
51300 case which detects a bug in gcc-4.0.
51301
8de3495c 513022005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51303
51304 * DISTLIST: Added normal/completion.c.
51305
51306 * normal/completion.c: New file.
f19dbdb7 51307
8de3495c 51308 * term/i386/pc/console.c (grub_console_getwh): New function.
51309 (grub_console_term): Assign grub_console_getwh to getwh.
51310
51311 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51312 function is defined in normal/completion.c as
51313 grub_normal_do_completion.
51314 (grub_cmdline_get): Use grub_normal_do_completion instead of
51315 grub_tab_complete.
51316
51317 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51318 returns non-zero, otherwise return 0.
51319 (grub_partition_iterate): First, probe the partition map. Then,
51320 call ITERATE only for this partition map.
51321
51322 * kern/misc.c (grub_strncmp): Rewritten.
51323
51324 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51325 returns non-zero. Otherwise return 0.
51326
51327 * include/grub/partition.h (grub_partition_map_iterate): Return
51328 int instead of void.
51329
51330 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51331
51332 * include/grub/misc.h (grub_strncmp): Change the type of N to
51333 grub_size_t.
51334
51335 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51336 of void.
51337
51338 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51339 unsigned explicitly before comparing it with I.
8de3495c 51340
51341 * kern/main.c (grub_env_write_root): Add the attribute unused into
51342 VAR.
51343
51344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51345 normal/completion.c.
51346 (normal_mod_SOURCES): Likewise.
51347 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51348 (normal_mod_SOURCES): Likewise.
51349
51350 * normal/command.c (grub_iterate_commands): If ITERATE returns
51351 non-zero, return one immediately.
51352
e85e144b 513532005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51354
51355 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51356 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51357 descriptions.
51358 (grub_vbe_get_controller_info): New function.
51359 (grub_vbe_get_mode_info): Likewise.
51360 (grub_vbe_set_mode): Likewise.
51361 (grub_vbe_get_mode): Likewise.
51362 (grub_vbe_set_memory_window): Likewise.
51363 (grub_vbe_get_memory_window): Likewise.
51364 (grub_vbe_set_scanline_length): Likewise.
51365 (grub_vbe_get_scanline_length): Likewise.
51366 (grub_vbe_set_display_start): Likewise.
51367 (grub_vbe_get_display_start): Likewise.
51368 (grub_vbe_set_palette_data): Likewise.
51369 * include/grub/i386/pc/vbe.h: New file.
51370
c46153d2 513712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51372
51373 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51374 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51375 * DISTLIST: Likewise.
51376 * kern/ieee1275/of.c: Moved to ...
51377 * kern/ieee1275/ieee1275.c: ... here.
51378
0cb90c45 513792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51380
51381 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51382 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51383 Pass 0 as `end' parameter to grub_strtoul().
51384
a19fb360 513852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51386
51387 * include/grub/powerpc/ieee1275/console.h: Do not include
51388 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51389 ifdef.
51390 (grub_console_cur_color): Remove i386-specific prototype.
51391 (grub_console_real_putchar): Likewise.
51392 (grub_console_checkkey): Likewise.
51393 (grub_console_getkey): Likewise.
51394 (grub_console_getxy): Likewise.
51395 (grub_console_gotoxy): Likewise.
51396 (grub_console_cls): Likewise.
51397 (grub_console_setcursor): Likewise.
51398 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51399 Include <grub/machine/console.h>.
51400 * term/ieee1275/ofconsole.c: Likewise.
51401
4ac9bd04 514022005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51403
51404 * Makefile.in (LIBLZO): New variable.
51405
51406 * configure.ac: Check for LZO version 2.
51407
51408 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51409 lzo/lzo1x.h instead of lzo1x.h.
51410
51411 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51412 of -llzo.
51413
51414 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51415 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51416
51417 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51418 copying the data from PARTITION to P.
51419
f4917dfd 514202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51421
51422 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51423 negative, unload the module.
51424
51425 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51426 map is "pc_partition_map" but not "pc".
51427 (usage): Fix the description. The options are --boot-image and
51428 --core-image but not --boot-file or --core-file.
51429 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51430 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51431 DEFAULT_DIRECTORY.
51432
51433 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51434 --core-file. Specify INSTALL_DEVICE as an argument.
51435
51436 * util/console.c: Include config.h.
51437 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51438 [HAVE_NCURSES_H]: Include ncurses.h.
51439 [HAVE_CURSES_H]: Include curses.h.
51440 [!A_NORMAL] (A_NORMAL): Defined as zero.
51441 [!A_STANDOUT] (A_STANDOUT): Likewise.
51442
51443 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51444 -lncurses.
51445 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51446
51447 * configure.ac: Check for curses libraries and headers.
51448
51449 * Makefile.in (LIBCURSES): New variable.
51450
51451 * genmk.rb (Script::rule): Set the executable bits.
51452
51453 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51454 name of the PC partition map is "pc_partition_map" but not "pc".
51455
0e143073 514562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51457
51458 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51459 (modules): Likewise.
51460 (usage): Added descriptions for --modules and --grub-probefs.
51461 Handle --modules and --grub-probefs. Save the arguments in MODULES
51462 and GRUB_PROBEFS, respectively.
51463 Auto-detect a filesystem module against GRUBDIR. If the result is
51464 empty and modules are not specified explicitly, abort the
51465 installation. Add the result to MODULES.
51466
51467 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51468 disk/powerpc/ieee1275/ofdisk.c,
51469 include/grub/powerpc/ieee1275/init.h and
51470 term/powerpc/ieee1275/ofconsole.c.
51471 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51472 term/ieee1275/ofconsole.c.
51473
51474 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51475
51476 * COPYING: Upgraded to the latest version. Only the address of the
51477 FSF office has changed.
f19dbdb7 51478
efd6e6d5 514792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51480
51481 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51482 kern/ieee1275.c with kern/ieee1275/of.c.
51483
51484 * kern/ieee1275.c: Moved to ...
51485 * kern/ieee1275/of.c: ... here.
51486
8ceafda2 514872005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51488
51489 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51490 readability.
8ceafda2 51491
51492 * config.guess: Updated to the latest version from gnulib.
51493 * config.sub: Likewise.
51494 * install.sh: Likewise.
51495 * mkinstalldirs: Likewise.
51496
51497 * include/grub/console.h: Removed. This file is arch-specific. Do
51498 not put this in include/grub.
51499
51500 * include/grub/i386/pc/console.h: Resurrected.
51501
51502 * util/console.c: Include grub/machine/console.h instead of
51503 grub/console.h.
51504 * util/grub-emu.c: Likewise.
51505
267f6cd9 515062005-08-04 Marco Gerards <metgerards@student.han.nl>
51507
51508 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51509 hardcoded value.
f19dbdb7 51510
267f6cd9 51511 From Vincent Pelletier <subdino2004@yahoo.fr>
51512 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51513 Redefined to use grub_getwh.
51514 (grub_term): New member named getwh.
51515 (grub_getwh): New prototype.
51516 * kern/term.c (grub_getwh): New function.
51517 * term/i386/pc/console.c (grub_console_getwh): New function.
51518 (grub_console_term): New member `getwh'.
51519 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51520 (grub_vga_term): New member `getwh'.
0b5abe02 51521 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51522 grub_ssize_t.
51523 (grub_ofconsole_getw): New function.
51524 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51525 (grub_ofconsole_term): New field named getwh and new initial
51526 value.
51527
3be7266d 515282005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51529
51530 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51531 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51532 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51533 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51534 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51535 of <grub/machine/ieee1275.h>.
51536 * commands/ieee1275/reboot.c: Likewise.
51537 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51538 * kern/ieee1275.c: ... to here. All users updated. Change all
51539 parameter structs to use new type `grub_ieee1275_cell_t'.
51540 * term/powerpc/ieee1275/ofconsole.c: Move ...
51541 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51542 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51543 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51544 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51545 to return int.
51546 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51547 Remove unused prototypes. All users updated.
51548 * include/grub/powerpc/ieee1275/console.h: Removed.
51549 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51550 `grub_ieee1275_cell_t'.
51551 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51552 Cast comparisons with -1 to the correct type.
51553 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51554 type to match `grub_ieee1275_entry_fn'.
51555
8b5f3938 515562005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51557
51558 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51559
51560 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51561 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51562 partmap/sun.c.
51563 (grub_probefs_SOURCES): New variable.
51564
51565 * util/i386/pc/grub-probefs.c: New file.
51566
51567 * util/i386/pc/grub-setup.c (main): Call
51568 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51569 grub_hfs_init and grub_jfs_init to initialize the system. Call
51570 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51571 grub_pc_partition_map_fini to finish the system.
51572
ea409713 515732005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51574
51575 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51576 function.
51577 (grub_multiboot_load_elf32): Likewise.
51578 (grub_multiboot_is_elf64): Likewise.
51579 (grub_multiboot_load_elf64): Likewise.
51580 (grub_multiboot_load_elf): Likewise.
51581 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51582 an ELF32 or ELF64 file.
51583 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51584
51585 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51586 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51587 NULL before calling FS->LABEL.
51588 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51589 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51590 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51591 before calling FS->LABEL.
51592
141a288b 515932005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51594
51595 * util/i386/pc/grub-install.in (datadir): New variable.
51596 (libdir): Removed.
51597 (pkgdatadir): New variable.
51598 (pkglibdir): Removed.
51599
0d5f8a54 516002005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51601
51602 * DISTLIST: Added util/i386/pc/grub-install.in.
51603
51604 * util/i386/pc/grub-install.in: New file.
51605
51606 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51607 (grub_install_SOURCES): Likewise.
51608
51609 * genmk.rb: Added support for scripts.
51610 (Script): New class.
51611 (scripts): New variable.
51612
51613 * Makefile.in (install-local): Install sbin_SCRIPTS by
51614 INSTALL_SCRIPT.
51615 (uninstall): Remove sbin_SCRIPTS.
51616
51617 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51618 device, try to get a GRUB device by
51619 grub_util_biosdisk_get_grub_dev.
51620 Free DEST_DEV.
51621
51622 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51623 description for --device-map.
51624
5f968e1e 516252005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51626
51627 Change the semantics of variable hooks. They now return strings
51628 instead of error values.
f19dbdb7 51629
5f968e1e 51630 * util/i386/pc/grub-setup.c: Include grub/env.h.
51631 (setup): Use grub_device_set_root instead of grub_env_set.
51632
51633 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51634 grub_env_get instead of grub_device_set_root and
51635 grub_device_get_root, respectively.
51636
51637 * kern/main.c (grub_env_write_root): New function.
51638 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51639 grub_env_set instead of grub_device_set_root.
51640
51641 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51642 many variables.
51643 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51644 rather than calling ENV->WRITE_HOOK afterwards.
51645 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51646 passing a pointer of a pointer.
51647 (grub_register_variable_hook): Change the types of "read_hook" and
51648 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51649 respectively.
51650 Allocate the default empty string on the heap, because this string
51651 may be freed later.
51652
51653 * kern/device.c: Include grub/env.h.
51654 (grub_device_set_root): Removed.
51655 (grub_device_get_root): Likewise.
51656 (grub_device_open): Use grub_env_get instead of
51657 grub_device_get_root.
51658
51659 * include/grub/env.h (grub_env_read_hook_t): New type.
51660 (grub_env_write_hook_t): Likewise.
51661 (grub_env_var): Change the types of "read_hook" and "write_hook"
51662 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51663 (grub_register_variable_hook): Likewise.
51664
51665 * include/grub/device.h (grub_device_set_root): Removed.
51666 (grub_device_set_root): Likewise.
51667
51668 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51669 make sure that DIRNAME terminates with '/', so that
51670 grub_fat_find_dir will fail if PATH is not a directory.
51671
51672 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51673 from DIRNAME.
51674 Use the qualifier auto for print_files and print_files_long.
51675 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51676 as a regular file.
51677 Put a newline only if there is no error.
51678 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51679 used.
51680
896f0afd 516812005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51682
51683 * kern/partition.c (grub_partition_probe): Initialize PART to
51684 NULL. Otherwise, when no partition map is registered, this returns
51685 a garbage.
51686
b28b81b2 516872005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51688
51689 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51690 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51691 valid.
51692
5f3607e0 516932005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51694
51695 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51696 information on each device, if it does not have partitions. Print
51697 "Device" instead of "Disk", because this function is not specific
51698 to disk devices.
51699
51700 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51701 static to ensure that it is put on the memory rather than a
51702 register.
51703
502c87e8 517042005-07-17 Yoshinori Okuji <okuji@enbug.org>
51705
51706 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51707 (grub_cat_init): Likewise.
51708 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51709 (options): Likewise.
51710 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51711 (grub_configfile_init): Likewise.
51712 * font/manager.c (GRUB_MOD_INIT): Likewise.
51713 * commands/help.c (GRUB_MOD_INIT): Likewise.
51714 (grub_help_init): Likewise.
51715 * normal/command.c (grub_command_init): Likewise.
51716 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51717 * disk/loopback.c (grub_loop_init): Likewise.
51718 (GRUB_MOD_INIT): Likewise.
51719 * commands/ls.c (grub_ls_init): Likewise.
51720 (GRUB_MOD_INIT): Likewise.
51721 (options): Likewise.
51722 * commands/boot.c (grub_boot_init): Likewise.
51723 (GRUB_MOD_INIT): Likewise.
51724 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51725 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51726 (GRUB_MOD_INIT): Likewise.
51727 * commands/cmp.c (grub_cmp_init): Likewise.
51728 (GRUB_MOD_INIT): Likewise.
51729
51730 * normal/arg.c: Use <> instead of "" to include header files.
51731 (SHORT_ARG_HELP): New macro.
51732 (SHORT_ARG_USAGE): Likewise.
51733 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51734 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51735 descriptions.
51736 (find_short): Check if C is 'h' or 'u' explicitly.
51737 (grub_arg_show_help): Use space characters instead of tabs. Treat
51738 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51739 are shown with --help and --usage only if they are not used for
51740 the command itself.
51741 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51742 'h' and 'u'.
51743
51744 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51745 const into "longarg". Change the type of "shortarg" to int.
51746
f806d18e 517472005-07-17 Yoshinori Okuji <okuji@enbug.org>
51748
51749 * boot/i386/pc/boot.S (boot_drive_check): New label.
51750
51751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51752 macro.
51753
51754 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51755 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51756
e293232b 517572005-07-17 Yoshinori Okuji <okuji@enbug.org>
51758
51759 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51760 When turning off Gate A20, skip the check and return immediately,
51761 because this is not fatal usually.
51762
ebedfd00 517632005-07-17 Yoshinori Okuji <okuji@enbug.org>
51764
51765 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51766 be 0x7C00 instead of 0x8000.
51767
51768 * boot/i386/pc/pxeboot.S: Rewritten.
51769
51770 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51771 EXT_C.
51772 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51773 result.
51774
654fc59f 517752005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51776
51777 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51778 robustness. This routine now supports a BIOS call and System
51779 Control Port A to modify the gate A20.
51780
51781 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51782 Increased to 0x440.
51783
09f9923f 517842005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51785
51786 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51787 device path and resulting ihandle.
51788 (grub_ofdisk_close): dprintf the ihandle being closed.
51789 (grub_ofdisk_read): dprintf function parameters.
51790 * kern/mm.c (grub_mm_init_region): Likewise.
51791 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51792 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51793 size, and boot arguments.
51794 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51795 before loading into memory.
51796 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51797 before loading into memory.
51798
7ef504d8 517992005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51800
51801 * kern/mm.c: Added much documentation.
51802 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51803 8, set to 5 instead of 8.
51804
e0f050c2 518052005-07-10 Yoshinori Okuji <okuji@enbug.org>
51806
51807 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51808
51809 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51810 (grub_mkdevicemap_SOURCES): New variable.
51811
51812 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51813 lib/device.c of GRUB Legacy.
51814
7224189a 518152005-07-10 Yoshinori Okuji <okuji@enbug.org>
51816
51817 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51818 instead of PATH is NULL.
51819
68c864eb 518202005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51821
51822 * commands/cmp.c (BUFFER_SIZE): New macro.
51823 (grub_cmd_cmp): Close the right file at the right time. Compare
51824 only data just read. Don't report files of different size as
51825 identical. Dynamically allocate buffers. Move variable
51826 declarations at the beginning of function.
51827
e6f3e614 518282005-07-09 Yoshinori Okuji <okuji@enbug.org>
51829
51830 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51831 reverse.
51832
f8f1559a 518332004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51834
51835 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51836 when backspace is pressed at beginning of line.
51837
39c9d41d 518382005-07-03 Yoshinori Okuji <okuji@enbug.org>
51839
51840 * DISTLIST: Added genfslist.sh.
51841
51842 * normal/main.c (fs_module_list): New variable.
51843 (autoload_fs_module): New function.
51844 (read_fs_list): Likewise.
51845 (grub_normal_execute): Call read_fs_list.
51846
51847 * kern/fs.c (grub_fs_autoload_hook): New variable.
51848 (grub_fs_probe): Added support for auto-loading.
51849
51850 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51851 (grub_fs_module_list_t): New type.
51852
51853 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51854 (grub_fs_autoload_hook): New prototype.
51855
51856 * genfslist.sh: New file.
f19dbdb7 51857
39c9d41d 51858 * genmk.rb: Added a rule to generate a filesystem list.
51859
121c1d83 518602005-06-30 Marco Gerards <metgerards@student.han.nl>
51861
51862 * configure.ac: Fix the test for cross-compiling.
51863
51864 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51865 define GRUB_UTIL anymore.
51866
51867 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51868 so this function works on other systems than just big endian.
51869 (load_modules): Likewise.
51870 (add_segments): Likewise.
51871
e75d76e1 518722005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51873
51874 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51875 contains `l' modifier, get a long from va_arg().
51876
50b5a0a7 518772005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51878
51879 * kern/mm.c (grub_free): If the next free block which is being
51880 merged is the first free block, set the first block to the block
51881 being freed.
51882 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51883
89371b20 518842005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51885
51886 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51887 `grub_ieee1275_chosen'.
51888
168d6e58 518892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51890
51891 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51892 (grub_ieee1275_chosen): New variable.
51893 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51894 `chosen'.
51895 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51896 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51897 Rename first argument to `phandle' for consistency.
51898 (grub_ieee1275_get_property_length): Likewise.
51899 (grub_ieee1275_next_property): Likewise. Change type of first argument
51900 to grub_ieee1275_phandle_t.
51901 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51902 Move export next to declaration.
51903 (grub_ieee1275_chosen): New variable.
51904 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51905 Correct cosmetic typo.
51906 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51907 `grub_ieee1275_chosen'.
51908 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51909 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51910 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51911 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51912 `grub_ieee1275_chosen'.
51913
ca5baa3f 519142005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51915
51916 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51917 /chosen/bootargs.
51918 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51919 /chosen/bootargs as "variable=value" pairs.
51920
708b345f 519212005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51922
51923 * include/grub/misc.h (grub_dprintf): New macro.
51924 (grub_real_dprintf): New prototype.
51925 (grub_strword): Likewise.
51926 (grub_iswordseparator): Likewise.
51927 * kern/misc.c (grub_real_dprintf): New function.
51928 (grub_strword): Likewise.
51929 (grub_iswordseparator): Likewise.
51930
f4c5e67c 519312005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51932
51933 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51934 (roundup): Remove macro.
51935 (grub_ieee1275_flags): Make static.
51936 (grub_ieee1275_realmode): Remove.
51937 (grub_ieee1275_test_flag): New function.
51938 (grub_ieee1275_set_flag): Likewise.
51939 (find_options): Rename to `grub_ieee1275_find_options'; update
51940 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51941 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51942 (cmain): New prototype.
51943 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51944 `grub_ieee1275_flags' directly.
51945 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51946 machine/biosdisk.h.
51947 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51948 Don't include grub/machine/init.h.
51949 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51950 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51951 Remove prototype.
51952 (grub_ieee1275_realmode): Likewise.
51953 (grub_ieee1275_flag): New enum.
51954 (grub_ieee1275_test_flag): New prototype.
51955 (grub_ieee1275_set_flag): New prototype.
51956 * include/grub/powerpc/ieee1275/init.h: Remove file.
51957 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51958 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51959 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51960 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51961 comment.
51962 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51963 `grub_ieee1275_test_flag'.
51964 (grub_ieee1275_encode_devname): Likewise.
51965
ed16607e 519662005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51967
51968 * include/grub/powerpc/ieee1275/ieee1275.h
51969 (grub_ieee1275_encode_devname): New prototype.
51970 (grub_ieee1275_get_filename): Likewise.
51971 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51972 function.
51973 (grub_set_prefix): Likewise.
51974 (grub_machine_init): Call grub_set_prefix.
51975 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51976 (grub_parse_type): New enum.
51977 (grub_ieee1275_get_devargs): New function.
51978 (grub_ieee1275_get_devname): Likewise.
51979 (grub_ieee1275_parse_args): Likewise.
51980 (grub_ieee1275_get_filename): Likewise.
51981 (grub_ieee1275_encode_devname): Likewise.
51982
be369920 519832005-03-30 Marco Gerards <metgerards@student.han.nl>
51984
51985 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51986 `grub_loader_unset'.
51987
a5ce3a4a 519882005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51989
51990 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51991 instead of grub_ieee1275_interpret.
51992 (grub_halt_init): New function.
51993 (grub_halt_fini): Likewise.
51994 (GRUB_MOD_INIT): Correct message grammar.
51995 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51996 instead of grub_ieee1275_interpret.
51997 (grub_reboot_init): New function.
51998 (grub_reboot_fini): Likewise.
51999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52000 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52001 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52002 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52003 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52004 function.
52005 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52006 Add prototype.
52007 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52008 prototype.
52009 (grub_halt): Likewise.
52010 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52011 (cmain): Remove __attribute__((unused)).
52012 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52013 (grub_heap_len): Likewise.
52014 (grub_machine_fini): New function.
52015 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52016 (grub_halt): Likewise.
52017 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52018 function.
52019 * util/powerpc/ieee1275/misc.c: New file.
52020
0058f771 520212005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52022
52023 * DISTLIST: New file.
52024 * gendistlist.sh: Likewise.
f19dbdb7 52025
0058f771 52026 * Makefile.in (COMMON_DISTFILES): Removed.
52027 (BOOT_DISTFILES): Likewise.
52028 (CONF_DISTFILES): Likewise.
52029 (DISK_DISTFILES): Likewise.
52030 (FS_DISTFILES): Likewise.
52031 (INCLUDE_DISTFILES): Likewise.
52032 (KERN_DISTFILES): Likewise.
52033 (LOADER_DISTFILES): Likewise.
52034 (TERM_DISTFILES): Likewise.
52035 (UTIL_DISTFILES): Likewise.
52036 (DISTFILES): Likewise.
52037 (uninstall): Uninstall files in $(pkgdata_DATA).
52038 (DISTLIST): New target.
52039 (distdir): Use the contents of the file DISTLIST to get a list of
52040 distributed files.
52041
46b3b8a5 520422005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52043
52044 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52045 descriptor. This is ported from GRUB Legacy.
52046
52047 * gencmdlist.sh: Added an extra semicolon to make it work with
52048 old sed versions. Reported by Robert Bihlmeyer
52049 <robbe@orcus.priv.at>.
52050
5822ff87 520512005-03-08 Yoshinori Okuji <okuji@enbug.org>
52052
52053 Automatic loading of commands is supported.
f19dbdb7 52054
5822ff87 52055 * normal/main.c (read_command_list): New function.
52056 (grub_normal_execute): Call read_command_list.
52057
52058 * normal/command.c (grub_register_command): Return zero or CMD.
52059 Allocate CMD->NAME from the heap.
52060 Initialize CMD->MODULE_NAME to zero.
52061 Find the same name as well. If the same command is found and it is
52062 a dummy command, overwrite members. If it is not a dummy command,
52063 return zero.
52064 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52065 (grub_command_find): If a dummy command is found, load a module
52066 and retry to find a command only once.
52067
52068 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52069 make sure that each command is loaded.
52070
52071 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52072 macro.
52073 (struct grub_command): Remove const from the member `name'.
52074 Add a new member `module_name'.
52075 (grub_register_command): Return grub_command_t.
52076
52077 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52078 sure that each command is loaded.
52079
52080 * genmk.rb (PModule::rule): Specify a module name without the
52081 suffix ".mod" to gencmdlist.sh.
52082
7b1f4b57 520832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52084
52085 * gencmdlist.sh: New file.
f19dbdb7 52086
7b1f4b57 52087 * genmk.rb (PModule::rule): Generate a rule for a command list.
52088 Clean command.lst.
52089 Generate command.lst from $(COMMANDFILES).
52090
52091 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52092 (DATA): Added $(pkgdata_DATA).
52093 (install-local): Install files in $(pkgdata_DATA).
52094
062aaf39 520952005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52096
52097 * term/i386/pc/vga.c (debug_command): Removed.
52098 (GRUB_MOD_INIT): Do not register the command "debug".
52099
52100 From Hollis Blanchard:
52101 * commands/configfile.c: New file.
52102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52103 commands/configfile.c.
52104 (pkgdata_MODULES): Added configfile.mod.
52105 (configfile_mod_SOURCES): New variable.
52106 (configfile_mod_CFLAGS): Likewise.
52107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52108 commands/configfile.c.
52109 (pkgdata_MODULES): Added configfile.mod.
52110 (configfile_mod_SOURCES): New variable.
52111 (configfile_mod_CFLAGS): Likewise.
52112 * util/grub-emu.c (main): Call grub_configfile_init and
52113 grub_configfile_fini.
52114 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52115 prototype.
52116 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52117
cee01aa6 521182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52119
52120 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52121 address.
52122
52123 * commands/help.c (grub_cmd_help): Do not print newlines after
52124 the last command in print_command_help.
52125
93f3a1d8 521262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52127
52128 * commands/default.h: New file.
52129 * commands/timeout.h: Likewise.
52130 * normal/context.c: Likewise.
f19dbdb7 52131
93f3a1d8 52132 * util/misc.c: Do not include sys/times.h.
52133 Include sys/time.h and grub/machine/time.h.
52134 (grub_get_rtc): Rewritten with gettimeofday.
52135
52136 * util/grub-emu.c (main): Call grub_default_init and
52137 grub_timeout_init before grub_normal_init, and call
52138 grub_timeout_fini and grub_default_fini after grub_main.
52139
52140 * util/console.c (grub_ncurses_checkkey): Return the read
52141 character or -1.
52142
52143 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52144 timeouts.
52145
52146 * normal/main.c (read_config_file): Push MENU. If this fails,
52147 print an error and wait for a user input.
52148 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52149 If a menu is empty or an error occurs, pop MENU.
52150 (grub_normal_execute): Pop and free MENU after grub_menu_run
52151 returns.
52152
52153 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52154
52155 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52156 include time.h.
52157 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52158 without GRUB_UTIL.
52159 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52160 time.h.
52161 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52162 without GRUB_UTIL.
52163
52164 * include/grub/normal.h (struct grub_menu_list): New struct.
52165 (grub_menu_list_t): New type.
52166 (struct grub_context): New struct.
52167 (grub_context_t): New type.
52168 (grub_register_command): Got rid of EXPORT_FUNC.
52169 (grub_unregister_command): Likewise.
52170 (grub_context_get): New prototype.
52171 (grub_context_get_current_menu): Likewise.
52172 (grub_context_push_menu): Likewise.
52173 (grub_context_pop_menu): Likewise.
52174 [GRUB_UTIL] (grub_default_init): Likewise.
52175 [GRUB_UTIL] (grub_default_fini): Likewise.
52176 [GRUB_UTIL] (grub_timeout_init): Likewise.
52177 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52178
52179 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52180 commands/timeout.c and normal/context.c.
52181 (pkgdata_MODULES): Added default.mod and timeout.mod.
52182 (normal_mod_SOURCES): Added normal/context.c.
52183 (default_mod_SOURCES): New variable.
52184 (default_mod_CFLAGS): Likewise.
52185 (timeout_mod_SOURCES): Likewise.
52186 (timeout_mod_CFLAGS): Likewise.
52187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52188 conf/i386-pc.rmk.
52189 (pkgdata_MODULES): Added default.mod and timeout.mod.
52190 (normal_mod_SOURCES): Added normal/context.c.
52191 (default_mod_SOURCES): New variable.
52192 (default_mod_CFLAGS): Likewise.
52193 (timeout_mod_SOURCES): Likewise.
52194 (timeout_mod_CFLAGS): Likewise.
52195
52196 * Makefile.in (all-local): Added $(MKFILES).
52197
4ed2e1dd 521982005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52199
52200 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52201 (grub_emu_SOURCES): Likewise.
52202 (pkgdata_MODULES): Add `sun.mod'.
52203 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52205 `partmap/sun.c'.
52206 (pkgdata_MODULES): Add `sun.mod'.
52207 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52208 * include/grub/partition.h (grub_sun_partition_map_init): New
52209 prototype.
52210 (grub_sun_partition_map_fini): Likewise.
52211 * partmap/sun.c: New file.
52212 * util/grub-emu.c (main): Initialize and de-initialize the sun
52213 partitionmap support.
52214
4d4e372e 522152005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52216
52217 This implements an Emacs-like menu entry editor.
f19dbdb7 52218
4d4e372e 52219 * normal/menu_entry.c: New file.
f19dbdb7 52220
4d4e372e 52221 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52222 characters to ASCII.
52223 (saved_char): New variable.
52224 (grub_ncurses_checkkey): Rewritten completely.
52225 (grub_ncurses_getkey): Likewise.
52226 (grub_ncurses_init): Call raw instead of cbreak.
52227
52228 * normal/menu.c (print_entry): Do not put a space.
52229 (init_page): Renamed to ...
52230 (grub_menu_init_page): ... this. All callers changed.
52231 (edit_menu_entry): Removed.
52232 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52233
52234 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52235
52236 * kern/misc.c (grub_vprintf): Call grub_refresh.
52237
52238 * normal/menu.c (DISP_LEFT): Renamed to ...
52239 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52240 * normal/menu.c (DISP_UP): Renamed to ...
52241 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52242 * normal/menu.c (DISP_RIGHT): Renamed to ...
52243 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52244 * normal/menu.c (DISP_DOWN): Renamed to ...
52245 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52246 * normal/menu.c (DISP_HLINE): Renamed to ...
52247 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52248 * normal/menu.c (DISP_VLINE): Renamed to ...
52249 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52250 * normal/menu.c (DISP_UL): Renamed to ...
52251 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52252 * normal/menu.c (DISP_UR): Renamed to ...
52253 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52254 * normal/menu.c (DISP_LL): Renamed to ...
52255 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52256 * normal/menu.c (DISP_LR): Renamed to ...
52257 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52258 * normal/menu.c (TERM_WIDTH): Renamed to ...
52259 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52260 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52261 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52262 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52263 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52264 * normal/menu.c (TERM_MARGIN): Renamed to ...
52265 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52266 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52267 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52268 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52269 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52270 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52271 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52272 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52273 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52274 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52275 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52276 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52277 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52278 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52279 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52280 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52281 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52282 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52283 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52284 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52285 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52286 All callers changed.
52287
52288 * include/grub/normal.h: New prototype.
52289
52290 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52291 normal/menu_entry.c.
52292 (normal_mod_SOURCES): Likewise.
52293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52294 (normal_mod_SOURCES): Likewise.
52295
e6b92c8a 522962005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52297
52298 * include/grub/normal.h (grub_halt_init): New prototype.
52299 (grub_halt_fini): Likewise.
52300 (grub_reboot_init): Likewise.
52301 (grub_reboot_fini): Likewise.
52302
52303 * util/grub-emu.c: Include signal.h.
52304 (main_env): New global variable.
52305 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52306 catch C-c.
52307 (grub_machine_fini): New function.
52308 (main): Call grub_halt_init and grub_reboot_init before
52309 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52310 Call setjmp with MAIN_ENV to go back afterwards.
52311 Call grub_machine_fini right before return.
52312
52313 * include/grub/util/misc.h: Include setjmp.h.
52314 (main_env): New prototype.
52315
52316 * include/grub/kernel.h (grub_machine_fini): New prototype.
52317 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52318 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52319
52320 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52321 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52322 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52323
e6b92c8a 52324 * util/i386/pc/misc.c: New file.
f19dbdb7 52325
e6b92c8a 52326 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52327 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52328 commands/i386/pc/reboot.c.
52329
c642636f 523302005-02-14 Guillem Jover <guillem@hadrons.org>
52331
52332 * include/grub/dl.h (grub_dl_check_header): New prototype.
52333 (grub_arch_dl_check_header): Change return type to grub_err_t,
52334 remove size parameter and export function. Update all callers.
52335 * kern/dl.c (grub_dl_check_header): New function.
52336 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52337 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52338 are inside the core.
52339 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52340 independent ELF header checks.
52341 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52342 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52343 `grub_dl_check_header' instead of explicit checks. Check for the
52344 ELF type.
52345 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52346 `grub_dl_check_header' instead of explicit checks. Remove arch
52347 specific ELF header checks.
52348
e6b92c8a 52349 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52350 argument SIZE.
52351
5eabe94b 523522005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52353
52354 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52355 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52356
1b14a681 523572005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52358
52359 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52360 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52361 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52362 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52363 * partmap/amiga.c (amiga_partition_map_iterate): Return
52364 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52365 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52366
aca108aa 523672005-02-01 Guillem Jover <guillem@hadrons.org>
52368
52369 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52370 help info.
52371
c9f9c556 523722005-01-31 Marco Gerards <metgerards@student.han.nl>
52373
52374 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52375 Removed prototype.
52376 (grub_rescue_cmd_linux): New prototype.
52377 (grub_rescue_cmd_initrd): Likewise.
52378 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52379 `bi_rec'.
52380 (grub_linux_release_mem): Release the memory for the initrd.
52381 (grub_load_linux): Renamed from this...
52382 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52383 Changed `entry' not to be static. Loop over memory regions to
52384 find another one when the default fails.
52385 (grub_rescue_cmd_initrd): New function.
52386 (grub_linux_init): Remove function.
52387 (grub_linux_fini): Likewise.
52388 (GRUB_MOD_INIT): Register `initrd'.
52389 (GRUB_MOD_FINI): Unregister `initrd'.
52390 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52391 Function removed.
52392 (grub_linux_normal_fini): Likewise.
52393 (GRUB_MOD_INIT): Register `initrd'.
52394 (GRUB_MOD_FINI): Unregister `initrd'.
52395
990cf3aa 523962005-01-31 Marco Gerards <metgerards@student.han.nl>
52397
52398 * commands/help.c: New file.
52399 * normal/arg.c (show_help): Renamed to...
52400 (grub_arg_show_help): ... this.
52401 * commands/i386/pc/halt.c: New file.
52402 * commands/i386/pc/reboot.c: Likewise.
52403 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52404 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52405 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52406 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52407 variables.
52408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52409 `commands/help.c'.
52410 (pkgdata_MODULES): Add `help.mod'.
52411 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52412 * grub/i386/pc/init.h (grub_reboot): New prototype.
52413 (grub_halt): Likewise.
52414 * include/grub/normal.h (grub_arg_show_help): New prototype.
52415 (grub_help_init): Likewise.
52416 (grub_help_fini): Likewise.
52417 * util/grub-emu.c (main): Initialize and deinitialize the help
52418 command.
52419
52420 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52421
52422 * normal/command.c (grub_command_init): Fixed the description of
52423 the `set' and `unset' commands.
52424
524252005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52426
52427 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52428 function.
52429 * commands/ieee1275/halt.c: New file.
52430 * commands/ieee1275/reboot.c: Likewise.
52431 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52432 `__attribute__ ((unused))'. Some GCS related fixed.
52433 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52434 (grub_suspend_fini): Likewise.
52435 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52436 and `halt.mod'.
52437 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52438 (halt_mod_CFLAGS): New variables.
52439 * include/grub/powerpc/ieee1275/ieee1275.h
52440 (grub_ieee1275_interpret): New prototype.
52441
1ab09cc7 524422005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52443
52444 * include/grub/misc.h (memmove): New prototype.
52445 (memcpy): Likewise.
52446
8b8cbdb2 524472005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52448
52449 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52450 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52451
e3741a27 524522005-01-22 Marco Gerards <metgerards@student.han.nl>
52453
52454 * kern/misc.c (grub_strndup): Function rewritten.
52455
776bd780 524562005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52457
52458 * normal/menu.c (TERM_WIDTH): Macro redefined.
52459 (TERM_TOP_BORDER_Y): Likewise.
52460 (draw_border): Replaced while-loop by a for-loop. Make the number
52461 of lines consistent with the number of lines displayed in
52462 print_entries. Added a margin below the rectangle.
52463 (print_entry): Make the entry fit in the rectangle.
52464 (print_entries): Display the scroll arrows next to the right
52465 border.
52466
78026bce 524672005-01-21 Marco Gerards <metgerards@student.han.nl>
52468
52469 * fs/minix.c (grub_minix_find_file): Reserve more space for
52470 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52471 `grub_strncpy' to copy `path' into it.
52472
67bbaf0f 524732005-01-21 Marco Gerards <metgerards@student.han.nl>
52474
52475 Add the loopback device, a device via which files can be accessed
52476 as devices.
f19dbdb7 52477
67bbaf0f 52478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52479 (pkgdata_MODULES): Add loopback.mod.
52480 (loopback_mod_SOURCES): New variable.
52481 (loopback_mod_CFLAGS): Likewise.
52482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52483 `disk/loopback.c'.
52484 (pkgdata_MODULES): Add loopback.mod.
52485 (loopback_mod_SOURCES): New variable.
52486 (loopback_mod_CFLAGS): Likewise.
52487 * disk/loopback.c: new file.
52488 * include/grub/normal.h (grub_loop_init): New prototype.
52489 (grub_loop_fini): New prototype.
52490 * util/grub-emu.c (main): Initialize and de-initialize loopback
52491 support.
52492 * include/grub/disk.h (grub_disk_dev_id): Add
52493 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52494
6f1c18bd 524952005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52496
52497 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52498 function.
52499 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52500 (suspend_mod_SOURCES): New variable.
52501 (suspend_mod_CFLAGS): Likewise.
52502 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52503 New prototype.
52504 * commands/ieee1275/suspend.c: New file.
52505
b38551da 525062005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52507
52508 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52509 ((unused))' to `__attribute__ ((used))'.
b38551da 52510 (GRUB_MOD_FINI): Likewise.
52511 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52512 * genmk.rb (PModule): Assign space to common symbols when linking
52513 modules.
52514
777aff39 525152005-01-20 Marco Gerards <metgerards@student.han.nl>
52516
52517 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52518 `unsigned' arguments to `grub_size_t'.
52519 (grub_malloc): Likewise.
52520 (grub_realloc): Likewise.
52521 (grub_memalign): Likewise.
52522 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52523 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52524 * util/misc.c (grub_malloc): Likewise.
52525 (grub_realloc): Likewise.
52526 * kern/mm.c (get_header_from_pointer): Change the casts to
52527 `unsigned' into a cast to `grub_size_t'.
52528
52529 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52530 point to `currnode' when `currnode' is changed.
52531
52532 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52533 Schottelius <nico-linux@schottelius.org>.
52534
d0ff18e1 525352005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52536
52537 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52538 (note_path): Remove variable.
52539 (GRUB_IEEE1275_NOTE_NAME): New macro.
52540 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52541 (grub_ieee1275_note_hdr): New structure.
52542 (grub_ieee1275_note_desc): Likewise.
52543 (grub_ieee1275_note): Likewise.
52544 (load_note): Remove `dir' argument. All callers updated. Remove
52545 `note_img' and `path'. Do not load a file from `note_path'.
52546 Initialize a struct grub_ieee1275_note and write that to `out'.
52547 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52548
4ca7004c 525492005-01-05 Marco Gerards <metgerards@student.han.nl>
52550
52551 * util/misc.c (grub_util_read_image): Revert last change. It
52552 called `grub_util_read_at', which seeks from the beginning of the
52553 file.
52554
0b412211 525552005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52556
52557 * TODO: Add note about endianness in grub-mkimage.
52558 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52559 section.
52560 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52561 (grub_mkimage_SOURCES): New target.
52562 * include/grub/kernel.h (grub_start_addr): Remove variable.
52563 (grub_end_addr): Likewise.
52564 (grub_total_module_size): Likewise.
52565 (grub_kernel_image_size): Likewise.
52566 (GRUB_MODULE_MAGIC): New constant.
52567 (grub_module_info): New structure.
52568 (grub_arch_modules_addr): New prototype.
52569 (grub_get_end_addr): Remove prototype.
52570 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52571 * include/grub/powerpc/ieee1275/kernel.h: New file.
52572 * include/grub/util/misc.h (grub_util_get_fp_size): New
52573 prototype.
52574 (grub_util_read_at): Likewise.
52575 (grub_util_write_image_at): Likewise.
52576 * kern/main.c (grub_get_end_addr): Remove function.
52577 (grub_load_modules): Call grub_arch_modules_addr instead of using
52578 grub_end_addr. Look for a grub_module_info struct in memory. Use
52579 the grub_module_info fields instead of calling grub_get_end_addr
52580 as loop conditions. Move grub_add_unused_region code here.
52581 (grub_add_unused_region): Remove function.
52582 * kern/i386/pc/init.c: Include grub/cache.h.
52583 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52584 one call to add_mem_region.
52585 (grub_arch_modules_addr): New function.
52586 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52587 (grub_total_module_size): Likewise.
52588 Include grub/machine/kernel.h.
52589 (grub_arch_modules_addr): New function.
52590 * util/grub-emu.c (grub_end_addr): Remove variable.
52591 (grub_total_module_size): Likewise.
52592 (grub_arch_modules_addr): New function.
52593 * util/misc.c: Include unistd.h.
52594 (grub_util_get_fp_size): New function.
52595 (grub_util_read_at): Likewise.
52596 (grub_util_write_image_at): Likewise.
52597 (grub_util_read_image): Call grub_util_read_at.
52598 (grub_util_write_image): Call grub_util_write_image_at.
52599 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52600 additional memory in kernel_img for a struct grub_module_info.
52601 Fill in that grub_module_info.
52602 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52603
458786f8 526042005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52605
52606 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52607 New function.
52608 * include/grub/powerpc/ieee1275/ieee1275.h
52609 (grub_ieee1275_milliseconds): New prototype.
52610 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52611 Change to 1000.
52612 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52613 grub_ieee1275_milliseconds.
52614
ac507d1b 526152005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52616
52617 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52618 variable.
52619 (find_options): New function.
52620 (cmain): Call find_options.
52621 * include/grub/powerpc/ieee1275/ieee1275.h
52622 (grub_ieee1275_realmode): New extern variable.
52623 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52624 grub_map if grub_ieee1275_realmode is false.
52625
6b8fd1c4 526262004-12-29 Marco Gerards <metgerards@student.han.nl>
52627
52628 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52629 lines are inserted and make it work like readline. Reported by
52630 Vincent Pelletier <subdino2004@yahoo.fr>.
52631
8514a1e0 526322004-12-28 Marco Gerards <metgerards@student.han.nl>
52633
52634 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52635
52636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52637 `kern/powerpc/cache.S'.
52638
924b6140 526392004-12-27 Marco Gerards <metgerards@student.han.nl>
52640
52641 * genmk.rb: Handle the `Program' class in the main loop. Written
52642 by Johan Rydberg <jrydberg@gnu.org>.
52643 (Program): New class.
52644 (programs): New variable.
52645 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52646 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52647 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52648 (help_arch): Function removed.
52649 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52650 `powerpc/libgcc.h' and `loader.h'.
52651 (pkgdata_PROGRAMS): New variable.
52652 (sbin_UTILITIES): Variable removed.
52653 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52654 (grubof_SOURCES): Variable re-defined so it only includes the
52655 core functionality.
52656 (grubof_CFLAGS): Remove `-DGRUBOF'.
52657 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52658 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52659 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52660 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52661 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52662 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52663 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52664 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52665 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52666 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52667 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52668 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52669 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52670 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52671 (pc_mod_CFLAGS): New variables.
52672 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52673 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52674 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52675 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52676 Moved from here...
52677 * include/grub/i386/pc/init.h (grub_os_area_addr)
52678 (rub_os_area_size): ... to here.
52679 * include/grub/powerpc/ieee1275/ieee1275.h
52680 (grub_ieee1275_entry_fn): Export symbol.
52681 * include/grub/powerpc/ieee1275/init.h: New file.
52682 * include/grub/powerpc/libgcc.h: Likewise.
52683 * include/grub/cache.h: Likewise.
52684 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52685 <hollis@penguinppc.org>.
52686 * kern/dl.c: Include <grub/cache.h>.
52687 (grub_dl_flush_cache): New function.
52688 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52689 for this module.
52690 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52691 (grub_console_init): Removed prototypes.
52692 (grub_machine_init): Don't initialize the modules anymore.
52693 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52694 static.
52695 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52696 Macro undef removed.
52697 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52698 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52699 relocation `R_PPC_REL32'. Return an error when the relocation is
52700 unknown.
52701 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52702 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52703 * util/misc.c (grub_arch_sync_caches): Likewise.
52704
e4b47e0c 527052004-12-19 Marco Gerards <metgerards@student.han.nl>
52706
52707 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52708 `symlist.c', add `grubof_symlist.c'.
52709 (symlist.c): Variable removed.
52710 (grubof_HEADERS): Variable added.
52711 (grubof_symlist.c): New target.
52712 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52713 `kernel_img_HEADERS'.
52714 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52715 * kern/powerpc/dl.c: New file.
52716 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52717 Function removed.
52718 (grub_arch_dl_relocate_symbols): Likewise.
52719 (grub_register_exported_symbols): Likewise.
52720
4ceb3636 527212004-12-13 Marco Gerards <metgerards@student.han.nl>
52722
52723 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52724 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52725 to fail instead. Reported by Vincent Pelletier
52726 <subdino2004@yahoo.fr>.
52727
52728 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52729 it is not allocated. Reported by Vincent Pelletier
52730 <subdino2004@yahoo.fr>.
52731
52732 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52733 output so the output looks better.
f19dbdb7 52734
3f1578fe 527352004-12-04 Marco Gerards <metgerards@student.han.nl>
52736
52737 Modulize the partition map support and add support for the amiga
52738 partition map.
f19dbdb7 52739
3f1578fe 52740 * commands/ls.c: Include <grub/partition.h> instead of
52741 <grub/machine/partition.h>.
52742 * kern/disk.c: Likewise.
52743 * kern/rescue.c: Likewise.
52744 * loader/i386/pc/chainloader.c: Likewise.
52745 * normal/cmdline.c: Likewise.
52746 * kern/powerpc/ieee1275/init.c: Likewise.
52747 (grub_machine_init): Call `grub_pc_partition_map_init',
52748 `grub_amiga_partition_map_init' and
52749 `grub_apple_partition_map_init'.
52750 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52751 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52752 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52753 `partition.h' and `pc_partition.h'.
52754 (grub_setup_SOURCES): Remove
52755 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52756 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52757 (grub_emu_SOURCES): Likewise.
52758 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52759 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52760 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52762 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52763 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52764 (grubof_SOURCES): Likewise.
52765 * disk/i386/pc/partition.c: File removed.
52766 * disk/powerpc/ieee1275/partition.c: Likewise.
52767 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52768 * include/grub/i386/pc/partition.h: Likewise.
52769 * kern/partition.c: New file.
52770 * partmap/amiga.c: Likewise.
52771 * partmap/apple.c: Likewise.
52772 * partmap/pc.c: Likewise.
52773 * include/grub/partition.h: Likewise..
52774 * include/grub/pc_partition.h: Likewise.
52775 * util/grub-emu.c: Include <grub/partition.h> instead of
52776 <grub/machine/partition.h>.
52777 (main): Call `grub_pc_partition_map_init',
52778 `grub_amiga_partition_map_init' and
52779 `grub_apple_partition_map_init' and deinitialize afterwards.
52780 * util/i386/pc/biosdisk.c: Include `#include
52781 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52782 `<grub/machine/partition.h>'.
52783 * util/i386/pc/grub-setup.c: Likewise.
52784 * util/i386/pc/biosdisk.c: Likewise.
52785 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52786 partition information in case of a PC partition.
52787 * util/i386/pc/grub-setup.c: Include `#include
52788 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52789 `<grub/machine/partition.h>'.
52790 (setup): Only access the PC specific partition information in case
52791 of a PC partition.
52792
0ef4ced9 527932004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52794
0ef4ced9 52795 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52796 (grub_longjmp): Likewise.
52797 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52798 20.
52799 * normal/powerpc/setjmp.S: New file.
52800 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52801 `normal/powerpc/setjmp.S'.
52802 (grubof_CFLAGS): Add `-DGRUBOF'.
52803 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52804 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52805
19950e29 528062004-11-16 Marco Gerards <metgerards@student.han.nl>
52807
52808 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52809 property named `name'. Correctly handle the error returned by
52810 `grub_ieee1275_finddevice' if a device can not be opened.
52811
a2fea427 528122004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52813
52814 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52815 `actual' for negativity.
52816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52817 kern/fshelp.c.
52818
41ea0ea3 528192004-11-01 Marco Gerards <metgerards@student.han.nl>
52820
52821 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52822 (PAGE_OFFSET): New macro.
52823 (CRTC_ADDR_PORT): Likewise.
52824 (CRTC_DATA_PORT): Likewise.
52825 (START_ADDR_HIGH_REGISTER): Likewise.
52826 (START_ADDR_LOW_REGISTER): Likewise.
52827 (GRAPHICS_ADDR_PORT): Likewise.
52828 (GRAPHICS_DATA_PORT): Likewise.
52829 (READ_MAP_REGISTER): Likewise.
52830 (INPUT_STATUS1_REGISTER): Likewise.
52831 (INPUT_STATUS1_VERTR_BIT): Likewise.
52832 (page): New variable.
52833 (wait_vretrace): New function.
52834 (set_read_map): Likewise.
52835 (set_start_address): Likewise.
52836 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52837 the right page.
52838 (check_vga_mem): Take the page into account.
52839 (write_char): Likewise.
52840 (write_cursor): Likewise.
52841 (scroll_up): Likewise. Copy the page to the page that is not
52842 shown and switch between both pages.
52843 (grub_vga_putchar): Fix off by one error.
52844 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52845 account.
52846
ad0bd20b 528472004-11-01 Marco Gerards <metgerards@student.han.nl>
52848
52849 Add support for iso9660 (including rockridge).
f19dbdb7 52850
ad0bd20b 52851 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52852 (iso9660_mod_SOURCES): New variable.
52853 (iso9660_mod_CFLAGS): Likewise.
52854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52855 * include/grub/fs.h (grub_iso9660_init): New prototype.
52856 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52857 * fs/iso9660.c: New file.
52858
52859 * include/grub/misc.h (grub_strncat): New prototype.
52860 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52861
ad0bd20b 52862 * fs/hfs.c (grub_hfs_mount): Translate the error
52863 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52864 * fs/jfs.c (grub_jfs_mount): Likewise.
52865 * fs/ufs.c (grub_ufs_mount): Likewise.
52866
a5477a59 528672004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52868
52869 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52870 which initialized BAT registers.
52871 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52872 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52873 Move from here...
52874 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52875 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52876 ... to here.
52877 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52878 (grub_mapclaim): Likewise.
52879 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52880 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52881 hand.
52882
9304c1f8 528832004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52884
52885 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52886 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52887 -ffreestanding and -msoft-float.
52888
86f4ae25 528892004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52890
52891 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52892 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52893 set in grub_ieee1275_flags.
52894
38912228 528952004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52896
52897 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52898 prototype.
52899 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52900 grub_console_init first.
52901 Change the memory range used for grub_ieee1275_claim and
52902 grub_mm_init_region.
52903 Print an error message if the claim fails.
52904 Include <grub/misc.h>.
52905
d1923dc8 529062004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52907
52908 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52909 Call grub_children_iterate for device nodes of type `scsi',
52910 `ide', or `ata'.
52911 (grub_ofdisk_open): Remove manual device alias resolution.
52912 Fix memory leak when device cannot be opened.
f19dbdb7 52913 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52914 (grub_children_iterate): New prototype.
52915 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52916 New function.
52917 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52918 Return -1 if args.size was -1.
52919
4512e4f3 529202004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52921
52922 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52923 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52924 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52925 Open Firmware's memory for it; claim memory from _start to _end.
52926 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52927 (_end): New extern.
52928 (_start): Zero BSS from __bss_start to _end.
52929 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52930 New extern.
52931 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52932
4d61feb0 529332004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52934
ad0bd20b 52935 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52936 -1 if args.base was -1.
4d61feb0 52937
026fa2f9 529382004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52939
52940 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52941 escape sequence instead of a literal ^L. Also call
52942 grub_ofconsole_gotoxy.
52943
9f2220ef 529442004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52945
52946 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52947 void * arguments to grub_addr_t. All callers updated. Also make
52948 the `result' argument optional.
52949 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52950 All callers updated.
52951
8a572cd7 529522004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52953
52954 * commands/ls.c (grub_ls_list_files): Use the string following the
52955 initial ')', if present, as the filesystem path.
52956 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52957
52958 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52959
18aa81f2 529602004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52961
52962 Make the source code of the menu interface more readable.
f19dbdb7 52963
18aa81f2 52964 * normal/menu.c: Include grub/mm.h.
52965 (TERM_WIDTH): New macro.
52966 (TERM_HEIGHT): Likewise.
52967 (TERM_INFO_HEIGHT): Likewise.
52968 (TERM_MARGIN): Likewise.
52969 (TERM_SCROLL_WIDTH): Likewise.
52970 (TERM_TOP_BORDER_Y): Likewise.
52971 (TERM_LEFT_BORDER_X): Likewise.
52972 (TERM_BORDER_WIDTH): Likewise.
52973 (TERM_MESSAGE_HEIGHT): Likewise.
52974 (TERM_BORDER_HEIGHT): Likewise.
52975 (TERM_NUM_ENTRIES): Likewise.
52976 (TERM_FIRST_ENTRY_Y): Likewise.
52977 (TERM_ENTRY_WIDTH): Likewise.
52978 (TERM_CURSOR_X): Likewise.
52979 (draw_border): Use macros instead of magic numbers.
52980 (print_entry): Likewise.
52981 (print_entries): Likewise.
52982 (run_menu): Likewise. Also, handle the key 'e'.
52983 (run_menu_entry): Ignore empty command lines.
52984 (print_message): Added a new argument EDIT. If EDIT is true,
52985 print a different message.
52986 (init_page): Likewise.
52987 (edit_menu_entry): New function. Not implemented yet.
52988
b47efe30 529892004-09-17 Marco Gerards <metgerards@student.han.nl>
52990
52991 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52992 can be loaded from normal mode.
f19dbdb7 52993
b47efe30 52994 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52995 `multiboot.mod'.
52996 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52997 (multiboot_mod_CFLAGS): New variables.
52998 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52999 * loader/i386/pc/multiboot_normal.c: Likewise.
53000
b47efe30 53001 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53002 attribute `unused'.
f19dbdb7 53003
b47efe30 53004 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53005 `fdiro' to read the mode information from instead of `diro'.
53006
53007 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53008 looking up a symlink.
53009
53010 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53011 macro.
53012 * normal/command.c (grub_command_execute): Don't parse the
53013 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53014 flags of the command.
53015
53016 * normal/menu.c (grub_menu_run): Fix typo.
53017
da75ac71 530182004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53019
53020 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53021
53022 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53023 `y + 1' instead of `y - 1'.
53024
53025 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53026
062b24c2 530272004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53028
53029 From Hollis Blanchard <hollis@penguinppc.org>:
53030 * kern/misc.c (memmove): New alias for grub_memmove.
53031 (memcmp): New alias for grub_memcmp.
53032 (memset): New alias for grub_memset.
f19dbdb7 53033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53034 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53035 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53036 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53037
8ddad845 530382004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53039
53040 Added normal mode command `chainloader' as module chain.mod, which
53041 depends on normal.mod and _chain.mod.
f19dbdb7 53042
8ddad845 53043 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53044 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53045 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53046 Deleted prototype.
53047 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53048 but arguments parsing moved to ...
53049 (grub_chainloader_cmd): ... here. New function.
53050 * include/grub/i386/pc/chainloader.h: New file.
53051 * loader/i386/pc/chainloader_normal.c: Likewise.
53052
2c1f4ce3 530532004-09-11 Marco Gerards <metgerards@student.han.nl>
53054
53055 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53056 (grub_mkimage_LDFLAGS): Likewise.
53057 (grub_emu_SOURCES): Likewise.
53058 (kernel_img_HEADERS): Added fshelp.h.
53059 * fs/ext2.c: Include <grub/fshelp.h>.
53060 (FILETYPE_REG): New macro.
53061 (FILETYPE_INO_REG): Likewise.
53062 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53063 Changed all users.
53064 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53065 all users.
53066 (grub_fshelp_node): New struct.
53067 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53068 to a pointer.
53069 (grub_ext2_get_file_block): Removed function.
53070 (grub_ext2_read_block): New function.
53071 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53072 This function was written.
53073 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53074 (grub_ext2_find_file): Removed function.
53075 (grub_ext2_read_symlink): New function.
53076 (grub_ext2_iterate_dir): Likewise.
53077 (grub_ext2_open): Rewritten.
53078 (grub_ext2_dir): Rewritten.
53079 * include/grub/fshelp.h: New file.
53080 * fs/fshelp.c: Likewise.
53081
3c52136a 530822004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53083
53084 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53085 (print_message): Add a missing newline.
53086 (run_menu): Added timeout support.
53087 (run_menu_entry): New local function.
53088 (grub_menu_run): Added support for booting.
53089
53090 * kern/loader.c (grub_loader_is_loaded): New function.
53091
53092 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53093 (grub_get_rtc): Exported.
53094
53095 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53096 (grub_get_rtc): Exported.
53097
53098 * include/grub/normal.h (struct grub_command_list): Remove
53099 constant from the member `command'.
53100
53101 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53102
53103 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53104
53105 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53106
aa033560 531072004-08-28 Marco Gerards <metgerards@student.han.nl>
53108
53109 Add support for the JFS filesystem.
53110
53111 * fs/jfs.c: New file.
53112 * include/grub/fs.h (grub_jfs_init): New prototype.
53113 (grub_jfs_fini): New prototype.
53114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53115 (grub_emu_SOURCES): Likewise.
53116 (pkgdata_MODULES): Add jfs.mod.
53117 (jfs_mod_SOURCES): New variable.
53118 (jfs_mod_CFLAGS): Likewise.
53119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53120 (grubof_SOURCES): Likewise.
53121 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53122
53123 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53124 endian to the host endian.
53125 (grub_fat_utf16_to_utf8): Move function from there...
53126 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53127 the endianness of the source string anymore.
aa033560 53128 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53129
94bc45af 531302004-08-24 Marco Gerards <metgerards@student.han.nl>
53131
53132 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53133 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53134 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53135 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53136
94bc45af 53137 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53138 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53139 for `node_found' and `it_dir'.
53140 (grub_hfs_dir): Add prototype for `dir_hook'.
53141
53142 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53143 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53144 and `indir32' to silence a gcc warning.
53145
53146 * include/grub/fs.h (grub_hfs_init): New prototype.
53147 (grub_hfs_fini): Likewise.
f19dbdb7 53148
53149
97543f08 531502004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53151
53152 Each disk device has its own id now. This is useful to make use
53153 of multiple disk devices.
f19dbdb7 53154
97543f08 53155 * include/grub/disk.h (grub_disk_dev_id): New enum.
53156 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53157 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53158
53159 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53160 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53161
53162 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53163 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53164
53165 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53166 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53167
53168 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53169 "id" which is used by the cache manager.
53170
53171 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53172 of just "GRUB".
53173
64372eb4 531742004-08-18 Marco Gerards <metgerards@student.han.nl>
53175
53176 * fs/hfs.c: New file.
53177 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53178 (grub_emu_SOURCES): Likewise.
53179 (pkgdata_MODULES): Add hfs.mod.
53180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53181 (grubof_SOURCES): Likewise.
53182 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53183
53184 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53185 * kern/misc.c (grub_strncasecmp): Add function.
53186
cc61b58f 531872004-08-14 Marco Gerards <metgerards@student.han.nl>
53188
53189 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53190 with parentheses.
53191
53192 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53193 (grub_ext2_dir): In case the directory entry type is unknown, read
53194 it from the inode.
53195
0ef123f6 531962004-08-02 Peter Bruin <pjbruin@dds.nl>
53197
53198 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53199 grub_load_linux instead of grub_rescue_cmd_linux as second
53200 argument of grub_rescue_register_command.
53201
53202 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53203
a447c5df 532042004-07-27 Marco Gerards <metgerards@student.han.nl>
53205
53206 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53207 function.
53208 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53209 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53210 `loader/powerpc/ieee1275/linux.c',
53211 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53212 * include/grub/powerpc/ieee1275/ieee1275.h
53213 (grub_ieee1275_release): New prototype.
53214 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53215 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53216 normal, boot, linux and linux_normal.
53217 * loader/powerpc/ieee1275/linux.c: New file.
53218 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53219
5a9e3546 532202004-07-12 Marco Gerards <metgerards@student.han.nl>
53221
53222 * normal/arg.c (grub_arg_parse): Correct error handling after
53223 reallocating the argumentlist (check if `argl' is not null instead
53224 of checking if `args' is not null).
53225 * kern/mm.c (grub_realloc): Return the same pointer when using the
53226 same region, instead of returning the header address.
53227
e15199cb 532282004-07-11 Marco Gerards <metgerards@student.han.nl>
53229
53230 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53231 one block instead of two when looking for the initial partition.
53232 (grub_partition_probe): Initialize the local variable `p' with 0.
53233 Use base 10 for the grub_strtoul call.
53234 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53235 need for one local variable.
53236 (grub_strtoul): Don't add the new value to `num', instead of that
53237 just assign it.
53238
020616c2 532392004-07-11 Marco Gerards <metgerards@student.han.nl>
53240
53241 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53242 (pxeboot_img_SOURCES): New variable.
53243 (pxeboot_img_ASFLAGS): Likewise.
53244 (pxeboot_img_LDFLAGS): Likewise.
53245 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53246 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53247 <lode_leroy@hotmail.com>.
53248
6c51eb64 532492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53250
53251 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53252 there was no input.
53253
cfb12aff 532542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53255
53256 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53257 the history buffer logic.
53258
6eabba74 532592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53260
53261 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53262 (FILETYPE_INO_SYMLINK): New macros.
53263 (grub_ext2_find_file): Check if the node is a directory using the
53264 inode stat information instead of using the filetype in the
53265 dirent. Exclude the first character of an absolute symlink.
53266 (grub_ext2_dir): Mask out the filetype part of the mode member of
53267 the inode.
53268
66e19ef8 532692004-05-24 Marco Gerards <metgerards@student.han.nl>
53270
53271 Add support for UFS version 1 and 2. Add support for the minix
53272 filesystem version 1 and 2, both the variants with 14 and 30 long
53273 filenames.
f19dbdb7 53274
66e19ef8 53275 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53276 fs/minix.c.
53277 (grub_emu_SOURCES): Likewise.
53278 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53279 (ufs_mod_SOURCES): New variable.
53280 (ufs_mod_CFLAGS): Likewise.
53281 (minix_mod_SOURCES): Likewise.
53282 (minix_mod_CFLAGS): Likewise.
53283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53284 fs/minix.c.
53285 (grubof_SOURCES): Likewise.
53286 * fs/ufs.c: New file.
53287 * fs/minix.c: New file.
53288 * include/grub/fs.h (grub_ufs_init): New prototype.
53289 (grub_ufs_fini): Likewise.
53290 (grub_minix_init): Likewise.
53291 (grub_minix_fini): Likewise.
53292 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53293 minix fs.
53294
cc2e748a 532952004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53296
53297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53298 commands/ls.c, commands/terminal.c, commands/boot.c,
53299 commands/cmp.c and commands/cat.c.
53300 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53301
53302 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53303 "env.h"
53304
4b13b216 533052004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53306
53307 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53308 and grub_, respectively. Because the conversion is trivial and
53309 mechanical, I omit the details here. Please refer to the CVS
53310 if you need more information.
53311
6a142551 533122004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53313
53314 * include/pupa: Renamed to ...
53315 * include/grub: ... this.
53316 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53317 * util/i386/pc/grub-mkimage.c: ... this.
53318 * util/i386/pc/pupa-setup.c: Renamed to ...
53319 * util/i386/pc/grub-setup.c: ... this.
53320 * util/pupa-emu.c: Renamed to ...
53321 * util/grub-emu.c: ... this.
53322
e56cdf21 533232004-03-29 Marco Gerards <metgerards@student.han.nl>
53324
53325 Add support for the newworld apple macintosh (PPC). This has been
53326 tested on the powerbook 2000 only. It only adds support for
53327 generic ieee1275 functions, console and disk support. This should
53328 be easy to port to other architectures with support for Open
53329 Firmware.
f19dbdb7 53330
e56cdf21 53331 * configure.ac: Accept the powerpc as host_cpu. In the case of
53332 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53333 specific tests are only executed while building for the i386.
53334 Inverse test for crosscompile.
53335 * genmk.rb (Utility): Allow assembler files.
53336 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53337 * conf/powerpc-ieee1275.rmk: New file.
53338 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53339 * disk/powerpc/ieee1275/partition.c: Likewise.
53340 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53341 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53342 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53343 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53344 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53345 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53346 * include/pupa/powerpc/ieee1275/loader.h
53347 * include/pupa/powerpc/setjmp.h: Likewise.
53348 * include/pupa/powerpc/types.h: Likewise.
53349 * kern/powerpc/ieee1275/init.c: Likewise.
53350 * kern/powerpc/ieee1275/openfw.c: Likewise.
53351 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53352
53353 These files were written by Johan Rydberg
53354 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53355
e56cdf21 53356 * boot/powerpc/ieee1275/cmain.c: New file.
53357 * boot/powerpc/ieee1275/crt0.S: Likewise.
53358 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53359 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53360
8c8cc205 533612004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53362
53363 * Makefile.in: Update copyright.
53364 * genmodsrc.sh: Likewise.
53365 * gensymlist.sh: Likewise.
53366 * term/i386/pc/vga.c: Indent correctly.
53367
53368 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53369 bugreporting address.
53370 * util/i386/pc/pupa-setup.c (usage): Likewise,
53371 (main): Call pupa_ext2_init and pupa_ext2_fini.
53372
f19dbdb7 53373 * fs/fat.c (log2): Renamed to ...
8c8cc205 53374 (fat_log2): ... this.
53375 All callers changed.
53376 * kern/misc.c (memcpy): Alias to pupa_memmove.
53377 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53378 lvalue cast.
53379 * util/console.c (pupa_ncurses_fini): Return 0.
53380
53381 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53382 Move fail label here.
53383 [__GNU__]: Don't warn when using stat.
53384 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53385 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53386 long int. Use strtol instead of strtoul.
f19dbdb7 53387
db1771cf 533882004-03-14 Marco Gerards <metgerards@student.han.nl>
53389
53390 * commands/boot.c: New file.
53391 * commands/cat.c: Likewise.
53392 * commands/cmp.c: Likewise.
53393 * commands/ls.c: Likewise.
53394 * commands/terminal.c: Likewise.
53395 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53396 (pupa_register_command): Changed interface to match the new
53397 argument parser.
53398 (pupa_command_execute): Changed (almost rewritten) so it uses
53399 pupa_split_command. Added support for setting variables using the
53400 syntax `foo=bar'.
53401 (rescue_command): Changed to work with the new argument parser.
53402 (terminal_command): Moved from here to commands/terminal.c.
53403 (set_command): New function.
53404 (unset_command): New function.
53405 (insmod_command): New function.
53406 (rmmod_command): New function.
53407 (lsmod_command): New function.
53408 (pupa_command_init): Don't initialize the command terminal
53409 anymore. Initialize the commands set, unset, insmod, rmmod and
53410 lsmod.
53411 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53412 (kernel_img_HEADERS): Add arg.h and env.h.
53413 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53414 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53415 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53416 normal/arg.c.
53417 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53418 terminal.mod.
53419 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53420 (boot_mod_SOURCES): New variable.
53421 (terminal_mod_SOURCES): Likewise.
53422 (ls_mod_SOURCES): Likewise.
53423 (cmp_mod_SOURCES): Likewise.
53424 (cat_mod_SOURCES): Likewise.
53425
53426 * normal/arg.c: New file.
53427 * kern/env.c: Likewise.
53428 * include/pupa/arg.h: Likewise.
53429 * include/pupa/env.h: Likewise.
53430 * font/manager.c (font_command): Changed to match argument parsing
53431 interface changes.
53432 (PUPA_MOD_INIT): Likewise.
53433 * hello/hello.c (pupa_cmd_hello): Likewise.
53434 (PUPA_MOD_INIT): Likewise.
53435 * include/pupa/disk.h: Include <pupa/device.h>.
53436 (pupa_print_partinfo): New prototype.
53437 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53438 (pupa_dl_get_prefix): Likewise.
53439 * include/pupa/misc.h: Include <pupa/err.h>.
53440 (pupa_isgraph): New prototype.
53441 (pupa_isdigit): Likewise.
53442 (pupa_split_cmdline): Likewise.
53443 * include/pupa/normal.h: Include <pupa/arg.h>.
53444 (pupa_command): Changed the prototype of the member `func' to
53445 match the argument parsing interface. Added member `options'.
53446 (pupa_register_command): Updated to match function.
53447 (pupa_arg_parse): New prototype.
53448 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53449 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53450 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53451 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53452 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53453 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53454 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53455 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53456 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53457 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53458 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53459 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53460 * kern/disk.c: Include <pupa/file.h>.
53461 (pupa_print_partinfo): New function.
53462 * kern/dl.c: Include <pupa/env.h>.
53463 (pupa_dl_dir): Variable removed.
53464 (pupa_dl_load): Use the environment variable `prefix' instead of
53465 the variable pupa_dl_dir.
53466 (pupa_dl_set_prefix): Function removed.
53467 (pupa_dl_get_prefix): Likewise.
53468 * kern/i386/pc/init.c: Include <pupa/env.h>.
53469 (pupa_machine_init): Use the environment variable `prefix' instead of
53470 using pupa_dl_set_prefix to set the prefix.
53471 * kern/main.c: Include <pupa/env.h>.
53472 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53473 using pupa_dl_get_prefix to get the prefix.
53474 * kern/misc.c: Include <pupa/env.h>.
53475 (pupa_isdigit): New function.
53476 (pupa_isgraph): Likewise.
53477 (pupa_ftoa): Likewise.
53478 (pupa_vsprintf): Added support for printing values of the type
53479 `double'. Make it possible to format variable output when using
53480 formatting like `%1.2%f'.
53481 (pupa_split_cmdline): New function.
53482 * kern/rescue.c: Include <pupa/env.h>.
53483 (next_word): Removed function.
53484 (pupa_rescue_cmd_prefix): Likewise.
53485 (pupa_rescue_cmd_set): New function.
53486 (pupa_rescue_cmd_unset): New function.
53487 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53488 split the command line instead of splitting it here. Added
53489 support for setting variables using the syntax `foo=bar'. Don't
53490 initialize the prefix command anymore. Initialized the set and
53491 unset commands.
53492 * normal/cmdline.c: Include <pupa/env.h>.
53493 (pupa_tab_complete): Added prototypes for print_simple_completion,
53494 print_partition_completion, add_completion, iterate_commands,
53495 iterate_dev, iterate_part and iterate_dir. Moved code to print
53496 partition information from here to kern/disk.c.
fe6b695a 53497 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53498 * normal/main.c: Include <pupa/env.h>.
53499 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53500 instead of using pupa_dl_get_prefix to get the prefix.
53501 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53502 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53503 warning.
53504 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53505 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53506 ((unused))' to silence a gcc warning.
53507 (pupa_vga_setcolor): Likewise.
53508 (debug_command): Changed to match argument parsing
53509 interface changes.
53510 * util/pupa-emu.c: Include <pupa/env.h>.
53511 (options): Added 0's for unused fields to silence a gcc warning.
53512 (argp): Likewise.
53513 (main): Use the environment variable `prefix' instead of using
53514 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53515 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53516 and terminal.
53517
53518 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53519 * util/misc.c: Include <malloc.h>.
53520 (pupa_malloc): Rewritten so errors are correctly reported.
53521 (pupa_realloc): Likewise.
53522 (pupa_memalign): Likewise.
53523 (pupa_mm_init_region): Declare unused variables with
53524 `__attribute__ ((unused))' to silence a gcc warning.
53525 * normal/i386/setjmp.S: Remove tab at the end of the file to
53526 silence a gcc warning.
53527 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53528 variables with `__attribute__ ((unused))' to silence a gcc
53529 warning.
53530 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53531 local variable i unsigned to silence a gcc warning.
53532
53533 * kern/term.c: Include <pupa/misc.h>.
53534 (pupa_more_lines): New variable.
53535 (pupa_more): Likewise.
53536 (pupa_putcode): When the pager is active pause at the end of every
53537 screen.
53538 (pupa_set_more): New function.
53539 * include/pupa/term.h (pupa_set_more): New prototype.
53540
53541
3b1139cb 535422004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53543
53544 Now this project is GRUB 2 rather than PUPA. The location of
53545 the CVS repository was moved to GRUB's.
f19dbdb7 53546
3b1139cb 53547 * configure.ac: Use bug-grub as the reporting address.
53548 Use GRUB instead of PUPA.
53549 Change the version number to 1.90.
53550
8367695c 535512004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53552
53553 * genkernsyms.sh: Updated copyright information.
53554 * genmk.rb: Likewise.
53555 * genmodsrc.sh: Likewise.
53556 * gensymlist.sh: Likewise.
53557 * boot/i386/pc/boot.S: Likewise.
53558 * boot/i386/pc/diskboot.S: Likewise.
53559 * disk/i386/pc/biosdisk.c: Likewise.
53560 * disk/i386/pc/partition.c: Likewise.
53561 * font/manager.c: Likewise.
53562 * fs/ext2.c: Likewise.
53563 * fs/fat.c: Likewise.
53564 * include/pupa/boot.h: Likewise.
53565 * include/pupa/device.h: Likewise.
53566 * include/pupa/disk.h: Likewise.
53567 * include/pupa/dl.h: Likewise.
53568 * include/pupa/elf.h: Likewise.
53569 * include/pupa/err.h: Likewise.
53570 * include/pupa/file.h: Likewise.
53571 * include/pupa/font.h: Likewise.
53572 * include/pupa/fs.h: Likewise.
53573 * include/pupa/kernel.h: Likewise.
53574 * include/pupa/loader.h: Likewise.
53575 * include/pupa/misc.h: Likewise.
53576 * include/pupa/mm.h: Likewise.
53577 * include/pupa/net.h: Likewise.
53578 * include/pupa/normal.h: Likewise.
53579 * include/pupa/rescue.h: Likewise.
53580 * include/pupa/setjmp.h: Likewise.
53581 * include/pupa/symbol.h: Likewise.
53582 * include/pupa/term.h: Likewise.
53583 * include/pupa/types.h: Likewise.
53584 * include/pupa/i386/setjmp.h: Likewise.
53585 * include/pupa/i386/types.h: Likewise.
53586 * include/pupa/i386/pc/biosdisk.h: Likewise.
53587 * include/pupa/i386/pc/boot.h: Likewise.
53588 * include/pupa/i386/pc/console.h: Likewise.
53589 * include/pupa/i386/pc/init.h: Likewise.
53590 * include/pupa/i386/pc/kernel.h: Likewise.
53591 * include/pupa/i386/pc/linux.h: Likewise.
53592 * include/pupa/i386/pc/loader.h: Likewise.
53593 * include/pupa/i386/pc/memory.h: Likewise.
53594 * include/pupa/i386/pc/multiboot.h: Likewise.
53595 * include/pupa/i386/pc/partition.h: Likewise.
53596 * include/pupa/i386/pc/time.h: Likewise.
53597 * include/pupa/i386/pc/vga.h: Likewise.
53598 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53599 * include/pupa/util/getroot.h: Likewise.
53600 * include/pupa/util/misc.h: Likewise.
53601 * include/pupa/util/resolve.h: Likewise.
53602 * kern/device.c: Likewise.
53603 * kern/disk.c: Likewise.
53604 * kern/dl.c: Likewise.
53605 * kern/err.c: Likewise.
53606 * kern/file.c: Likewise.
53607 * kern/fs.c: Likewise.
53608 * kern/loader.c: Likewise.
53609 * kern/main.c: Likewise.
53610 * kern/misc.c: Likewise.
53611 * kern/mm.c: Likewise.
53612 * kern/rescue.c: Likewise.
53613 * kern/term.c: Likewise.
53614 * kern/i386/dl.c: Likewise.
53615 * kern/i386/pc/init.c: Likewise.
53616 * kern/i386/pc/lzo1x.S: Likewise.
53617 * kern/i386/pc/startup.S: Likewise.
53618 * loader/i386/pc/chainloader.c: Likewise.
53619 * loader/i386/pc/linux.c: Likewise.
53620 * loader/i386/pc/multiboot.c: Likewise.
53621 * normal/cmdline.c: Likewise.
53622 * normal/command.c: Likewise.
53623 * normal/main.c: Likewise.
53624 * normal/menu.c: Likewise.
53625 * normal/i386/setjmp.S: Likewise.
53626 * term/i386/pc/console.c: Likewise.
53627 * term/i386/pc/vga.c: Likewise.
53628 * util/console.c: Likewise.
53629 * util/genmoddep.c: Likewise.
53630 * util/misc.c: Likewise.
53631 * util/pupa-emu.c: Likewise.
53632 * util/resolve.c: Likewise.
53633 * util/unifont2pff.rb: Likewise.
53634 * util/i386/pc/biosdisk.c: Likewise.
53635 * util/i386/pc/getroot.c: Likewise.
53636 * util/i386/pc/pupa-mkimage.c: Likewise.
53637 * util/i386/pc/pupa-setup.c: Likewise.
53638
e6eced71 536392004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53640
53641 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53642 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53643 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53644 reading and reset it after reading.
53645 (pupa_ext2_close): Return PUPA_ERR_NONE.
53646
53647 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53648 Correct value.
53649 (struct linux_kernel_header): Add kernel_version and
53650 initrd_addr_max.
53651 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53652 pupa_file_read succeeds.
53653 (pupa_rescue_cmd_initrd): Implement.
53654
5aded270 536552003-12-03 Marco Gerards <metgerards@student.han.nl>
53656
53657 * fs/ext2.c (pupa_ext2_label): New function.
53658 (pupa_ext2_fs): Added label.
53659 * fs/fat.c (pupa_fat_label): New function.
53660 (pupa_fat_fs): Added label.
53661 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53662
53663 * kern/misc.c (pupa_strndup): New function.
53664 * include/pupa/misc.h (pupa_strndup): New prototype.
53665
53666 * include/pupa/normal.h: Include <pupa/err.h>.
53667 (pupa_set_history): New prototype.
53668 (pupa_iterate_commands): New prototype.
53669 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53670 <pupa/disk.h>, <pupa/file.h>.
53671 (hist_size): New variable.
53672 (hist_lines): Likewise.
53673 (hist_end): Likewise.
53674 (hist_used): Likewise.
53675 (pupa_set_history): New function.
53676 (pupa_history_get): Likewise.
53677 (pupa_history_add): Likewise.
53678 (pupa_history_replace): Likewise.
53679 (pupa_tab_complete): Likewise.
53680 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53681 completion shows partitionnames while completing partitions, this
53682 feature was suggested by Jeff Bailey.
53683 * normal/command.c (pupa_iterate_commands): New function.
53684 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53685 (pupa_normal_init): Initialize history buffer.
53686 (PUPA_MOD_INIT): Likewise.
53687 (pupa_normal_fini): Free the history buffer.
53688 (PUPA_MOD_FINI): Likewise.
53689
53690 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53691 key.
53692
53693 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53694 * configure.ac [i386]: Check for regparam bug.
53695 (NESTED_FUNC_ATTR) [! i386]: Defined.
53696
1f7315a3 536972003-11-17 Marco Gerards <metgerards@student.han.nl>
53698
53699 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53700 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53701 (pupa_emu_SOURCES): New variable.
53702 (pupa_emu_LDFLAGS): Likewise.
53703 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53704 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53705 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53706 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53707 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53708 (pupa_jmp_buf): New typedef.
53709 (pupa_setjmp) [PUPA_UTIL]: New macro.
53710 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53711 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53712 (pupa_refresh): New prototype.
53713 * include/pupa/util/getroot.h: New file.
53714 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53715 it.
53716 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53717 (pupa_rescue_cmd_cat): Likewise.
53718 (pupa_rescue_cmd_ls): Likewise.
53719 (pupa_rescue_cmd_testload): Likewise.
53720 (pupa_rescue_cmd_lsmod): Likewise.
53721 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53722 * normal/menu.c (run_menu): Likewise.
53723 * kern/term.c (pupa_cls): Likewise.
53724 (pupa_refresh): New function.
53725 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53726 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53727 * util/console.c: New file.
f19dbdb7 53728
1f7315a3 53729 * util/i386/pc/getroot.c: New file.
53730 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53731 (pupa_putchar): New function.
53732 (pupa_refresh): Likewise.
53733 (xgetcwd): Function moved to ...
53734 (strip_extra_slashes): Likewise.
53735 (get_prefix): Likewise.
f19dbdb7 53736 * util/i386/pc/getroot.c: ... here.
1f7315a3 53737 (find_root_device): Function moved and renamed to...
53738 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53739 Changed all callers.
53740 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53741 and renamed to...
53742 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53743 Changed all callers.
53744 * util/misc.c (pupa_memalign): New function.
53745 (pupa_mm_init_region): Likewise.
53746 (pupa_register_exported_symbols): Likewise.
53747 (pupa_putchar): Function removed.
53748 * util/pupa-emu.c: New file.
53749
9a5c1ade 537502003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53751
53752 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53753 (_multiboot_mod_SOURCES): New variable.
53754 (_multiboot_mod_CFLAGS): Likewise.
53755 * loader/i386/pc/multiboot.c: New file.
53756 * include/pupa/i386/pc/multiboot.h: Likewise.
53757 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53758 (pupa_multiboot_real_boot): New function.
53759 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53760 (pupa_multiboot_real_boot): New prototype.
53761 (pupa_rescue_cmd_multiboot): Likewise
53762 (pupa_rescue_cmd_module): Likewise.
53763
53764 * kern/loader.c (pupa_loader_set): Continue when
53765 pupa_loader_unload_func() fails.
53766 (pupa_loader_unset): New function.
53767 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53768
53769 * kern/misc.c (pupa_stpcpy): New function.
53770 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53771
8e72a9c0 537722003-11-12 Marco Gerards <metgerards@student.han.nl>
53773
53774 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53775 for available extensions.
53776
53777 * include/pupa/i386/pc/time.h: New file.
53778 * kern/disk.c: Include <pupa/machine/time.h>.
53779 (PUPA_CACHE_TIMEOUT): New macro.
53780 (pupa_last_time): New variable.
53781 (pupa_disk_open): Flush the cache when there was a timeout.
53782 (pupa_disk_close): Reset the timer.
53783 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53784 pupa_currticks.
53785 * util/misc.c: Include <sys/times.h>
53786 (pupa_get_rtc): New function.
53787
c4adbd32 537882003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53789
53790 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53791 as blocks.
53792 (pupa_ext2_get_file_block): Use blocks member.
53793
53794 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53795 first block. Return -1 instead of pupa_errno on error.
53796
bfd30f06 537972003-10-27 Marco Gerards <metgerards@student.han.nl>
53798
53799 * README: In the pupa-mkimage example use _chain instead of chain
53800 and ext2 instead of fat.
53801 * TODO: Replace ext2fs with jfs as an example. Add an item for
53802 adding journal playback for ext2fs.
53803 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53804 (pkgdata_MODULES): Added ext2.mod.
53805 (ext2_mod_SOURCES): New variable.
53806 (ext2_mod_CFLAGS): Likewise.
53807 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53808 * include/pupa/misc.h (pupa_strncpy): New prototype.
53809 (pupa_strcat): Likewise.
53810 (pupa_strncmp): Likewise.
53811 * kern/misc.c (pupa_strcat): Enable function.
53812 (pupa_strncpy): New function.
53813 (pupa_strncmp): Likewise.
53814 * fs/ext2.c: New file.
f19dbdb7 53815
bfd30f06 53816 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53817 when the read failed before retrying.
53818 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53819 (_FILE_OFFSET_BITS): Likewise.
53820 * configure.ac: Added AC_SYS_LARGEFILE.
53821
98d15063 538222003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53823
53824 * genmk.rb (PModule#rule): Make sure to get only symbol names
53825 from the output of nm.
59cad637 53826 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53827
18d9c7cd 538282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53829
53830 I forgot to check in these changes for a long time. This adds
53831 incomplete support for VGA console, and this is still very
53832 buggy. Also, a lot of consideration is required for I18N,
53833 UNICODE, and VGA font issues. Therefore, assume that this is
53834 such that "better than nothing".
f19dbdb7 53835
18d9c7cd 53836 * font/manager.c: New file.
53837 * include/pupa/font.h: Likewise.
53838 * include/pupa/i386/pc/vga.h: Likewise.
53839 * term/i386/pc/vga.c: Likewise.
53840 * util/unifont2pff.rb: Likewise.
53841
53842 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53843 (pkgdata_MODULES): Added vga.mod and font.mod.
53844 (vga_mod_SOURCES): New variables.
53845 (vga_mod_CFLAGS): Likewise.
53846 (font_mod_SOURCES): Likewise.
53847 (font_mod_CFLAGS): Likewise.
53848
53849 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53850
53851 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53852 (struct pupa_term): Added init and fini.
18d9c7cd 53853 Changed the argument of putchar to pupa_uint32_t.
53854
53855 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53856 (pupa_console_real_putchar): New prototype.
53857 (pupa_console_putchar): Removed.
53858 (pupa_console_checkkey): Exported.
53859 (pupa_console_getkey): Likewise.
53860
53861 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53862 characters.
53863
53864 * kern/term.c (pupa_term_set_current): Rewritten.
53865 (pupa_putchar): Likewise.
53866 (pupa_putcode): New function.
53867
53868 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53869 (pupa_console_real_putchar): ... this.
53870 (pupa_vga_set_mode): New function.
53871 (pupa_vga_get_font): Likewise.
53872
53873 * normal/command.c: Include pupa/term.h.
53874 (terminal_command): New function.
53875 (pupa_command_init): Register the command "terminal".
53876
53877 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53878 (DISP_UP): Likewise.
53879 (DISP_RIGHT): Likewise.
53880 (DISP_DOWN): Likewise.
53881 (DISP_HLINE): Likewise.
53882 (DISP_VLINE): Likewise.
53883 (DISP_UL): Likewise.
53884 (DISP_UR): Likewise.
53885 (DISP_LL): Likewise.
53886 (DISP_LR): Likewise.
53887
53888 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53889
977329f5 538902003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53891
53892 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53893 FIX. Reverse the path_list.
53894
53895 * include/pupa/normal.h: Export pupa_register_command and
53896 pupa_unregister_command.
53897
53898 * hello/hello.c (pupa_cmd_hello): New module.
53899 * conf/i386-pc.rmk: Added hello.mod.
53900
1f5ab428 539012003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53902
53903 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53904
1f5ab428 53905 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53906 (compress_kernel): New variable.
53907 (generate_image): Heavily modified to support compressing a
53908 large part of the core image.
53909
53910 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53911 leak.
53912 (pupa_util_load_image): New function.
53913
53914 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53915 (pupa_compressed_size): New variable.
53916 (codestart): Enable Gate A20 here.
53917 Decompress the compressed part of the core image.
53918 Rearrange the code to put functions and variables which are
53919 required for initialization in the non-compressed part.
53920 Include lzo1x.S.
53921
53922 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53923 here.
53924
53925 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53926
f19dbdb7 53927 * include/pupa/i386/pc/kernel.h
1f5ab428 53928 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53929 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53930 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53931 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53932 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53933
53934 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53935
53936 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53937 (Utility#rule): Likewise.
53938
53939 * configure.ac: Check if LZO is available.
53940
ce5bf700 539412003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53942
53943 * include/pupa/normal.h: New file.
53944 * include/pupa/setjmp.h: Likewise.
53945 * include/pupa/i386/setjmp.h: Likewise.
53946 * normal/cmdline.c: Likewise.
53947 * normal/command.c: Likewise.
53948 * normal/main.c: Likewise.
53949 * normal/menu.c: Likewise.
53950 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53951
ce5bf700 53952 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53953 (pupa_rescue_cmd_initrd): Likewise.
53954
53955 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53956 Likewise.
53957
53958 * kern/i386/pc/startup.S (translation_table): New variable.
53959 (translate_keycode): New function.
53960 (pupa_console_getkey): Call translate_keycode.
53961
53962 * kern/rescue.c (attempt_normal_mode): New function.
53963 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53964 it failed, print a message.
53965
53966 * kern/mm.c (pupa_real_malloc): Print more information when a
53967 free magic is broken.
53968 (pupa_free): If the first free header is not free actually, set
53969 it to P.
53970
53971 * kern/main.c (pupa_load_normal_mode): Just load the module
53972 "normal".
53973 (pupa_main): Don't print the message
53974 "Entering into rescue mode..." here.
53975
53976 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53977 Declared.
53978 (pupa_rescue_cmd_initrd): Likewise.
53979 (pupa_rescue_cmd_initrd): Likewise.
53980
53981 * include/pupa/symbol.h (FUNCTION): Specify the type.
53982 (VARIABLE): Likewise.
53983
53984 * include/pupa/err.h (pupa_err_t): Added
53985 PUPA_ERR_UNKNOWN_COMMAND.
53986
53987 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53988 (pupa_dl_get_prefix): Likewise.
53989
53990 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53991 Added _chain.mod and _linux.mod instead of chain.mod and
53992 linux.mod.
53993 (chain_mod_SOURCES): Renamed to ...
53994 (_chain_mod_SOURCES): ... this.
53995 (chain_mod_CFLAGS): Renamed to ...
53996 (_chain_mod_CFLAGS): ... this.
53997 (linux_mod_SOURCES): Renamed to ...
53998 (_linux_mod_SOURCES): ... this.
53999 (linux_mod_CFLAGS): Renamed to ...
54000 (_linux_mod_CFLAGS): ... this.
54001 (normal_mod_SOURCES): New variable.
54002 (normal_mod_CFLAGS): Likewise.
54003 (normal_mod_ASFLAGS): Likewise.
54004
540052003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54006
54007 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54008 possible.
54009
fe6b695a 54010 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54011 recursively.
54012 (pupa_dl_unref): Unrefer depending modules recursively.
54013 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54014 a module is unloaded before one depending on that module is
54015 unloaded.
54016 (pupa_dl_unload): Unload depending modules explicitly,
54017 if possible.
54018
c04da074 540192003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54020
54021 * include/pupa/i386/pc/linux.h: New file.
54022 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54023
c04da074 54024 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54025 Removed.
54026 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54027 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54028 of PUPA_CHAINLOADER_BOOT_SECTOR.
54029
54030 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54031 (pupa_linux_prot_size): New variable.
54032 (pupa_linux_tmp_addr): Likewise.
54033 (pupa_linux_real_addr): Likewise.
54034 (pupa_linux_boot_zimage): New function.
54035 (pupa_linux_boot_bzimage): Likewise.
54036
54037 * kern/i386/pc/init.c (struct mem_region): New structure.
54038 (MAX_REGIONS): New macro.
54039 (mem_regions): New variable.
54040 (num_regions): Likewise.
54041 (pupa_os_area_addr): Likewise.
54042 (pupa_os_area_size): Likewise.
54043 (pupa_lower_mem): Likewise.
54044 (pupa_upper_mem): Likewise.
54045 (add_mem_region): New function.
54046 (compact_mem_regions): Likewise.
54047 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54048 the size of the conventional memory and that of so-called upper
54049 memory (before the first memory hole).
54050 Instead of adding each found region to free memory, use
54051 add_mem_region and add them after removing overlaps.
54052 Also, add only 1/4 of the upper memory to free memory. The rest
54053 is used for loading OS images. Maybe this is ad hoc, but this
54054 makes it much easier to relocate OS images when booting.
54055
54056 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54057 (pupa_enter_rescue_mode): Don't register initrd and module.
54058
54059 * kern/mm.c: Include pupa/dl.h.
54060
54061 * kern/main.c: Include pupa/file.h and pupa/device.h.
54062
54063 * kern/loader.c (pupa_loader_load_module_func): Removed.
54064 (pupa_loader_load_module): Likewise.
54065
54066 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54067 ``.o''.
54068
54069 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54070 (pupa_linux_tmp_addr): Likewise.
54071 (pupa_linux_real_addr): Likewise.
54072 (pupa_linux_boot_zimage): Likewise.
54073 (pupa_linux_boot_bzimage): Likewise.
54074
54075 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54076 (pupa_upper_mem): Likewise.
54077 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54078 module is too dangerous.
54079
54080 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54081 (pupa_os_area_size): Likewise.
54082 (pupa_loader_set): Remove the first argument. Loader doesn't
54083 manage modules or initrd any longer.
54084 (pupa_loader_load_module): Removed.
54085
54086 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54087 (linux_mod_SOURCES): New variable.
54088 (linux_mod_CFLAGS): Likewise.
54089
a13f9237 540902003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54091
54092 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54093 the length of a blocklist correctly.
54094
54095 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54096 Use ioctl only if the OS file is a block device.
54097 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54098 not very useful for normal files.
54099
54100 * kern/main.c (pupa_set_root_dev): New function.
54101 (pupa_load_normal_mode): Likewise.
54102 (pupa_main): Call those above.
54103
54104 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54105 pupa_uint16_t.
54106
54107 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54108
a5ffe966 541092003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54110
54111 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54112 (setup): Configure the installed partition information and the
54113 dl prefix.
54114
54115 * loader/i386/pc/chainloader.c (my_mod): New variable.
54116 (pupa_chainloader_unload): New function.
54117 (pupa_rescue_cmd_chainloader): Refer itself.
54118 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54119
54120 * kern/i386/pc/startup.S (install_partition): Removed.
54121 (version_string): Likewise.
54122 (config_file): Likewise.
54123 (pupa_install_dos_part): New variable.
54124 (pupa_install_bsd_part): Likewise.
54125 (pupa_prefix): Likewise.
54126 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54127
54128 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54129 and pupa/misc.h.
54130 (make_install_device): New function.
54131 (pupa_machine_init): Set the dl prefix.
54132
54133 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54134 (buf): Renamed to ...
54135 (linebuf): ... this.
54136 (pupa_rescue_cmd_prefix): New function.
54137 (pupa_rescue_cmd_insmod): Likewise.
54138 (pupa_rescue_cmd_rmmod): Likewise.
54139 (pupa_rescue_cmd_lsmod): Likewise.
54140 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54141 rmmod and lsmod.
54142
54143 * kern/mm.c (pupa_memalign): If failed even after invalidating
54144 disk caches, unload unneeded modules and retry.
54145
54146 * kern/misc.c (pupa_memmove): New function.
54147 (pupa_memcpy): Removed.
54148 (pupa_strcpy): New function.
54149 (pupa_itoa): Made static.
54150
54151 * kern/dl.c (pupa_dl_iterate): New function.
54152 (pupa_dl_ref): Likewise.
54153 (pupa_dl_unref): Likewise.
54154 (pupa_dl_unload): Return if succeeded or not.
54155 (pupa_dl_unload_unneeded): New function.
54156 (pupa_dl_unload_all): Likewise.
54157 (pupa_dl_init): Renamed to ...
54158 (pupa_dl_set_prefix): ... this.
54159 (pupa_dl_get_prefix): New function.
54160
54161 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54162 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54163 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54164 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54165 (pupa_install_dos_part): Declared.
54166 (pupa_install_bsd_part): Likewise.
54167 (pupa_prefix): Likewise.
54168 (pupa_boot_drive): Likewise.
54169
54170 * include/pupa/types.h: Fix a typo.
54171
54172 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54173 pupa_memmove.
54174 (pupa_memmove): Declared.
54175 (pupa_strcpy): Likewise.
54176
54177 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54178 pupa_mod_init takes one argument, its own module.
54179 (pupa_dl_unload_unneeded): Declared.
54180 (pupa_dl_unload_all): Likewise.
54181 (pupa_dl_ref): Likewise.
54182 (pupa_dl_unref): Likewise.
54183 (pupa_dl_iterate): Likewise.
54184 (pupa_dl_init): Renamed to ...
54185 (pupa_dl_set_prefix): ... this.
54186 (pupa_dl_get_prefix): Declared.
54187
54188 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54189 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54190 unloaded.
54191 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54192 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54193
54194 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54195 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54196
012d7999 541972003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54198
54199 * util/i386/pc/pupa-setup.c (setup): Define the internal
54200 function find_first_partition_start at the top level, because GCC
54201 3.0.x cannot compile internal functions in deeper scopes
54202 correctly.
54203 (find_root_device): Use lstat instead of stat.
54204 Don't follow symbolic links.
54205 Fix the path-constructing code.
54206
54207 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54208 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54209 by a BLKGETSIZE ioctl first, because block devices don't fill
54210 the member st_mode of the structure stat on Linux.
54211 [__linux__] (linux_find_partition): Use a temporary buffer
54212 REAL_DEV for the working space. Copy it to DEV before returning.
54213 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54214 buffer cache consistent.
54215 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54216 strncmp. The previous value was merely wrong.
54217 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54218
54219 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54220 FAT size is 12. The previous value was merely wrong.
54221
54222 * kern/main.c (pupa_main): Don't split the starting message from
54223 newlines.
54224
54225 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54226 LF, because BIOS goes crazy about character attributes in this
54227 case.
54228
1cc73a62 542292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54230
54231 * include/i386/pc/util/biosdisk.h: New file.
54232 * util/i386/pc/biosdisk.c: Likewise.
54233 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54234
1cc73a62 54235 * Makefile.in (INCLUDE_DISTFILES): Added
54236 include/pupa/i386/pc/util/biosdisk.h.
54237 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54238 directory util/i386/pc.
54239 (install-local): Added a rule for sbin_UTILITIES.
54240 (uninstall): Likewise.
54241
54242 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54243
54244 * util/misc.c (xrealloc): New function.
54245 (pupa_malloc): Likewise.
54246 (pupa_free): Likewise.
54247 (pupa_realloc): Likewise.
54248 (pupa_stop): Likewise.
54249 (pupa_putchar): Likewise.
54250
54251 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54252
54253 * include/pupa/util/misc.h (xrealloc): Declared.
54254
54255 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54256 macro.
54257 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54258 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54259
54260 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54261 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54262
54263 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54264 way should be implemented.
54265 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54266
54267 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54268 the size of NAME for safety.
54269 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54270 0x88.
54271
54272 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54273 (pupa_setup_SOURCES): Likewise.
54274
54275 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54276
08b70fe8 542772002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54278
54279 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54280 bunch of pushl's from pusha, because this destroys the return
54281 value.
54282
62ddcc8f 542832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54284
54285 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54286 This means that any missing prototypes could be fatal. Also, you
54287 must take care when writing assembly code. See the comments at
54288 the beginning of startup.S, for more details.
f19dbdb7 54289
62ddcc8f 54290 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54291 compilation mechanism.
54292 (pupa_chainloader_real_boot): Likewise.
54293 (pupa_biosdisk_rw_int13_extensions): Likewise.
54294 (pupa_biosdisk_rw_standard): Likewise.
54295 (pupa_biosdisk_check_int13_extensions): Likewise.
54296 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54297 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54298 (pupa_get_memsize): Likewise.
54299 (pupa_get_mmap_entry): Likewise.
54300 (pupa_console_putchar): Likewise.
54301 (pupa_console_setcursor): Likewise.
54302 (pupa_getrtsecs): Use pushl instead of push.
54303
54304 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54305 memory instead of the stack for a mmap entry, because some
54306 BIOSes may ignore the maximum size and overflow.
54307
54308 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54309
54310 * genmk.rb (PModule#rule): Compile automatically generated
54311 sources with module-specific CFLAGS as well as other sources.
54312
9962ed99 543132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54314
54315 * configure.ac: Check ld.
54316 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54317 respectively, before checking endianness and sizes.
54318
54319 * Makefile.in (LD): New variable.
f19dbdb7 54320
abdfc3c5 543212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54322
54323 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54324
6a161fa9 543252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54326
54327 * Changelog: New file.
54328